Autor | Zpráva | ||
---|---|---|---|
Joan Profil |
#1 · Zasláno: 31. 5. 2010, 00:28:30
Zdravím,
mám už relativně funkční webový formulář, ovšem narazila jsem v něm na ne zrovna chybu, jako spíš nepříjemnost. Mám tento kód: $chyba =""; if ($_POST["email"]=="") $chyba .= "Zadejte prosím svůj email.<br />"; if(isset($_POST["email"])) { if (!preg_match("/^[^@]+@[^@]+[.][a-zA-Z]+$/", $_POST["email"])) $chyba .= "Copak takto vypadá emailová adresa?<br />" } Jde o to, že když člověk úplně zapomene vyplnit svůj email, tak se zobrazí obě chybové hlášky zároveň a vypadá to hloupě, když po odeslání prázdné položky vyskočí současně "Zadejte prosím svůj email" a "Copak takto vypadá emailová adresa?" Jak pomocí PHP a bez JS odfiltrovat druhou hlášku v případě, že email vůbec zadán nebyl? Myslela jsem, že isset stačí, ale bohužel ne. Už je tam na mě těch IFů moc na to, abych tady udělala chybu. Děkuji předem za radu! |
||
mattyZEM Profil |
#2 · Zasláno: 31. 5. 2010, 00:32:52
if(isset($_POST['email']) AND $_POST['email']!="" AND preg_match("/^[^@]+@[^@]+[.][a-zA-Z]+$/", $_POST["email"])){ // nějaké příkazy ... }else { if(isset($_POST['email']) AND $_POST['email']=="")$chyba="Zadejte prosím svůj email."; if(isset($_POST['email']) AND $_POST['email']!="" AND !preg_match("/^[^@]+@[^@]+[.][a-zA-Z]+$/", $_POST["email"]))$chyba='Copak takto vypadá emailová adresa?'; } |
||
Alphard Profil |
#3 · Zasláno: 31. 5. 2010, 00:35:00
Joan:
Co třeba spojit to do jedné? if(!isset($_POST["email"]) || !preg_match("/^[^@]+@[^@]+[.][a-zA-Z]+$/", $_POST["email"])) { $chyba .= "Zadejte emailovou adresu ve správném tvaru."; } if(!isset($_POST["email"]) || preg_match("/^[^@]+@[^@]+[.][a-zA-Z]+$/", $_POST["email"]) == 0) PS: A už to balím, mattyZEM je vždy i pár sekund rychlejší. |
||
mattyZEM Profil |
#4 · Zasláno: 31. 5. 2010, 00:37:01 · Upravil/a: mattyZEM
Alphard:
„A už to balím, mattyZEM je vždy i pár sekund rychlejší.“ Léta praxe :-) Nene, jen zrovna nemám co jiného na práci... Mohl by jste mi pomoci zase zde :-) |
||
Joan Profil |
#5 · Zasláno: 31. 5. 2010, 00:55:56
Alphard:
Vida, to mě nenapadlo spojit obě chybové hlášky do jedné... Použila jsem to poslední řešení s kladným preg_match a funguje :-) . Díky moc. |
||
Časová prodleva: 14 let
|
0