Hi,
ich überprüfe in einem Formular die E-Mail-Angabe wie folgt:
if (!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$",$_POST['email']))
{ $fehler.= "Bitte geben Sie eine gültige email-Adresse ein. <br>";}
Es funktioniert auch, das Problem ist nur, dass selbst wenn der User das Formular-Feld für E-Mail leer lässt, wird auch eine Fehlermeldung angezeigt, obwohl die E-Maileingabe keine Pflichtfeld ist.
Nun habe ich mir die folgende Lösung ausgedacht:
if( isset($_POST['email']) )
{
if (!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$",$_POST['email']))
{ $fehler.= "Bitte geben Sie eine gültige email-Adresse ein. <br>";}
}
Danke
Es hat sich aber leider nichts geändert.
Was soll ich hier ändern, damit die E-Mail-Adresse nur dann auf Gültigkeit überprüft wird, wenn sie überhaupt eingegeben worden ist.
Wenn keine E-Mailadresse angegeben ist, soll auch keine Überprüfung stattfinden.
ich überprüfe in einem Formular die E-Mail-Angabe wie folgt:
if (!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$",$_POST['email']))
{ $fehler.= "Bitte geben Sie eine gültige email-Adresse ein. <br>";}
Es funktioniert auch, das Problem ist nur, dass selbst wenn der User das Formular-Feld für E-Mail leer lässt, wird auch eine Fehlermeldung angezeigt, obwohl die E-Maileingabe keine Pflichtfeld ist.
Nun habe ich mir die folgende Lösung ausgedacht:
if( isset($_POST['email']) )
{
if (!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$",$_POST['email']))
{ $fehler.= "Bitte geben Sie eine gültige email-Adresse ein. <br>";}
}
Danke
Es hat sich aber leider nichts geändert.
Was soll ich hier ändern, damit die E-Mail-Adresse nur dann auf Gültigkeit überprüft wird, wenn sie überhaupt eingegeben worden ist.
Wenn keine E-Mailadresse angegeben ist, soll auch keine Überprüfung stattfinden.
Kommentar