die() nach Weiterleitung mit header("Location:" . ...)

05.04.2008

In manchen Fällen (z.B. wenn ein Fehler auftrat oder dem Besucher Rechte fehlen) möchte man per PHP auf eine andere Seite weiterleiten.

Dies geschieht im allgemeinen mit

PHP - Code:
header("Location: target.html");


Folgt danach noch weiterer Code, so wird dieser trotzdem ausgeführt. Dies ist in der Regel nicht erwünscht und kann zu unerwünschtem Verhalten führen.

Ein (vielleicht etwas unrealistisches) Beispiel:
PHP - Code:
if ($not_allowed) {
   header("Location: denied.html");
}
 
// viel weiterer Code
 
// es verlief alles erfolgreich, also Erfolgsmeldung
header("Location: success.html");
}

Selbst wenn $not_allowed auf true gesetzt war, wird die Weiterleitung auf success.html (vom Browser) ausgeführt und nicht wie gewollt die Weiterleitung auf denied.html.

Außerdem sollte wahrscheinlich der Code im Abschnitt "viel weiterer Code" nicht ausgeführt werden.

Deine Meinung ist gefragt:


Es wurden noch keine Kommentare geposted.

Sei der Erste und teile uns Deine Meinung mit.

Einen neuen Kommentar erstellen...