PHP Umleitung
-
Moin,
vorweg sei gesagt, dass ich noch nicht sonderlich viel Ahnung in Sachen PHP habe.
Wenn man von einer html-Seite auf eine andere umleiten will,
kann man das ja im <meta>-Tag festlegen.
Gibt es diese Möglickeit auch in PHP?
Z.B.:
wenn in der Datei "abc.php" die Vaiable "$login" mit dem Wert "0" belegt ist,
soll die Datei "index.php?login=no" aufgerufen werden.
Welche Möglichkeiten gibt es da, ohne, dass man in der Datei
"abc.php" html-Code einbinden muss, der durch den <meta>-Tag
eine Weiterleitung verursacht
(und natürlich ohne, dass der Besucher einen Link klicken muss)?Danke, schonmal für Antworten!
-
Hi,
z.B. so sollte es gehen:
header("Location: index.php?login=no")
Grüßle
Jan
-
Cool, Danke!
Funtioniert.
-
Nur zur Ergänzung:
Bedenke, dass du header()-Funktion nur funktioniert, wenn du noch keine Ausgabe an den Browser geschickt hast! Du musst sie also unter allen Umständen vor jedem echo oder print-Befehl und vor jedem HTML-Block aufrufen!Näheres auch hier:
http://de.php.net/header
-
Und auch noch mal zur Ergänzung:
Du solltest hinter der header()-Funktion dafür sorgen, dass du auf jeden fall aus dem Script aussteigst (exit; die();)
-
Ja, danke!
nachdem ich wusste, welche Funtion ich brauche,
hab ich dann auch noch mal in Tutorials geguckt
und das dort auch gesehen.Aber noch ne Frage, wenn ich jetzt von Seite "abc.php"
per header() auf die Seite "xyz.php" weiterleite und dann
dort auch gleich wieder mit header() weiterleite auf
die nächste Seite, was dann?Und noch was, gibt es eine Möglichkeit die Browseradressleiste
etwas anderes anzeigen zu lasse, als dort eigentlich stehen sollte?
-
jzd schrieb:
Aber noch ne Frage, wenn ich jetzt von Seite "abc.php"
per header() auf die Seite "xyz.php" weiterleite und dann
dort auch gleich wieder mit header() weiterleite auf
die nächste Seite, was dann?Nichts dann. Du wirst weitergeleitet.
jzd schrieb:
Und noch was, gibt es eine Möglichkeit die Browseradressleiste
etwas anderes anzeigen zu lasse, als dort eigentlich stehen sollte?Jain.
Nein, weil es so nicht möglich ist (aus gutem Grund. Willst du des Phishings verdächtigt werden?).
Ja, weil es unschöne Umwege gibt (z.B. die ganze Seite in einem Frame anzeigen). Aber lass so etwas lieber ...EDIT:
Falls du meinst, in der Adressleiste steht etwas wie "index.lang-de.html" anstelle von "index.php?lang=de": So etwas geht beim Apache über mod_rewrite.
-
jzd schrieb:
Und noch was, gibt es eine Möglichkeit die Browseradressleiste
etwas anderes anzeigen zu lasse, als dort eigentlich stehen sollte?Ich glaube es gab mal einen Bug im IE der das zugelassen hat im Zusammenspiel mit JS. Aber sowas sollte man lieber lassen (egal ob es um einen Bug geht oder nicht).