Email-Formular-Ueberpruefung

renard

Erfahrenes Mitglied
Hallo!

Ich moechte in einem Formular das Email-Feld ueberpruefen. PHP soll abfragen, ob ein Klammerafffe in der Adresse enthalten ist oder nicht. Koennt ihr mir sagen, ob es eine Funtion dafuer gibt? Ich habe mir einiges im Web ueber string manipulation angesehen, aber finde nicht das Passende.
Danke!
 
Hallo,

teste einmal hiermit:

PHP:
<?php

// gibt true aus, wenn mail-adresse formal richtig ist!
      function pruefe_email($pruef) {
      return (ereg("^[a-z0-9]+([\._a-z0-9-]+)*@([a-z0-9]+([a-z0-9\.-]+)*\.)+([a-z]{2,4})$",strtolower(trim($pruef))));
}
?>
Gruß

RS9999
 
Ich habe gemeint, wie ich im Feld selber ueberpruefe, ob das @ ueberhaupt enthalten ist. Mittels if-Schleife moechte ich das abfragen. Also im Pseudocode
if ($email enthaelt "@")
echo "Fehler. Das Feld muss ein @ enthalten";
 
Naja, ein bisschen Mitdenken würde dich auf folgenden Einsatz von RS9999s Funktion bringen:

PHP:
$eingabe = $_POST['email']; //Eingabe des Users, soll EMail-Adresse enthalten

if(pruefe_email($eingabe)) {
  //Email korrekt
}
else {
  echo 'Fehler. Das Feld muss ein @ enthalten';
}
 
Es gibt unterschiedliche Vorgehensweisen die Gültigkeit einer E-Mail-Adresse zu prüfen. Sich dabei allein auf die Existenz eines @-Zeichens zu berufen, ist etwas gutgläubig. Auch der Einsatz von Regulären Ausdrücken hat Vor- und Nachteile. Denn je nach Suchmuster gibt es Adressen, die durchs Raster fallen. Andere Muster sind hingegen so restriktiv, dass auch syntaktisch gültige E-Mail-Adressen als falsch erachtet werden.

Falls möglich, solltest du die Existenz der E-Mail-Adresse durch eine Aktivierungs-E-Mail verifizieren. Das wäre die einfachte Methode um auch sicherzustellen, dass es sich bei dem Empfänger um dieselbe Person handelt, die auch das Formular ausgefüllt hat.
 
Zurück