| 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: 15 let
|
|||
0