| ExamplesForm for sending SMS messagesTo send SMS messages from your site, you can use the following example of an HTML form and the corresponding
A PHP script that processes the data of this form.
The source code of the form:
<html> <form method="post" action="send.php">
Телефон<br/><input name="phone" value=""><br/><br/>
Сообщение<br/><textarea name="message" rows="4" cols="40"></textarea><br/><br/>
Оправитель<br/><input name="sender" value=""><br/><br/>
Отложить до<br/><input name="time" value=""> (дд.мм.гг чч:мм)<br/><br/>
<input type="checkbox" name="translit">Транслит <input type="checkbox" name="flash"> Flash SMS<br/><br/>
<input type="submit" name="send" value="Отправить"> </form> </html>
Файл send.php, обрабатывающий данные формы и использующий библиотеку smsc_api.php:
<? if ($_POST["send"]) { include_once "smsc_api.php";
$r = send_sms($_POST["phone"], $_POST["message"], $_POST["translit"], $_POST["time"], 0, $_POST["flash"], $_POST["sender"]);
// $r = array(<id>, <количество sms>, <стоимость>, <баланс>) или array(<id>, -<код ошибки>)
if ($r[1] > 0) echo "Сообщение отправлено"; else echo "Произошла ошибка № ", -$r[1]; } ?>
Phone number confirmation formTo confirm the mobile phone number, for example, when activating a new account on the site
, you can use the following example of an HTML form and a PHP script that processes the form data. To avoid sending multiple requests
, you can additionally place an anti-spam check (captcha) on the form).
The source code of the form:
<html> <form method="post" action="act.php">
<table> <tr><td>Номер телефона<td><input name="phone"> <tr><td><br/>
<tr><td>Код подтверждения<td><input name="code" size="6"> <input type="submit" name="sendsms" value="Выслать код"> <tr><td><br/>
<tr><td><input type="submit" name="ok" value="Подтвердить"> </table>
</form> </html>
Файл act.php, обрабатывающий данные формы и использующий библиотеку smsc_api.php:
<? include_once "smsc_api.php";
if (isset($_POST["sendsms"])) { $r = send_sms($_POST["phone"], "Ваш код подтверждения: ".ok_code($_POST["phone"]));
if ($r[1] > 0) echo "Код подтверждения отправлен на номер ".$_POST["phone"]; }
if (isset($_POST["ok"])) { $oc = ok_code($_POST["phone"]);
if ($oc == $_POST["code"]) echo "Номер активирован"; else echo "Неверный код подтверждения"; }
function ok_code($s) { return hexdec(substr(md5($s."<секретная строка>"), 7, 5)); } ?>
The source code of the form:
<html> <form method="post" action="act.php" target="ifr">
<table> <tr><td>Номер телефона<td><input name="phone"> <tr><td><br/>
<tr><td>Код подтверждения<td><input name="code" size="6"> <input type="submit" name="sendsms" value="Выслать код"> <tr><td><br/>
<tr><td><input type="submit" name="ok" value="Подтвердить"><td colspan="2" id="_out"> </table>
</form> <iframe name="ifr" frameborder="0" height="0" width="0" style="visibility:hidden"></iframe> </html>
Файл act.php, обрабатывающий данные формы и использующий библиотеку smsc_api.php:
<? echo "<script>parent.document.getElementById('_out').innerHTML = '";
include_once "smsc_api.php";
if (isset($_POST["sendsms"])) { $r = send_sms($_POST["phone"], ok_code($_POST["phone"]));
if ($r[1] > 0) echo "Код подтверждения отправлен на номер ".$_POST["phone"]; }
if (isset($_POST["ok"])) { $oc = ok_code($_POST["phone"]);
if ($oc == $_POST["code"]) echo "Номер активирован"; else echo "Неверный код подтверждения"; }
echo "'</script>";
function ok_code($s) { return hexdec(substr(md5($s."<секретная строка>"), 7, 5)); } ?>
To avoid multiple confirmation code requests from a single IP address
and for one phone number, we recommend that you make the appropriate control on
your server. To limit the number of requests per phone number, you can
set the appropriate limit in "User Settings".
Also, in the confirmation form, it is desirable to add a picture with a code (captcha)
to protect against software automatic spam mailings.
Form for confirming the email addressДля подтверждения адреса электронной почты, например, при активации новой учетной записи на сайте
можно использовать следующий пример HTML-формы и PHP-скрипта, обрабатывающего данные формы. Во избежание отправки множественных запросов на форме
можно дополнительно разместить антиспам проверку (captcha).
The source code of the form:
<html> <form method="post" action="act.php">
<table> <tr><td>E-mail адрес<td><input name="phone"> <tr><td><br/>
<tr><td>Код подтверждения<td><input name="code" size="6"> <input type="submit" name="sendsms" value="Выслать код"> <tr><td><br/>
<tr><td><input type="submit" name="ok" value="Подтвердить"> </table>
</form> </html>
Файл act.php, обрабатывающий данные формы и использующий библиотеку smsc_api.php:
<? include_once "smsc_api.php";
if (isset($_POST["sendsms"])) { $r = send_sms($_POST["phone"], "Ваш код подтверждения: ".ok_code($_POST["phone"]), 0, 0, 0, 8, "www@mysite.com", "subj=Confirmation");
if ($r[1] > 0) echo "Код подтверждения отправлен на e-mail адрес ".$_POST["phone"]; }
if (isset($_POST["ok"])) { $oc = ok_code($_POST["phone"]);
if ($oc == $_POST["code"]) echo "E-mail адрес активирован"; else echo "Неверный код подтверждения"; }
function ok_code($s) { return hexdec(substr(md5($s."<секретная строка>"), 7, 5)); } ?>
The source code of the form:
<html> <form method="post" action="act.php" target="ifr">
<table> <tr><td>E-mail адрес<td><input name="phone"> <tr><td><br/>
<tr><td>Код подтверждения<td><input name="code" size="6"> <input type="submit" name="sendsms" value="Выслать код"> <tr><td><br/>
<tr><td><input type="submit" name="ok" value="Подтвердить"><td colspan="2" id="_out"> </table>
</form> <iframe name="ifr" frameborder="0" height="0" width="0" style="visibility:hidden"></iframe> </html>
Файл act.php, обрабатывающий данные формы и использующий библиотеку smsc_api.php:
<? echo "<script>parent.document.getElementById('_out').innerHTML = '";
include_once "smsc_api.php";
if (isset($_POST["sendsms"])) { $r = send_sms($_POST["phone"], ok_code($_POST["phone"]), 0, 0, 0, 8, "www@mysite.com", "subj=Confirmation");
if ($r[1] > 0) echo "Код подтверждения отправлен на e-mail адрес ".$_POST["phone"]; }
if (isset($_POST["ok"])) { $oc = ok_code($_POST["phone"]);
if ($oc == $_POST["code"]) echo "E-mail адрес активирован"; else echo "Неверный код подтверждения"; }
echo "'</script>";
function ok_code($s) { return hexdec(substr(md5($s."<секретная строка>"), 7, 5)); } ?>
Для избежания множественных запросов кода подтверждения с одного IP-адреса
и на один адрес электронной почты рекомендуем сделать соответствующий контроль на
своем сервере. Также в форму подтверждения желательно добавить картинку с кодом (captcha)
для защиты от программных автоматических спам-рассылок.
SOAP Protocol
<? // Отправка сообщения
$client = new SoapClient ("http://smscentre.com/sys/soap.php?wsdl"); $ret = $client->send_sms(array("login"=>"alex", "psw"=>"123", "phones"=>"79999999999", "mes"=>"Hello world!", "id"=>"", "sender"=>"ivan", "time"=>0));
if ($ret->sendresult->error) echo "Ошибка №".$ret->sendresult->error; else { echo $ret->sendresult->id, "\n"; echo $ret->sendresult->balance, "\n"; echo $ret->sendresult->cost, "\n"; echo $ret->sendresult->cnt, "\n"; }
//Flash сообщение от отправителя "ivan", которое должно быть доставлено абоненту 01.01.2012 г. в 00:00:
$ret = $client->send_sms2(array("login"=>"alex", "psw"=>"123", "phones"=>"79999999999", "mes"=>"Hello world!", "id"=>"", "sender"=>"ivan", "time"=>"0101120000", "query"=>"flash=1"));
if ($ret->sendresult->error) echo "Ошибка №".$ret->sendresult->error; else { echo $ret->sendresult->id, "\n"; echo $ret->sendresult->balance, "\n"; echo $ret->sendresult->cost, "\n"; echo $ret->sendresult->cnt, "\n"; }
//Несколько сообщений разным абонентам:
$ret = $client->send_sms2(array("login"=>"alex", "psw"=>"123", "phones"=>"", "mes"=>"", "id"=>"", "sender"=>"", "time"=>0, "query"=>"list=79999999999:message1%0A79999999998:message2"));
if ($ret->sendresult->error) echo "Ошибка №".$ret->sendresult->error; else { echo $ret->sendresult->id, "\n"; echo $ret->sendresult->balance, "\n"; echo $ret->sendresult->cost, "\n"; echo $ret->sendresult->cnt, "\n"; }
// Получение стоимости
$ret = $client->get_sms_cost(array("login"=>"alex", "psw"=>"123", "phones"=>"79999999999", "mes"=>"Hello world!"));
if ($ret->costresult->error) echo "Ошибка №".$ret->costresult->error; else { echo $ret->sendresult->cost, "\n"; echo $ret->sendresult->cnt, "\n"; }
// Проверка статуса
$ret = $client->get_status(array("login"=>"alex", "psw"=>"123", "phone"=>"79999999999", "id"=>"999", "all"=>"0")); echo "Ошибка №".$ret->statusresult->error; else { echo $ret->statusresult->status, "\n"; echo $ret->statusresult->last_date, "\n"; echo $ret->statusresult->err, "\n"; }
// Расширенный статус
$ret = $client->get_status(array("login"=>"alex", "psw"=>"123", "phone"=>"79999999999", "id"=>"999", "all"=>"2")); echo "Ошибка №".$ret->statusresult->error; else { echo $ret->statusresult->status, "\n"; echo $ret->statusresult->last_date, "\n"; echo $ret->statusresult->err, "\n"; echo $ret->statusresult->last_timestamp, "\n"; echo $ret->statusresult->send_date, "\n"; echo $ret->statusresult->send_timestamp, "\n"; echo $ret->statusresult->phone, "\n"; echo $ret->statusresult->cost, "\n"; echo $ret->statusresult->sender_id, "\n"; echo $ret->statusresult->status_name, "\n"; echo $ret->statusresult->message, "\n"; echo $ret->statusresult->operator, "\n"; echo $ret->statusresult->region, "\n"; }
// Проверка баланса
$ret = $client->get_status(array("login"=>"alex", "psw"=>"123"));
if ($ret->balanceresult->balance) echo "Ошибка №".$ret->sendresult->error; else echo $ret->balanceresult->balance, "\n";
?>
|