Használd a weboldalad SMS küldésére

Az SMS funkciót hozzáadhatod a weboldaladhoz. Ez a módszer bemutatja, hogyan használjunk PHP szkriptet az Ozeki SMS Gateway HTTP API-jával való kommunikációhoz. Először engedélyezned kell a PHP szkript támogatást a webszervereden.

Töltsd le a PHP SMS küldési példát: sendsms.zip

1. videó - Hogyan használd a weboldalad SMS küldésére (Videó oktatóanyag)

A bemutatott példa (php sms küldő szkript) megmutatja, hogyan működhet az üzenetküldés a weboldaladról a 'Küldés' gombra kattintva. Az ötlet egy HTML űrlapot használ. A felhasználó kitöltheti ezt az HTML űrlapot, majd megnyomhatja a 'Küldés' gombot. A PHP szkript feldolgozza a 'Címzett' és 'Üzenet' nevű szövegmezőkben lévő két változót. Emellett elküldi a generált HTTP kérés URL-t az Ozeki SMS Gateway HTTP API-jának (1. ábra). A webszervered és az Ozeki SMS Gateway két külön gépen is lehet, vagy akár ugyanazon a gépen is.

hogyan küldhetsz sms-t a weboldaladról
1. ábra - Hogyan küldhetsz SMS-t a weboldaladról

Először telepítened kell az Ozeki SMS Gateway-t és ellenőrizned, hogy képes vagy-e manuálisan SMS üzeneteket küldeni belőle. Ezután kérlek töltsd le a HTML+PHP szkriptet az SMS küldő űrlap létrehozásához és használatához.

Az Ozeki SMS Gateway letölthető a
letöltési oldal megnyitásával:
Töltsd le az Ozeki SMS Gateway-t!

Hozd létre az SMS küldéshez szükséges HTML űrlapot

Kérlek mentsd el a sendsms.html fájlt a megoldás használatához. A webszervered 'WWW' könyvtárába kell mentened. Mit tartalmaz? Tartalmazza az HTML űrlapot egy címzett és üzenet szövegmezővel, valamint egy 'Küldés' gombbal (2. ábra).


<html>
 <body>
   <h1>Az SMS űrlapom</h1>
   <form method=post action='sendsms.php'>
   <table border=0>
   <tr>
     <td>Címzett</td>
     <td><input type='text' name='recipient'></td>
   </tr>
   <tr>
     <td>Üzenet</td>
     <td><textarea rows=4 cols=40 name='message'></textarea></td>
   </tr>
   <tr>
     <td> </td>
     <td><input type=submit name=submit value=Küldés></td>
   </tr>
   </table>
   </form>
 </body>
</html>
2. ábra - A *\WWW\sendsms.html forráskódja

Ha sikeresen elmentetted ezt a fájlt a webszervered könyvtárába, megnyithatod bármely webböngészőben (3. ábra). Bármilyen telefonszámot hozzáadhatsz a címzett mezőhöz (például +4407776134588) és beírhatod az üzenetedet a következő szövegmezőbe.

hogyan kell kinéznie az sms űrlapnak
3. ábra - Hogyan kell kinéznie az SMS űrlapnak

Az űrlap címke action attribútuma a sendsms.php-ra mutat. Ez azt jelenti, hogy az űrlapon megadott adatokat továbbítják a sendsms.php-nak. Az adatokat elküldik a HTTP API-nak, ha a 'Küldés' gombot megnyomják.

Hogyan készítsd elő a PHP SMS szkriptedet

A 'sendsms.php' a cél a címzett és üzenet mezők számára. Ez a PHP szkript képes URL-t építeni az Ozeki SMS Gateway HTTP API-jához. Meg fogja hívni az URL-t, ha a 'Küldés' gombot megnyomják. Ne felejtsd el beállítani a $ozeki_user, $ozeki_password és $ozeki_url változókat. Abban az esetben, ha az Ozeki SMS Gateway és a webszervered ugyanazon a gépen fut, a $ozeki_url változót változatlanul hagyhatod. Ellenkező esetben meg kell változtatnod az IP-t az Ozeki SMS Gateway gépe IP címére. Az Ozeki SMS Gateway legújabb verziója a 9505-ös portot használja, míg a 9501 a régebbi verzióhoz tartozik. (4. ábra)


<?php

########################################################
# Bejelentkezési adatok az SMS Gateway-hez
########################################################

$ozeki_user = "admin";
$ozeki_password = "abc123";
$ozeki_url = "http://127.0.0.1:9505/api?";

########################################################
# Funkciók az SMS üzenet küldéséhez
########################################################
function httpRequest($url){
    $pattern = "/http...([0-9a-zA-Z-.]*).([0-9]*).(.*)/";
    preg_match($pattern,$url,$args);
    $in = "";
    $fp = fsockopen("$args[1]", $args[2], $errno, $errstr, 30);
    if (!$fp) {
       return("$errstr ($errno)");
    } else {
        $out = "GET /$args[3] HTTP/1.1\r\n";
        $out .= "Host: $args[1]:$args[2]\r\n";
        $out .= "User-agent: Ozeki PHP kliens\r\n";
        $out .= "Accept: */*\r\n";
        $out .= "Connection: Close\r\n\r\n";

        fwrite($fp, $out);
        while (!feof($fp)) {
           $in.=fgets($fp, 128);
        }
    }
    fclose($fp);
    return($in);
}



function ozekiSend($phone, $msg, $debug=false){
      global $ozeki_user,$ozeki_password,$ozeki_url;
	  
      $url= 'action=sendmessage';
      $url.= '&username='.$ozeki_user;
      $url.= '&password='.$ozeki_password;      
      $url.= '&messagetype=SMS:TEXT';
      $url.= '&recipient='.urlencode($phone);
      $url.= '&messagedata='.urlencode($msg);

      $urltouse =  $ozeki_url.$url;
      if ($debug) { echo "Kérés: <br>$urltouse<br><br>"; }

      //Nyisd meg az URL-t az üzenet küldéséhez
      $response = httpRequest($urltouse);
      if ($debug) {
           echo "Válasz: <br><pre>".
           str_replace(array("<",">"),array("&lt;","&gt;"),$response).
           "</pre><br>"; }

      return($response);
}

########################################################
# Adatok lekérése a sendsms.html-ből
########################################################

$phonenum = $_POST['recipient'];
$message = $_POST['message'];
$debug = true;

ozekiSend($phonenum,$message,$debug);

?>
4. ábra - A *\WWW\sendsms.php szkript forráskódja

Miután mind a sendsms.html, mind a sendsms.php másolva és módosítva van a *\WWW\ könyvtárban, egy SMS üzenet elküldhető az átjárón keresztül. Miután elfogadta a kézbesítést, az SMS Gateway visszaadja az üzenet hivatkozási számát a válaszban (5. ábra). Az üzeneteket az Ozeki SMS Gateway a hivatkozási számuk alapján követi nyomon.

válasz xml az ozeki sms gateway-től
5. ábra - Válasz XML az Ozeki SMS Gateway-től

Összefoglalás

Ebben a cikkben láthatod, hogyan adhatsz hozzá SMS funkciót a weboldaladhoz. A megadott példa PHP SMS szkriptet használja az Ozeki SMS Gateway eléréséhez. Az SMS Gateway használata lehetővé teszi az SMS üzenetek útválasztását különböző végpontok között, és lehetőséget ad az üzeneteid szabályozására, ahogyan a rendszeren keresztül haladnak, így könnyen elérheted a szervezeted bármely tagját.

Ha megbízható és sokoldalú SMS kommunikációs rendszert szeretnél építeni, több információt találsz róla az Ozeki weboldalán. Nyugodtan nézd meg a cikket az SMS küldésről weboldalról SMS küldés C#-ban.

Az első nagy teljesítményű SMS átjáró rendszered létrehozásához most a legjobb idő letölteni az Ozeki SMS Gateway-t!

More information