![]() |
Форма отправки SMS сообщений
Все привет!
Нашел форму для отправки сообщений, написаную на PHP. Однако все бы хорошо, но в этой форме отсутствует очень удобная функция, а именно перекодировка кирилицы в латиницу. К примеру пользователь пишет SMS сообщение на кирилицы, но мобильный кирилицу не поддерживает, пользователь зная об этом ставит галочку в форме флажок, после этого нажав на кнопку отправить, сообщение автоматически должно перекодироваться в латиницу. Так вот, я создал файл ( правда незнаю в каком расширении этот файл должен быть) с таким содержанием <? $tr = array( "а" => "a", "б" => "b", "в" => "v", "г" => "g", "д" => "d", "е" => "e", ); $text = ""; foreach($tr as $a => $b) $text = str_replace($a, $b, $text); ?> Но я незнаю как подключить этот файл к самой форме отправки сообщения. Вот ее код <? /***************************************************************** * * *Ukraine GSM SMS Sender v 2.0 Created by Alexsandr Genezi * * * *****************************************************************/ header("Pragma: no-cache"); if ($operator!=""){ switch($operator){ case 'KSA': $prefix="38067"; $suffix="@2sms.kyivstar.net"; break; case 'KSC': $prefix="38067"; $suffix="@sms.kyivstar.net"; break; case 'DJU': $prefix="38097"; $suffix="@2sms.kyivstar.net"; break; case 'UMC': $prefix="38050"; $suffix="@umc.com.ua"; break; case 'GTO': $prefix="38048"; $suffix="@gt.com.ua"; break; case 'GTK': $prefix="38044"; $suffix="@gt.com.ua"; break; } $to=$prefix.$cellular.$suffix; $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/plain\r\n"; mail($to, '', $message); print "<center> <font face='Arial' size='2'>Ваше сообщение отправленно по номеру $to."; }; echo"<html><head><title>Ukraine GSM SMS Sender v 2.0 Created by Alexsandr Genezi </title><meta http-equiv='Content-Type' content='text/html; charset=windows-1251'><meta http-equiv='pragma: nocache'><script> var code = new Array(5); code[0]='+380-67'; code[1]='+380-67'; code[2]='+380-97'; code[3]='+380-50'; code[4]='+380-48'; code[5]='+380-44'; var signup = ''; var maxleng = (150 - signup.length); var fulltext=''; function chan(ndx) { document.frmMain.oper.value=code[ndx]; } function checkSMS(){ txt = document.frmMain.message.value; txtleng = txt.length; if (txtleng < maxleng){ document.frmMain.sleft.value = (maxleng - txtleng); document.frmMain.message.focus(); if (txt=='') document.frmMain.sleft.value = maxleng; if(fulltext) { fulltext = '' } }else{ if(!fulltext) fulltext = txt.substring(0,maxleng); document.frmMain.message.value = fulltext; document.frmMain.sleft.value = 0; } } function sendSMS(){ if (document.frmMain.cellular.value.length!=7){ alert('Ошибка отправки!\\r\\nВведите номер получателя.!'); }else{ if (document.frmMain.message.value.length==0){ alert('Ошибка отправки!\\r\\nЗаполните текст сообщения!'); }else{ document.frmMain.message.value = document.frmMain.message.value + signup; document.frmMain.submit(); } }; }; function initPage(){ document.frmMain.oper.disabled=true; chan(0); checkSMS(); } </script> <style> body { scrollbar-base-color: #eeeeee; scrollbar-arrow-color: #c6c6c6; } .flat { border: 2px #ffffff solid; text-align: right; } .hill { border: 1px #DBDBDB ridge; } </style> </head> <body bgcolor='#FFFFFF' text='#000000' onload='initPage();'> <form name='frmMain' method='post' action='$PHP_SELF'> <table width='480' border='0' cellspacing='0' cellpadding='2' bordercolor='#DBDBDB' align='center'> <tr> <td align='right' colspan='3' bgcolor='#F4F4F4'> <p align='center'><b><font size='2' face='Arial' color='#000099'>Ukraine GSM SMS Sender v 2.0</font></b> </td> </tr> <tr> <td align='right' bgcolor='#F4F4F4'> <font face='Arial' size='2'>Оператор : </font> </td> <td colspan='2' bgcolor='#F4F4F4'> <select name='operator' size='1' onchange='chan(this.selectedIndex);'> <option value='KSA'>КиевСтар Ace&Base</option> <option value='KSC'>КиевСтар контракт</option> <option value='DJU'>Абонентам Djuice</option> <option value='UMC'>UMC</option> <option value='GTO'>Golden Telecom Odessa</option> <option value='GTK'>Golden Telecom Kyiv</option> </select> <input class='flat' type='text' name='oper' size='7' maxlength='7'><input class='hill' type='text' name='cellular' maxlength='7' size='7'> </td> </tr> <tr> <td align='right' valign='top' bgcolor='#F4F4F4'> <font face='Arial' size='2'>Сообщение :</font> </td> <td colspan='2' bgcolor='#F4F4F4'> <textarea name='message' cols='40' onkeydown='checkSMS();' rows='4' wrap='VIRTUAL'></textarea> <br> <input type='text' name='sleft' size='3' maxlength='3' disabled='true' border='0 px white'> <font face='Arial' size='2'>осталось символов</font></td> </tr> <tr> <td align='left' valign='top' bgcolor='#F4F4F4'> </td> <td valign='top' align='left' bgcolor='#F4F4F4'> <input type='button' name='sender' value='Отправиь SMS' style='font-family: Arial; font-size: 10px; border-style: solid; border-width: 1' onclick='sendSMS();'> </td> <td valign='top' align='center' bgcolor='#F4F4F4'> <input type='button' name='reseter' style='font-family: Arial; font-size: 10px; border-style: solid; border-width: 1' value='Очистить'> </td> </tr> </table> </form> <div style='position: absolute; width: 92; height: 32; top: 10; left: 10;'></div> </body> </html>"; ?> |
PHP код:
|
Спасибо большое! все работает.
Но есть еще одна пологаю серьезная проблема. После того как отправил СМС сообщение, на экране появляется уведомление что сообщение отправлено на такой то номер. А проблема в том что если нажать обновить страницу, снова отправиться это сообщение :( Как это исправить? |
PHP код:
|
Спасибо!
Тоесть информация о том что сообщение отправлено остается? а данные пропадают. Еще такой вопрос пытаюсь настроить отправку сообщение так что бы отправлялся с определеного почтового ящика. прописал вот такой код mail($to, '', $message, "From: admin@$domen.ru", "Reply-To: admin@$domen.ru\r\n"); Но вот что то результат пока отрицательный :( |
уже 2 мессаги отправил на юмс, и ниодно не дошло, прошло уже полдня, скрипт глючит или в другом что-то дело?
кстати можно ли включить тут отправку на джинс? |
Это не скрипт глючит, это ЮМС считает эти сообщения спамом :(
для этого и надо сделать что бы в отправке сообщений указывалась почта, тема и куда ответить в случае ошибки :( |
Нужно указать:
PHP код:
|
А для Российских операторов как написать.
|
Для Российских операторов все так же само, только в
вот в этих строках надо указать сервер принимающий и расылающий СМС case 'MTC': $prefix="7902"; $suffix="@sms.gsm.udmnet.ru"; break; этот шлюз для МТС в Удмуртии (Ижевск)::7902 Еще такой вопрос, а как сделать так что бы при отправке сообщения указывался АЙПИ адрес отправителя? |
За IP-адрес отвечает переменная $HTTP_ENV_VARS['REMOTE_ADDR']
|
Цитата:
причина вопроса про АЙПИ адрес возникла из за того что приходит ошибка This message was created automatically by mail delivery software. A message that you sent could not be delivered to one or more of its recipients. This is a permanent error. The following address(es) failed: +номер_телефона@sms.jeans.com.ua SMTP error from remote mailer after RCPT TO:<+номер_телефона@sms.jeans.com.ua>: host n5.jeans.com.ua [80.255.64.95]: 554 Service unavailable; Client host [81.177.16.60] blocked using sbl.spamhaus.org; http://www.spamhaus.org/SBL/sbl.lasso?query=SBL31294 |
Эта ошибка означает, что IP-адрес сервера (81.177.16.60) блокируется сервисом spamhaus.org, IP нельзя изменить... либо я не знаю такого способа )
|
нда, спасибо, жаль, :confused:
|
Подскажите, как правильно встроить этот скрипт в PHP-Fusion ?
После отправки сообщения выдает : "Невозможно получить содержание страницы." и смс не приходит. Заранее благодарю. |
Интересует какие данные в case ввести для Питерских: ТЕЛЕ2 БиЛАйн Мегафон МТС. Мож кто знает?
|
А есть, что ни будь новенькое из сриптов на PHP?
Спасибо... |
| Часовой пояс GMT +4, время: 22:34. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.