Der Martin: PHP: default Zweig in switch will nicht anspringen

Beitrag lesen

Hallo Claus,

Eure Ausführungen bezüglich exit und dem Setzen des Statuscodes schau ich mir in Ruhe an.

exit(header('Status: 403', TRUE, 403));

Ich habe kürzlich diese Form eingeführt, weil ich weg wollte von selbst gebauten Fehlerseiten und stattdessen die Standardseiten des Webservers angezeigt haben will, mit dem Nebeneffekt, dass das aktive Setzen von 403 auch durch mod_qos erfasst wird.

Den HTTP-Statuscode musst du in beiden Fällen setzen, egal ob du eigene Fehlerseiten haben willst oder nicht. Aber die Kombination aus header() und exit() ist, so wie du sie notierst, syntaktisch unsinnig. Sie bedeutet: Rufe erst die Funktion header() auf, und setze dann ihren Rückgabewert als Exit-Code des Scripts. Nur ist der Exit-Code des Scripts im Web-Umfeld bedeutungslos, und außerdem liefert header() überhaupt kein Ergebnis.

Einen schönen Tag noch
 Martin

--
Мир для України.