>> 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