Moin!
Ich will eine Prüfung der eingaben vornehmen und schauen ob ein Wert eingegeben wurde. Nur wird immer die letzte Variable nicht berücksichtigt? Selbst wenn in $ort nichts steht gehts weiter ??
if($name | $strasse | $plz | $ort == "")
Wenn du nochmal ganz genau definieren könntest, wann genau deine IF-Abfrage greifen soll, und wann nicht, gibts bestimmt eine schöne Lösung dafür.
Zwei Anmerkungen aber: Der "|" ist ein binäres Oder. Das willst du garantiert nicht verwenden. Nimm "||" dafür.
Und dann zu deiner Schreibweise: Mir _scheint_, du wolltest aussagen: "Wenn $name, $strasse, $plz oder $ort leer sind, dann..."
Deine Kurzschreibweise gibt das aber nicht wieder!
Die Bedingung im IF ist wahr, wenn eines der Bestandteile wahr ist.
$name ist wahr, wenn es etwas anderes als den Leerstring enthält.
$strasse ist wahr, wenn es etwas anderes als den Leerstring enthält.
$plz ist wahr, wenn es etwas anderes als den Leerstring enthält.
$ort=="" ist wahr, wenn es GENAU den Leerstring enthält.
Mit anderen Worten: Deine ungewöhnliche, versuchte Kurzschreibweise hat genau dazu geführt, dass du dir deine Bedingung kaputt gemacht hast.
Tipp: Nicht abkürzen! Klammern setzen!
if (($name=="")||($strasse=="")||($plz=="")||($ort==""))
...
Das geht in die IF-Klammer, wenn mindestens einer deiner Strings leer ist.
Der Vergleich mit "" ist hierbei förderlich, denn auch der String "0" würde als "falsch" ausgewertet, wenn du einfach nur "if ($name)" schreiben würdest.
- Sven Rautenberg
Die SelfHTML-Developer sagen Dankeschön für aktuell 19031,30 Euro Spendengelder!