Weiterleitung
-
Moin zusammen,
ich hätte ne kleine Frage. Gibt es in PHP die Möglichkeit eine aktuelle Seite/Script "abzubrechen" und gleich eine neue Seite aufzurufen?
Über header() funktioniert das nicht, da schon einer verschickt wurde.Über einen Link wäre das ganze kein Problem, aber eigentlich will ich dem User den Klick ersparen, vor allem da er einfach sinnlos ist...
In ColdFusion gibt es dafür den Befehl <cflocation>.
Danke
-
Script abbrechen?
Fällt mir jetzt am frühen Morgen dazu nur die(); ein.
-
hi,
zwar in html, aber vielleicht hilft es dennoch:
<meta http-equiv="refresh" content="1; URL=http://www.">
in content stellst die zeit in sekunden ein für die weiterleitung.
-
Meistens mache ich das so:
echo('<script language="javascript">'); echo('document.location.href="' . $newurl . '";'); // JS-Weiterleitung echo('</script>'); exit; // weiteren Scriptverlauf abbrechen
-
header() kannst du nur verwenden, wenn du noch keine Ausgabe gemacht hast, das ist richtig. Du kannst auch ob_start() am Anfang des PHP-Scriptes verwenden, wodurch die Ausgabe bis zum Ende des Scripts verzögert wird und somit ein header() an sämtlichen Positionen erlaubt ist.
Die Methode mit <meta> hat den Haken, dass du dieses Element nur im <head>-Bereich verwenden darfst und dass sich die automatische Weiterleitung durch dieses Element deaktivieren lässt.
<script>-Elemente benötigen natürlich entsprechende Rechte und unterstütztes sowie aktiviertes Javascript.Ich tendiere zur ob_start()-Methode, es sei denn es ist wichtig, dass Ausgaben bereits vor Ende des Scripts zum Client gesendet werden sollen.
-
Neku schrieb:
Ich tendiere zur ob_start()-Methode, es sei denn es ist wichtig, dass Ausgaben bereits vor Ende des Scripts zum Client gesendet werden sollen.
Funktional vertretbar, aber imho katastrophaler Stil
-
Cool, ich danke Euch allen!
Ich denke mal ich werde mir zuerst mal das mit dem Buffer anschauen. Ich wusste nicht mal dass es sowas gibt
JS setzte ich nur für kleine Gimicks ein, da dies deaktivierbar ist.
-
Reyx schrieb:
Neku schrieb:
Ich tendiere zur ob_start()-Methode, es sei denn es ist wichtig, dass Ausgaben bereits vor Ende des Scripts zum Client gesendet werden sollen.
Funktional vertretbar, aber imho katastrophaler Stil
Aus diesem Grund verwende ich seit Anfang an Templates. Bequem, mächtig, übersichtlich und kaum Probleme