if - Bedingung filtern

Giovanni

Mitglied
Guten Morgen in so früher/später stunde,

also ich entschuldige mich jetzt schon mal vorweg für wahrscheinlich nen schlecht beschriebenen Titel, doch ich hab kein blassen schimmer wie ich das Schreiben soll so kurz? Sonst hätte ich bestimmt auch nach langer google suche was gefunden =/

Meine Frage ist es nun kann man eigentlich bei einer IF-Anweisung die Bedingungen rausfiltern die FALSE ergeben haben?
also z. B.:
Wenn ich ein Formular verschicke habe ich ja dann z. B.: Name, Vorname, E-Mail, Nachricht
PHP:
$nachricht = "$_POST['nachricht']"; //ausgefüllt
$name = "$_POST['name']"; //leer
$vorname = "$_POST['vorname']"; //ausgefüllt
$email = "$_POST['email']"; //ausgefüllt
if($a != "" && $b != "" && $c != "" && $d != "") {
  echo "Alles felder wurden ausgefüllt<br />\n";
} else {
  echo "Feld ? wurde nicht ausgefüllt<br />\n";
}

Also das heißt ich will statt dem Fragezeichen, viel lieber wissen welche Bedingung in der IF-Anweisung falsch ist in diesem Beispiel wäre es $name. Das ich dann eine Fehler meldung bringen kann wie Bitte tragen Sie Ihren Namen ein oder wenn zwei Bedinungen nicht Stimmen ich dann sagen kann Bitte tragen Sie Ihren Namen ein und Ihre E-Mail Adresse. Das ich das halt Variieren kann.
Ich hoffe ihr versteht was ich meine, ich wüsste nicht wie ich es sonst erklären sollte.

Danke dann für ere Hilfe und Infos
gio
 
Zuletzt bearbeitet:
Hi

ja verstehe, was du machen willst.

Aber dazu musst du die If-Bedingungen alle einzeln nacheinander prüfen und dann die entsprechende Meldung ausgeben.


lg
 
Danke für die schnelle antwort,
das alles einzeln zu machen weiß ich ja schon habe ich auch überwiegend gemacht, doch nun ist mir die Liste einfach zu lang, wenn ich für 20 inputs alle einzeln abfragen muss ob die gefüllt sind.
Dachte das würde auch so gehen das man in der IF-Anweisung die stelle entnehmen kann die ein FALSE oder TRUE ausgibt und dies dann seperat bewerten kann. Denn das geht doch bestimmt auf die Ressourcen wenn ich 100 IF-Abfragen irgendwann mal laufen habe.

Meiner meinung nach wäre das eine vorteilhafte idee, so erspart man sich viel Code.
 
Es geht auch anders.

Wir definieren eine Liste mit Feldern die geprüft werden sollen und iterieren uns dann durch das $_POST Array.
PHP:
$form_fields = array('name', 'adress', 'zip', 'city');
$error = array();

foreach($_POST as $key => $value)
{
  if(empty($value) && in_array($key, $form_fields))
  {
    $error[] = $key;
  }
}

Danach beinhaltet das $error Array sämtliche Feldnamen, die leer waren. Diese kannst du dann weiterverarbeiten.
 
Zurück