Sven Rautenberg: Nach Weiterleitung trotzdem auf $_POST zugreifen?

Beitrag lesen

Moin!

Hallo Sven,

Wenn du deine bisherigen Skripte einfach includest, könntest du dir 90% der zusätzlichen Arbeit sparen.
Wie genau meinst du das jetzt? Ich verstehe leider nicht ganz, was ich wie includen soll.

Es hängt natürlich von deinen Skripten ab, aber:

Du leitest derzeit mit header('Location...') auf eine weitere Seite um. Das kannst du nur, wenn du erstens bis zum Header noch keinerlei HTML-Ausgabe gemacht hast und zweitens auch danach keinerlei HTML-Ausgabe mehr kommt.

Mit anderen Worten: Du gibst derzeit nichts anderes aus als einen Location-Header.

Anstelle dieses Headers kannst du also auch ohne Umleitung eine komplette HTML-Seite ausgeben. Mit anderen Worten: Statt header("Location: andere-seite.php") kannst du auch include("andere-seite.php") machen. Dann wird auf die andere Seite nicht umgeleitet, sondern sie gleich direkt ausgeführt.

Du mußt nur zwei Punkte dabei beachten: Erstens leitet header() auf eine URL um, include bezieht sich auf das lokale Dateisystem. Und zweitens kannst du nicht mehr so sorglos in der zweiten Seite davon ausgehen, dass alle Variablen zu Beginn undefiniert sind. $_POST allerdings hat (immer noch) den von dir gewünschten und bei der Umleitung vermißten Inhalt. Erwarte also möglicherweise minimalen Trouble.

- Sven Rautenberg

--
"Bei einer Geschichte gibt es immer vier Seiten: Deine Seite, ihre Seite, die Wahrheit und das, was wirklich passiert ist." (Rousseau)