Tim: eMail-Prüfung

Beitrag lesen

Hallo,

vorab muss ich gestehen, ich habe 0-Ahnung von PHP. Dennoch
poste ich hier mein Anliegen, ggf. kann selbst mir ja geholfen
werden :-(

Bei der Eingabe einer eMail-Adresse möchte ich, dass diese wenigsten
auf das "@" geprüft wird. Derzeit erhalte ich nur eine Fehler-
meldung, wenn nichts im Feld eingegeben wird, ansonsten wird alles
angenommen. Wo genau muss ich den ( für mich noch nichtbekannten )
Code einbinden bzw. modifizieren ?

Für jede Hilfe bin ich dankbar !
Gruß Jürgen

Skript:
.....................................................................

// FORMULAR ZU ANMELDEN

if ($action=="" and $admin=="") {
print $welcome;

print '<form method="POST" action="'.$url.'?action=add">
E-Mailadresse:<br>
<input type="text" name="email" size="16" maxlength="32"><br>
Name:<br>
<input type="text" name="name" size="16" maxlength="22"><br>
<br>
<input type="submit" value="Anmeldung" name="B1">
</form>';

}

#####################################################

// ADRESSE HINZUFÜGEN

if ($action=="add") {

if ($email=="" || $email==" "){
print $emailleer;
} else {
if (mysql_num_rows(mysql_query("SELECT * FROM $tabellenname WHERE Email = '$email'"))>=1) {
print $mailvorhanden;
} else {
mysql_query("INSERT INTO $tabellenname VALUES ('$email', '$name', '0')")
  or die ("Fehler beim Eintragen in die Datenbank!");
mail($email, "Newsletter-Bestätigung", $message_best, "From: $emailadresse");
print $bestaetigung;
}
}

}

Ersteinmal zu ein paar "Fehlern:"

if ($email=="" || $email==" "){
print $emailleer;

Die erste Zeile mit "" und " " ist nicht unbedingt ein Fehler, man kanns aber auch wesentlich eleganter lösen.
Nämlich mit empty oder !empty.
Wie kannst du den Fehlercode $emailleer ausgeben lassen (bzw. die Variable) wenn du sie vorher überhaupt nicht definiert hast?!
Du musst unbedingt vor dieses "print $emailleer;" z.B. schreiben:

$emaileer = "Dein Text. Z.B.: Bitte eine korrekte e-Mailadresse angeben!";

und dann kommt dein print $emailleer;

if ($action=="add") {
wo ist denn "add" festgelegt? Nirgendwo!
Nimm doch: if($_POST['B1'])......

So und eine e-Mail überprüft man z.B. mit "ereg."

Außerdem finde ich bei der Eingabe von: "email überprüfung php"
bei Google mind. 2.250.000 Einträge. Wovon ja mindestens 1er zum Thema sein wird, nech?? ;)
SUCHEN!
http://www.google.de/search?q=email+%C3%BCberpr%C3%BCfung+php&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:de:official&client=firefox-a
http://gidf.de