Formular auf Eingabe überprüfen

banshe

Mitglied
Hallo zusammen,

Benötige eure hilfe...
folgendes:

Ich habe ein Formular, bei diesem müssen 3 Felder ausgefüllt werden:
Name, Vorname & Email adresse

Falls dies nicht der Fall ist, gibt es einen Fehlertext aus...

Ich habe eine überprüfung, jedoch passiert die nacheinander...
Das heisst... jemand füllt keines dieser 3 Felder aus... dann bekommt er die Meldung:
"Sie haben folgende Angabe vergessen einzutragen: Name"
Anschliessend füllt er den Namen aus und bekommt die nächste Meldung:
"Sie haben folgende Angabe vergessen einzutragen: Vorname"
Anschliessend füllt er den Vorname aus und bekommt die nächste Meldung:
"Sie haben folgende Angabe vergessen einzutragen: eMail Adresse"

Ich möcht das in einer Meldung alle Sachen die Fehlen drinnen sind:
"Sie haben folgende Angabe vergessen einzutragen: Name, Vorname, eMail Adresse"


Der momentane Code:
PHP:
              // es wurde kein Name eingetragen
                 if(!$_POST["name"] || empty($_POST["name"])) { ?>
   <div align="center"><span class="mail">Sie haben folgende Angabe vergessen einzutragen: Name.</span>&nbsp;<a href="<?php echo $_SERVER["PHP_SELF"]; ?>" title="zurück">zurück</a></div>
                <?php }

              // es wurde kein Vorname eingetragen
                 elseif(!$_POST["vorname"] || empty($_POST["vorname"])) { ?>
   <div align="center"><span class="mail">Sie haben folgende Angabe vergessen einzutragen: Vorname.</span>&nbsp;<a href="<?php echo $_SERVER["PHP_SELF"]; ?>" title="zurück">zurück</a></div>
                <?php }
              
              // es wurde keine E-Mail Adresse eingetragen
                 elseif(!$_POST["email"] || empty($_POST["email"])) { ?>
   <div align="center"><span class="mail">Sie haben folgende Angabe vergessen einzutragen: eMail-Adresse.</span>&nbsp;<a href="<?php echo $_SERVER["PHP_SELF"]; ?>" title="zurück">zurück</a></div>
                <?php }


Wie kann ich das realisieren? Bitte um hilfe...


Grüsse und Danke
 
Hallo,

du kannst dir die Fehlermeldung ja auch Stück für Stück zusammenbauen:

PHP:
$fehler = "";
if($vorname) {
  $fehler .= " Vorname";
}
if($nachname) {
  $fehler .= " Nachname";
}

[...]

if($fehler != "")
  echo "Sie haben folgende Felder vergessen: " . $fehler;

Gruß
BK
 
Hallöle,

ums mal kurz zu halten - kurzer Code ^^

PHP:
if(!strlen($Name)) {
$error_msg.= "<center>Sie müssen Ihren Namen eintragen!</center><br>";
}

if(!strlen($Vorname)) {
$error_msg.= "<center>Sie müssen Ihren Vornamen eintragen!</center><br>";
}

if(!strlen($EMail)) {
$error_msg.= "<center>Sie müssen Ihre E-Mail Adresse eintragen!</center><br>";
}

//Ausgeben der Error-Message

if($error_msg) {
	echo"<center>$error_msg</center><br>";
} else {
//irgendwas anderes machen
}

...müsste so passen - noch 'n schönen Tag
 
Hi,

benutze ein Array
PHP:
$fehler = array();

if(!$_POST["name"] || empty($_POST["name"])) {
     $fehler[] = "Name ";
}
if(!$_POST["vorname"] || empty($_POST["vorname"])) {
     $fehler[] = "Vorname ";
}
if(!$_POST["email"] || empty($_POST["email"])) {
     $fehler[] = "EMail ";
}

if (count($fehler) > 0) {
     echo "Sie haben folgende Angabe vergessen einzutragen: ".implode(",",$fehler);
} else {
     //Weiterverarbeitung
}
 
Hey Super... ich Danke euch allen für die Hilfe... echt grandios


Kurze frage nebenbei...
Die Felder "Email" und "Name" sind gelb hinterlegt...
Wie kann ich das deaktivieren, oder wie kann ich "vorname" auch gelb hinterlegen?


Grüsse und vielen Dank!
 
Dann musst du im Code irgendeine CSS Angabe oder so gemacht haben durch die die beiden Felder gelb eingefärbt werden. Zeig mal deinen Quellcode.
 
Zurück