Hallo Fritz,
gibt es in PHP eine andere Möglichkeit, den Browser anzuweisen, eine bestimmte Datei anzuzeigen, außer
header("Location: foo");
Serverseitig nicht.
Grund für meine Frage:
Der "berühmte" Fehler:
"Cannot modify header information - headers already sent"
den ich anderweitig nicht vermeiden kann. Da mein Script u.U. recht lange läuft, muß ich dem user eine Information darüber auf den Bildschirm schreiben.
Du kannst ganz an den Anfang Deiner Seite einen http://de.selfhtml.org/html/kopfdaten/meta.htm#weiterleitung@title=Meta-Refresh setzen. Wenn Du dort 0 für die Verzögerung angibst, dann erzielst Du das von Dir gewünschte verhalten - die Verzögerung gilt nämlich ab dem Zeitpunkt, ab dem die Seite fertig geladen ist.
d.h. ganz am Anfang sendest Du an den Browser
<!DOCTYPE ...>
<html>
<head>
<title>Daten werden verarbeitet</title>
<meta http-equiv="Refresh" content="0; URL=http://weiterleitung/">
</head>
<body>
<p>Die Daten werden Verarbeitet.</p>
</body>
</html>
Dann rufst Du in PHP die Funktion flush();
auf. Damit wird das bereits an den Browser geschickt. Sobald das PHP-Script dann *fertig* ist (und die Verbindung zum Browser geschlossen), wird die Weiterleitung (die der Browser jedoch schon längst mitbekommen hat) ausgeführt.
Viele Grüße,
Christian