Скрипт отправки смс.

Сегодня речь пойдет о том как можно отправить смс с сайта, забегая на перед скажу что также есть возможность отправить смс бесплатно как на свой номер также и на номера ваших друзей и родных. Отправка смс с сайта может потребоваться например для подтверждения заказа товара в интернет магазине или же посетители сайта могут связаться с вами по смс сообщению, в общем применений отправки смс с сайта довольно много. Перед тем как я начну приводить пример как отправить смс сразу уточню что мы будем использовать сервис отправки смс sms.ru, после регистрации на sms.ru вы получите уникальный ID идентификатор при помощи которого мы и будем отправлять смс сообщения. Итак как я уже говорил после регистрации на sms.ru в вкладке программистам вы получаете уникальный идентификатор который нам с вами понадобится. Перед тем как мы начнем сооружать php скрипт отправки смс зарегистрируйте и получите уникальные api_id всех тех друзей и родственников которым мы будем отправлять смс. Вся эта возня с регистрациями нужна для того чтоб отправка смс была бесплатна так как каждый зарегистрированный может отправлять смс на свой номер бесплатно. Теперь приступим к реализации написания скрипта отправки смс с сайта, в первую очередь нужно соорудить страницу с самой формой в которую будим писать смс, в своей форме я использовал 3 поля это текстовое поле куда вводим текст смс, выпадающий список с получателями и еще одно поле для пароля дабы защитить форму от случайного использования посторонними. Код формы выглядит вот так:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Отправка СМС</title>
<style type="text/css">
<!--
#ter{
margin-top:50px;
}
#form{
   width:500px;
   margin:0 auto;
}

#text{
   width:500px;
   height:200px;
}
#key, #neim{
   width:248px;
   font-size:20px;
   color:#999999;
   height:30px;
}



.css3button {
	    background: -moz-linear-gradient(center top , #5F9E26, #4E841C) repeat scroll 0 0 transparent;
    border: 1px solid #415E30;
    border-radius: 3px 3px 3px 3px;
    box-shadow: 0 1px 0 0 rgba(255, 255, 255, 0.7) inset;
    color: #FFFFFF;
    cursor: pointer;
    display: block;
    font-size: 18px;
    line-height: 1;
    padding: 10px 54px;
    text-align: center;
    text-decoration: none;
}
.css3button:hover {
    background: -moz-linear-gradient(center top , #F9F9F9, #DDDDDD) repeat scroll 0 0 transparent;
    border-color: #646464;
    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1);
    color: #363636;
}

.css3button:hover {
    background: -moz-linear-gradient(center top , #6CB52B, #538A1C) repeat scroll 0 0 transparent;
    border-color: #5F9E26;
    box-shadow: 0 1px 0 0 rgba(255, 255, 255, 0.7) inset;
    color: #FFFFFF;
}
.css3button:focus {
    border-color: #5F9E26 !important;
    box-shadow: 0 0 1px 1px #3399FF;
    outline: medium none;
}
-->
</style>

<div id="ter">
<div id="form">
<form action="cmc.php" method="post">
<textarea name="text" id="text" class="for2" type="text">Текст СМС ?</textarea><br><br>
<table>
  <tbody><tr>
    <th scope="col">	<select name="neim" id="neim">
          <option>Выбери получателя!!!</option>
          <option>Наташа</option>
          <option>Я</option>
          <option>Сява</option>
        </select></th>
    <th scope="col"><input name="key" id="key" value="Без пароля не отправлю!" type="text"></th>
  </tr>
</tbody></table><br><br>
<center>	
<input class="css3button" id="submit2" value="Отправить СМС" type="submit"></center>
</form>


</div></div>
В форме в качестве обработчика мы указали action="cmc.php", теперь давайте посмотрим код обработчика.
   $text = $_POST['text'];
   $key = $_POST['keu'];
$id = $_POST['neim'];

$text = htmlspecialchars($text);
$key = htmlspecialchars($key);
$id = htmlspecialchars($id);

    if(3545445454554 == $key){ 
                           switch ($id) 
						   {
						   
						   case "Выбери получателя!!!":
                              echo '<center style="font-size:25px; color:#669900;"><img src="2.jpg"><br>Каму отправляем !!! яж не телепат :)</center>';
						   break;
						   
						   case "Сява":
                          //Отпраляем смс Сяве
                             $ch = curl_init("http://sms.ru/sms/send");
                             curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
                             curl_setopt($ch, CURLOPT_TIMEOUT, 30);
                             curl_setopt($ch, CURLOPT_POSTFIELDS, array(

                          "api_id"		=>	"a5c6e5d4-1fe3-dcb4-2d47-345454345efc4",
                          "to"			=>	"380923559208",
                          "text"		=>	"$text"
                                            ));
                              $body = curl_exec($ch);
                              curl_close($ch);

                              echo '<center style="font-size:25px; color:#669900;"><img src="es.jpg"><br>Отправил</center>';
						   break;
						   
						   
						   case "Я":
                          //Отпраляем смс Bposter
                             $ch = curl_init("http://sms.ru/sms/send");
                             curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
                             curl_setopt($ch, CURLOPT_TIMEOUT, 30);
                             curl_setopt($ch, CURLOPT_POSTFIELDS, array(

                          "api_id"		=>	"fdf7b7e9-e88e-86c4-ddef-445455474488",
                          "to"			=>	"3809745585",
                          "text"		=>	"$text"
                                            ));
                              $body = curl_exec($ch);
                              curl_close($ch);

                              echo '<center style="font-size:25px; color:#669900;"><img src="es.jpg"><br>Отправил</center>';
						   break;
						   
						   case "Наташа":
                          //Отпраляем смс Bposter
                             $ch = curl_init("http://sms.ru/sms/send");
                             curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
                             curl_setopt($ch, CURLOPT_TIMEOUT, 30);
                             curl_setopt($ch, CURLOPT_POSTFIELDS, array(

                          "api_id"		=>	"76e6f323-b052-f564-d514-45455744490aa",
                          "to"			=>	"38045540789",
                          "text"		=>	"$text"
                                            ));
                              $body = curl_exec($ch);
                              curl_close($ch);

                              echo '<center style="font-size:25px; color:#669900;"><img src="es.jpg"><br>Отправил</center>';
						   break;
						  } 
						   
						   
                       }
					   else{
					   echo '<center style="font-size:25px; color:#669900;"><img src="2.jpg"><br>Не верный код доступа!!!</center>';
					        }

Как видите код довольно простой с начало конструкцией if else мы проверяем пароль а потом конструкцией switch case выбираем тот кейс для исполнения который соответствует id, в выбранном кейсе используем функцию curl где указываем уникальный api_id получателя а также его номер телефона.

Также как я и говорил ранее можно использовать данный сервис например для подтверждения покупки в интернет магазине примерно по такой схеме покупатель набрал товаров в корзину и нажал кнопку купить и ему предлагается заполнить форму то есть адрес доставки, мобильный телефон для связи, и тд.. после нажатии кнопки купить генерируется произвольный цифровой код который отправляется покупателю на указанный им при заполнении формы мобильный телефон, далее код с смс сверяется с с генерированным обработчиком и если коды совпали отправляем емейл а также смс менеджеру о поступлении заказа

Конечно же для интернет магазина за смс надо будет платить символическую сумму а также разработать систему защиты от спама, на этом все и до новых встреч.

Демо пример работы скрипта.

Появилось не много времени и я написал скрипт отправки смс на любые номера (за деньги), скрипт не только отправляет смс а также проверяет статус сообщения + реализована возможность проверки баланса и лимита сообщения.