gewisse Abfrage

peter333

Erfahrenes Mitglied
Hallo,

ich erstelle gerade ein Newsletterformular indem man seine Emailadresse angeben muss. Wie frage ich jetzt ab, ob in der eingabe ein @ vorhanden ist? Also im Beispiel soll die if Abfrage dann durchgeführt werden, wenn KEIN @ vorhanden ist. Ich kann ja nicht einfach schreiben if ($_REQUEST[form_email] != @). Da wird ja nur konkret nach dem @ abgefragt. Ich denke, ihr versthet, was ich meine, oder?

if ($_REQUEST[form_email] != ?)
 
[phpf]strpos[/phpf]

Falls du PHP5.2 oder neuer hast, könntest du sogar [phpf]filter_var[/phpf] verwenden.
 
if (strpos($_REQUEST[form_email],"@") == null)

Mit dem Befehl strpos wird nach dem @ in der Zeichenkette gesucht und dann die Stelle zurückgegeben.

Google ist dein Freund. :)
 
if (strpos($_REQUEST[form_email],"@") == null)

Mit dem Befehl strpos wird nach dem @ in der Zeichenkette gesucht und dann die Stelle zurückgegeben.

Google ist dein Freund. :)

Danke dir. Ja normal frage ich auch nicht so blöd aber dieses mal wusste ich nicht, wie ich gescheid dannach suche. Aber egal. Hat sich ja nu erledigt. :-)

LG Peter
 
Eine andere Variante wäre die Struktur einer "E-mail Adresse" zu analysieren und zu überprüfen.
Vorteil: Sinnvollere Angaben für die Datenbank, Versand oder sonstiges.
Nachteil: Wahrscheinlich nicht alle denkbaren bzw. erlaubten E-mails korrekt durch RegEx.

PHP:
// Gültigkeit einer E-mail Syntax
if (preg_match("!^\w[\w|\.|\-]+@\w[\w|\.|\-]+\.[a-zA-Z]{2,4}$!", $_POST['form_email']))
{
  $mail = $_POST['form_email'];
}

Doku: preg_match()


mfg ;-)
 
Zuletzt bearbeitet:
Eine andere Variante wäre die Struktur einer "E-mail Adresse" zu analysieren und zu überprüfen.
Vorteil: Sinnvollere Angaben für die Datenbank, Versand oder sonstiges.
Nachteil: Wahrscheinlich nicht alle denkbaren bzw. erlaubten E-mails korrekt durch RegEx.

PHP:
// Gültigkeit einer E-mail Syntax
if (preg_match("!^\w[\w|\.|\-]+@\w[\w|\.|\-]+\.[a-zA-Z]{2,4}$!", $_POST['form_email']))
{
  $mail = $_POST['form_email'];
}

Doku: preg_match()


mfg ;-)

[phpf]filter_var[/phpf] ist dafür besser geeignet, da es bereits eine vernünftige E-Mailvalidation integriert hat.

Dein Code würde z. B. bei neueren E-Mailadressen nicht greifen (.travel, .museum).

Und was meinst du mit Vorteil: sinnvollere Angaben für die Datenbank?
 
Hey sorry das ich deinen Beitrag nicht vernünftig gelesen habe. Kannte diese Funktion noch nicht, das ist wirklich interessant der Ansatz mit der Filtermethode.

PHP 5 bringt einige Überraschungen mit sich ;-)

Der Vorteil bezieht sich auf die Lösung einfach nur ein @ Zeichen zu suchen. Dürfte ja klar sein das dies eher eine schwache Überprüfung einer gültigen Adresse darstellt.

mfg
 
Zuletzt bearbeitet:
Zurück