Autor Zpráva
silverback
Profil
Zdravím, tak zase mám menší problém. Potřebuji nějak ošetřit, aby uživatel do formuláře zadal platnou verzy e-mailové adresy. Tedy aby text který zadá do kolonky e-mail musel obsahovat "@" a "." a v opačném případě by mu to řeklo že zadal neplatnou adresu. Mám tento zápis, pokud vůbec nevyplní nic:

	
elseif ($_POST["email"]=="" || ereg("^ +$",$_POST["email"]))  {
        echo "<p style=\"color:red;text-align:center\">Zadejte prosím svůj e-mail.";       
        vypisForm.... }


Mohl by někdo uvést tu podmínku, víceméně potřebuju vědět jaká je značka pro "neobsahuje znak"

Předem díky
Vagrant
Profil
^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,4})$


výraz musí začínat (to je ^) alespoň jedním znakem (+ nakonci) z prvních závorek to je to ([_a-z0-9-]+) následující 0 nebo více znaky (* nakonci) z druhé závorky (\.[_a-z0-9-]+) následující znakem @ následující alespoň jedním znakem (+ nakonci) závorek ([a-z0-9-]+) následující 0 nebo více znaky (* nakonci) z (\.[a-z0-9-]+)* a končící tečkou \. za níž následuje 2 nebo 4 znaky z rozsahu a-z.

otočit to lze if( !ereg(....) )
silverback
Profil
výborně, to je víc než jsem potřeboval - aleee, tohle je vlastně podmínka pro splnění, říkáš, že otočit to jde if( !ereg(....)) - bohužel nevím jak to přesně myslíš, mohl bys prosím tuto podmínku nějak zakomponovat přímo do toho kódu co jsem psal? Jsem začátečník, omlouvám se.
Vagrant
Profil
elseif (!eregi("^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,4})$",$promenna))
{
echo "E-mail obsahuje nepovolené znaky, nebo neodpovídá formátu e-mail-ové adresy!";
}



Zkus se podívat tady http://www.linuxsoft.cz/article.php?id_article=257 a ještě si to odtestuj jestli tam není chyba...
silverback
Profil
Funguje to špičkově, moc děkuju!!!

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0