> potreboval bych nejakym zpusobem odesilat SMS z netu. ... > ... > ... Nevi nekdo? Jedna moznost me napada - formulare z oficialnich > stranek operatoru jsou nacteny do mych skriptu a pak na brany odeslany? > ... Nedelal to uz nekdo na svych strankach??? Nebo nevite jak nato? > Potrebuji posilat na vsechny nase operatory. > S pozdravem TEChN0l0GiC > ... aha, ja jsem to v meilu nerekl, ja delam v PHP a potrebuju to > v PHP, ne jako aplikaci... Pozde, ale prece... Ja jsem po nejakem tom experimentovani dospel k nize uvedenemu kodu, ktery funguje v pohode (zatim). Problemem u tohoto reseni je, ze jakmile operator zasadneji zmeni konstrukci formu, muzes zacit znovu pitvat kod a pak predelavat program. Moje reseni je site na miru pouze na Paegas, protoze jine ops nepotrebuju, ale v zasade je to vzdycky totez - rozpitvat ten form a z nej a podle nej pak zpracovat potrebne paramtery. A pozor - myslim, ze Errortel nebo Oskar (a mozna oba ? nezkoumal jsem to) pouzivaji POST, takze to bude cele trosku jinak. A taky pozor na omezeni freq. odesilani u Paegasu. Tady je ten kod, bez zaruky a bez dalsiho supportu z me strany pro zelenace v PHP - nemam na podrobne vysvetlovani bohuzel cas, takze spise pro znale. (Mailery to asi dost rozzvejkaji, tak bacha :)) /* function callgate($host,$port,$path,$data,$ref){ $fx=fsockopen($host,$port,$aaa,$bbb,15); //15 s. timeout if($fx){ fputs($fx,"GET ".$path.$data." HTTP/1.0\n"); fputs($fx,"Host: $host\n"); fputs($fx,"Referer: $ref\n"); fputs($fx,"Accept: */*\n"); fputs($fx,"Accept-Language: en,cs\n"); fputs($fx,"User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98;)\n"); fputs($fx,"Connection: close\n\n"); while(!feof($fx)){ $x=fgets($fx,1000); $r.=$x; } fclose($fx); return $r; } else return false; } # function sendsms($pref,$num,$text,$mail,$mtype){ $gate=callgate("sms.paegas.cz",80,"/cgi-bin/sms/wwwsms","","http://sms.paegas.cz/cgi-bin/sms/wwwsms"); if($gate){ preg_match("/name=key value=\"([^\"]*)\"/",$gate,$arr); $key=$arr[1]; $text=urlencode($text); $gate=callgate("sms.paegas.cz",80,"/cgi-bin/sms/wwwsms","?prefix=$pref&number=$num&email=$mail&mtype=$mtype&text=$text&submit=Odeslat&cntr1=777&cntr2=0&cntr3=1+z+5&key=$key","http://sms.paegas.cz/cgi-bin/sms/wwwsms"); if(preg_match("/Zpráva odeslána,/",$gate)) return true; elseif(preg_match("/<td align=\"center\"><font face=\"Arial, Helvetica, sans-serif\" color=\"#000066\"><b>([^-]*)-/",$gate,$arr)){ $err=$arr[1]; if(ereg("</b>",$err)) return -1; } else return false; } else return -2; } # ------------------------- $prefix='0603'; //073 $cislo='123456'; //2123456 $text="SMS text"; # ------------------------- $sms=sendsms($prefix,$cislo,$text,"","1"); # params: prefix,cislo,text,mail(""|"1"),msgtype(1-norm 2-disp) # ------------------------- # if($sms===true) //all ok # elseif($sms==-1) //missing text # elseif($sms==-2) //reading failed # else //sending failed */ pako Paco. ______________________________________________________________________ Reklama: Jake bude pocasi? http://pocasi.seznam.cz
This archive was generated by hypermail 2.1.2 : 13. 06. 2002, 20:59 CEST