>> Potreboval bych poradit s jednou veci v PHP. Jak pomoci podminky zjistit, >> zda jedno z poli obsahuje cislo (DECIMAL) a zda jedno pole obsahuje www >> adresu. >> Nasel jsem, ze by to mohlo byt pomoci ctype_digit (pro prvni pripad) a >> strstr (pro druhy pripad). Ale nevim, jestli to pomuze, ani jak to >> formulovat. David "Nocni motylek" Hartl > A proc to nezkontrolovat jeste pred odeslanim formulare JavaScriptem? > Wog Aha. Myslel jsem nejdriv, ze potrebujes zjistit, zda ty hodnoty neobsahuji nejaka POLE ve smyslu promennych PHP, tedy arrays... 2 Wog: treba to chce mit bulletproof i kdyz ma nekdo non-js browser nebo vypnute scripty. > error_log ("Neco jsi udelal spatne, kamo.") Takhle ne. error_log() musi mit 2-4 parametry a posila chybove hlaseni podle typu napriklad do chyboveho logu PHP na serveru, do souboru, mailem, do PHP remote debug systemu, etc. To asi nebude to, co jsi chtel, slouzi to k jinym ucelum. Takze rekneme, ze to cislo je ve formu v poli 'pocet' a ta www adresa v poli 'www' - zkus li na localu tenhle kod a pak si to prekopej podle svych potreb - je to jenom hola kostra. Jeste k tomu regexu na www adresu: neni sice uplne neprustrelny, ale na vetsinu normalnich adres v beznem tvaru by mel stacit. Psal jsem ho ale z ruky a netestoval, takze za pripadne bugy nerucim. ;-)) Taky je znacne rozvlekly, v perl-syntaxi by se dal napsat daleko hutneji. Taky toho asi mailer dost zalomi, takze pozor na to! pako Paco. <!-- <html><head> <title>Title</title> </head><body> <br><br><center> <form method=post> Adresa: <input name=www type=text size=69 value="<?echo isset($www)?$www:"";?>"><br> Cislo: <input name=pocet type=text size=10 value="<?echo isset($pocet)?$pocet:"";?>"><br> <input name=sent type=hidden value=1><input type=submit> </form><br><br><br> <? error_reporting(E_ERROR); if($sent){ $err=0; if(!is_numeric($pocet)) $err++; if(!eregi("^(http://)?(www\.)?[a-z]([-0-9a-z]*[0-9a-z])*(\.[0-9a-z]{2,4})+(/[-0-9a-z\.~_]*)*$",$www)) $err+=2; switch($err){ case 3: echo"Oboje je spatne"; break; case 2: echo"Adresa je spatne"; break; case 1: echo"Cislo je spatne"; break; default: echo"Vsechno je dobre"; } } ?> <br><br></center> </body> </html> <-- ______________________________________________________________________ Reklama: Konec tichych spolecniku! Nyni bude mluvit opravdu kazdy. - Nove tarify pro firemni zakazniky. http://ad2.seznam.cz/redir.cgi?instance=28784%26url=http://www.oskarmobil.cz/cz/business/novinky.html
This archive was generated by hypermail 2.1.2 : 27. 06. 2002, 13:51 CEST