|
SMS brßna
V tomto ukßzkovΘm skriptu naleznete nßvod jak si v PHP snadno vytvo°it vlastnφ webovou SMS brßnu,
odkud budou moci nßvÜt∞vnφci vaÜich strßnek posφlat SMS zprßvy na mobilnφ telefony.
Pro b∞h tohoto skriptu je zapot°ebφ, aby server na n∞m₧ spouÜtφte PHP skripty podporoval funkci mail.
Bohu₧el tuto funkci v∞tÜinou nepodporujφ webhostingovΘ freeservery
(www prostor zdarma), proto₧e ji lze snadno zneu₧φt
hromadnΘmu rozesφlßnφ zprßv (tzv. Spam). JeÜt∞ tu ale n∞jakΘ freeservery s podporou tΘto funkce stßle jsou.
Tak₧e je vyu₧φvejme v povolen²ch mezφch, a¥ si to nezkazφme a nemusφme n∞komu zbyteΦn∞ platit.
Pozn.:
Tento zp∙sob je dle mojich zkuÜenostφ naprosto bezproblΘmov² u Paegas Twistu. Funguje ale i
pro ostatnφ telefony operßtor∙ Paegas a Eurotel. ( Ikdy₧ i vyjφmky se najdou - ale jeliko₧ do
mobil∙ moc ned∞lam, tak mi m∙₧ete klidn∞ poradit - pokud jste chyt°ejÜφ. Nebo pokud by z vßs n∞kdo
v∞d∞l jak posφlat obdobn∞ SMS na Oskara, tak mi to prosφm
poÜlete sem. Dφky)
Zßkladem mΘho vy°eÜenφ celΘho problΘmu naprogramovßnφ SMS brßny je skuteΦnost, ₧e na v∞tÜinu
mobilnφch telefon∙ lze posφlat SMS zprßvy takΘ ve form∞ e-mailu.
U v∞tÜiny mobilnφch telefon∙ operßtor∙ Paegas a Eurotel existuje mo₧nost
zaslat na tento telefon e-mail. Adresa pro zaslßnφ e-mailu je slo₧ena z nßsledujφch polo₧ek:
- mezinßrodnφho p°edvolby pro ╚R '+42'
- celΘho tel. Φφsla - p°. '0603 886644'
- znaku '@'
- textu 'sms'
- nßzvu operßtora
- a identifikaci 'cz'
P°φklad pro Φφslo telefonu 0603/886644 tedy vypadß nßsledovn∞
+420603886644@sms.paegas.cz
Nynφ nßm staΦφ naΦφst pomocφ formulß°e tel. Φφslo a text zprßvy - (druhß Φßst skriptu).
Podle zadanΘ p°edvolby zjistφme jmΘno operßtora a to dosadφme do adresy.
No a potΘ staΦφ tuto zprßvu na zadanΘ Φφslo odeslat - pomocφ funkce mail. (ve skriptu tuΦn∞)
<?
// ************************************************************************
// * SMS brßna - SMS zprßvy z webu *
// * WWW http://chweb.host.sk *
// * E-mail jan.chmelik@atlas.cz *
// ************************************************************************
// pokud jiz existuje promenna $tel?cislo =>
// formular byl jiz vyplnen a odeslan
if (!IsSet($tel_cislo))
{
$tel_cislo = ""; //pokud neexistuje tak ji vynulujem
}
if ($tel_cislo!=""){
if ( !(EReg("^([0-9]{6})$",$tel_cislo)) ) {
//kontrola telefonniho cisla proti nespravnym znakum
echo "Tel. Φφslo nenφ sprßvn∞ zadanΘ";
}
else
{
//zjisteni nazvu operatora podle predvolby
switch ($predvolba) {
case "0602":
case "0606":
case "0607":
case "0723":
$nazev_operatora = "@sms.eurotel.cz";
break;
case "0603":
case "0604":
case "0605":
case "0737":
$nazev_operatora = "@sms.paegas.cz";
break;
default:
exit;
}
//vytvoreni emailove adresy na telefon
//adresa ma tvar : +42 predvolba tel.cislo @ sms.operator.cz
$adresa = "+42".$predvolba.$tel_cislo.$nazev_operatora;
mail($adresa, "", $zprava, "NAZEV SMS BR┴NY ");
$tel_cislo = "";
}
}
?>
<!-- ZACATEK HTML FORMULARE PRO NACTENI TEL. CISLA A ZPRAVY -->
<form action="sms.php" method="post" name="sms">
//POZOR - je dulezite, aby se nazev skriptu shodoval s hodnotou
// v polozce action - zde tedy sms.php
<table>
<TR>
<TD> Tel. Φφslo : </TD>
//NACTENI PREDVOLBY
<TD><SELECT name=predvolba>
<OPTION value="0602">Eurotel 0602</OPTION>
<OPTION value="0606">Eurotel 0606</OPTION>
<OPTION value="0607">Eurotel 0607</OPTION>
<OPTION value="0723">Eurotel 0723</OPTION>
<OPTION value="0603">Paegas 0603</OPTION>
<OPTION value="0604">Paegas 0604</OPTION>
<OPTION value="0605">Paegas 0605</OPTION>
<OPTION value="0737">Paegas 0737</OPTION>
</SELECT>
//NACTENI TEL. CISLA
<INPUT type="text" name="tel_cislo"></TD></TR>
<TR>
//NACTENI TEXTU ZPRAVY
<TD> Text : </TD>
<TD><textarea cols="35" rows="7" name="zprava"></textarea></TD></TR>
<TR>
//TLACITKA PRO ODESLANI A VYMAZANI FORMULARE
<TD> </TD>
<TD><input type="Submit" name="submit">
<input type="Reset" value="vymazat"></TD></TR>
</table>
</form>
|
|
Tento skript je sice pln∞ funkΦnφ, ale z d∙vod∙ lepÜφ Φitelnosti k≤du v n∞m
chybφ nap°. oÜet°enφ skuteΦnosti,
₧e 1 SMS zprßva m∙₧e obsahovat max. 160 znak∙, a dßle nejsou ve skriptu
oÜet°eny chybovΘ stavy - nap°. nezda°enφ se odeslßnφ e-mailu serverem.
Tyto a dalÜφ vylepÜenφ ji₧ ponechßm vaÜφ tvo°ivosti.
|