Hi, wie ich schon in einem anderen Thread geschrieben habe, erstelle ich zur Zeit ein Kontaktformular für meine Seite:
http://www.cs-erweiterungen.de/scripts/viewcomments.php
Nun habe ich eine Funktion erstellt, mit der geprüft wird ob alles eingegeben wurde. Diese Funktion steht ganz oben im Script. Hier ein Ausschnitt:
if (isset($_POST['submit']) && !$unique) {
$fehler = false;
$fehlertext ="";
if (empty($_POST["Name"])) {
$fehler = true;
$fehlertext .= "Bitte gib einen Namen ein.<br>\n";
}
elseif (strlen($_POST['Name']) < 4) {
$fehler = true;
$fehlertext .= "Der Name muss mehr als 3 Buchstaben haben.<br>\n";
}
$muster = "/[1]+@[a-zA-Z0-9-_.]+.[a-zA-Z]{2,4}$/";
if (preg_match($muster, $_POST['Email']) == 0 && !empty($_POST["Email"])) {
$fehler = true;
$fehlertext .= "Die angegebene E-Mail-Adresse ist ungültig!<br>\n";
}
}
Weiter unten möchte ich dann einen Text ausgeben, in dem dann die Fehlermeldungen stehen. Das will ich dann so machen:
if ($fehler) {
echo "<p>".$fehlertext."</p>";
}
Wenn ich diesen Code oben nach dem letzen Code einfüge funktioniert es perfekt. Ich will jedoch das es weiter unten erst angezeigt wird. Nun habe ich folgendes Problem. Bei "Bitte gib einen Namen ein." wird es unten angezeigt. Bei "Der Name muss mehr..." & "Die angegebene E-Mail-Adresse..." wird es nur angezeigt, wenn auch die Fehlermeldung von dem Namen kommt.
Ich hoffe ihr versteht was ich meine. Ihr könnt es auch bei dem Script testen:
http://www.cs-erweiterungen.de/scripts/viewcomments.php
Das komplette Script habe ich hier einmal hochgeladen:
http://www.cs-erweiterungen.de/files/SCRIPT.txt
a-zA-Z0-9-_. ↩︎