Ich weiß, diese Frage wurde mehrmals gestellt, aber keine hat das Problem für mich gelöst.
Ich möchte überprüfen, ob irgendwelche Werte im $ _POST-Array mit Ausnahme von zwei (sHostFirstName und sHostLastName) leer sind, und einen 400-Fehler werfen, wenn es einen leeren Wert gibt. Der einzige Weg, wie ich den 400-Fehler erzeugen kann, besteht darin, einen Die() -Befehl nach dem Header-Befehl zu setzen, allerdings bekomme ich den 400-Fehler, egal ob es leere Werte gibt oder nicht.
foreach ($_POST as $key => $value) {
if (empty($value) || !isset($value) && $key != 'sHostFirstName' || 'sHostLastName') {
header("HTTP/1.1 400 Bad Request");
break;
}
}
if (empty ($ value) ||! Isset ($ value) && $ key! = 'SHostFirstName' || $ key! = 'SHostLastName') { – JYoThI
'if (empty ($ value) && ($ key! = 'sHostFirstName' || $ key! = 'sHostLastName') {' – nogad
@nogad Ihr zweiter Satz von Bedingungen wird immer zu' true' ausgewertet: Zum Beispiel ist jede Zahl immer nicht 1 oder nicht 2. – jeroen