Verschachtelte if-Anweisung

uwee

Erfahrenes Mitglied
Hallo

ich möchte , bevor ich mit PHP eine Abfrage auf meine MySQL-Db mache, eine Abfrage haben, ob in den Variablen auch etwas drinsteht.
Es sind nur leider mehrere Variablen.
nun könnte ich es einfach so machen:
PHP:
if ($name="" or $neu="" or $alt="" or [-]){
echo "Bitte überprüfen sie Ihre Eingaben. <meta http-equiv=refresh content=\"1;URL=aenderung.php">";
}
else {
// Abfrage starten....
[-]}

das würde so funktionieren, glaube ich jedenfalls...

Nun möchte ich aber genau wissen, in welcher Variable kein Wert steht.Daher, so denke ich, muss ich eine verschachtelte Anweisung schreiben.
Die Variablen sollen hintereinander geprüft werden und immer, wenn in einer wirklich nichts drinsteht, soll die Anweisung beendet werden und ein kleiner Text mit Rückschaltung auf die Eingabeseite zu sehen sein.

Ich stelle mir das so vor:

PHP:
if ($name=""){
   echo "Eingabe prüfen";}
else{
   if ($neu=""){
      echo "Eingabe prüfen";}
         else{
            if ($alt=""){
               echo "Eingabe prüfen";}
}
}
Nun habe ich da aber ein kleines Problem bei: ich weiss nicht, ob das so geht und wenn in allen feldern was drinsteht, soll er ja die Abfrage starten. schreibe ich die dann einfach hinter

UweE
 
Eine schöne Möglichkeit:
PHP:
<?php

$err = Array();

if(empty($var1))
	$err[0] = true;
if(empty($var2))
	$err[1] = true;
	
[...]

if(!in_Array(true, $err))
	//Kein Fehler.
else
	//Fehlerbehandlung
?>
 
also wenn es nur diese 4 sind würde ich es mit einer verschachtelung machen sind es aber mehr sagen wir 10 oder 20 dann würde ich es mit einem array lösen:

Html Formular:
Code:
<input type="text" name="bla[]">Name
<input type="text" name="bla[]">Vorname
<input type="text" name="bla[]">etc
<input type="text" name="bla[]">..
<input type="text" name="bla[]">..
<input type="text" name="bla[]">..

in PHP:
PHP:
$int = count(bla);
for($i=0;$i<$int;$i++){
  if(!$bla[$i]){ $out = $i;} 
}

so hast du wenn du echo $out; machst die Zahl der ArrayID und weisst somit welches feld leer ist, sollten es mehrere Felder leer sein kannst du es dir auch in ein Array ausgeben lassen aber das würde dann letztendlich aus das gleiche rauskommen.
 
es sind 11 um genau zu sein

mit dem array hats funktioniert...

aber die andere lösung nehme ich für ein anderes formular, damit ich das auch irgendwo hab ;)

DANKE!
Thema schon erledigt!
 
Zurück