Autor | Zpráva | ||
---|---|---|---|
Monkeys Profil * |
#1 · Zasláno: 31. 3. 2011, 23:37:07
Ahoj neviete mi prosim poradit pozeram nato uz hodinu a neviem najst chybu.
Chyba je ze ak nezadam do pola email nic tak vyhodi hlasku co je OK ale ak tam napisem napr len zavinac bez podky tak vyhodi chybovu hlasku ale formular sa odosle ako tomu zabranit aby to odoslalo az ked bude napisana spravna adresa. Tu je kod: if (strlen($_POST['email']) > 0) { $email=true; if(ereg('.+@.+\..+', $_POST['email'])) { $email=true; }else{ $email=false; $i .="<span class=\"vystraha\">Váš E-mail nemá správny formát!</span><br>"; } }else{ $email=false; $i .="<span class=\"vystraha\">Nezadali ste svoj email!</span><br>"; } |
||
__construct Profil |
#2 · Zasláno: 1. 4. 2011, 07:17:01
Monkeys:
• Za prvé ereg je zastaralá funkcia, ktorá je v novších verziách PHP zavrhnutá - nahraď ju za preg_match
• Ten regulár nie je moc, šťastné riešenie - prejdú cez neho aj nevalídne adresy. Myslím, že dobrým riešením by v tvojom prípade bolo použitie vstavaných filtrov - filter_var - tu máš aj príklad ako na emailovú adresu.
|
||
Monkeys Profil * |
#3 · Zasláno: 1. 4. 2011, 08:54:37
takze ak to napisem takto je to spravne?
if (strlen($_POST['email']) > 0) { $email=true; if (!filter_var($_POST['email']) , FILTER_VALIDATE_EMAIL)) { $email=true; }else{ $email=false; $i .="<span class=\"vystraha\">Váš E-mail nemá správny formát!</span><br>"; } }else{ $email=false; $i .="<span class=\"vystraha\">Nezadali ste svoj email!</span><br>"; }[/b] Teraz neviem filter - filter_var Alebo opravit regularny vyraz takto. preg_match("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,4})$", $_POST['email'])) ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- Este som sa chcel opytat mam pole telefon a chcem aby sa tam zapisovali len cisla, mozem regularny vyraz napisat neako takto? preg_match("^[0-9]$", $_POST['telefon']) Vdaka |
||
__construct Profil |
#4 · Zasláno: 1. 4. 2011, 09:08:36
Monkeys:
Riadok 3 si oprav if (!filter_var($_POST['email']/* ) Táto zátvorka tu nemá byť */ , FILTER_VALIDATE_EMAIL)) { „dokaze rozoznat aj ked je formularove pole prazdne“ Bráni Ti niečo to vyskúšať? „mam pole telefon a chcem aby sa tam zapisovali len cisla, mozem regularny vyraz napisat neako takto“ Môžeš, ale cez ten prejde aj telefónne číslo v tvare 112 :-) Na kontrolu telefónneho čísla používam tento regulár ^(((\+|00)42\d)? ?\d{3} ?\d{3} ?\d{3})$ .
|
||
Monkeys Profil * |
#5 · Zasláno: 1. 4. 2011, 09:51:55
__construct:
Dakujem pomohol si mi. |
||
Časová prodleva: 13 let
|
0