Zur Klärung:
die header() Funktion (die nicht nur zum umleiten per Location dient) sendet HTTP - Header.
Wenn bereits eine Ausgabe gestartet wurde (ein Leerzeichen vor dm Script würde genügen) kann der Browser ja nicht mehr umstellen.
Will man aber nicht alles per echo ausgeben, würde es folgende Methode geben:
Anstatt:
Code:
<?php
header("Location: foobar.php");
?>
das:
Code:
<?php
echo "<script>\n";
echo "locatio.href = 'foobar.php';\n";
echo "</script>\n";
?>
Achtung:
Nach einer Weiterleitung - egal ob JS oder PHP - die aus
Sicherheitsgründen erstellt wurde,
immer:
Denn wenn das header() versagt oder wenn der user JS ausgeschaltet hat (keine Weiterleitung) darf der Rest der Seite auch nicht mehr angezeigt werden!
Achja: JS kann natürlich ausgeschaltet sein, daher etwas "dumm".
air