php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
email


 
bigtail
30-07-2003, 16:14 
 
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.

 
CrazyPip
30-07-2003, 16:20 
 
if ($_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>";
}

}


}


cya CrazyPip


oder was noch besser ist, ist


if (strlen($_POST['email'] > 0) { }

benütze besser strlen - so kannst du auch eine mindestzahl angeben, wie groß der email string sein soll

 
Konrad
30-07-2003, 17:51 
 
oder
if( isset($_POST['email']) AND $_POST['email'] != "" )

 
MelloPie
30-07-2003, 23:59 
 
Mal Am Rande, dein pattern schliesst ne Menge emailadressen aus, die erlaubt sind.
zB.

name@name.aero

 
TobiaZ
31-07-2003, 00:05 
 
@mello:
du hattest doch für URLs n gutes Pattern und für E-Mail doch auch.

Wir wäres, wenn du mal die beiden als "wirklich" ideal(!) Lösungen ins Snippetforum setzt. da gibt es so viele verschiedene.

 
bigtail
31-07-2003, 07:53 
 
Besten Dank

 
bigtail
21-10-2003, 13:32 
 
Mal Am Rande, dein pattern schliesst ne Menge emailadressen aus, die erlaubt sind. z.B. name@name.aero
Wo kann man sich eigentlich so eine E-Mailadresse holen??

 
mrhappiness
21-10-2003, 13:35 
 
bei name.aero?

 
TobiaZ
21-10-2003, 13:47 
 
@happy: wie wahr...

@bigt: aero ist für luftfahrt. da kommst du wahrscheinlich nicht dran.-

 
wahsaga
21-10-2003, 14:02 
 
Original geschrieben von Konrad
oder
if( isset($_POST['email']) AND $_POST['email'] != "" )
ja warum denn nicht gleich auf !empty() prüfen - damit hast du die prüfung, ob überhaupt existent, und wenn ja, ob leer, doch gleich in einem aufwasch ...


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:11 Uhr.