Weiterleitung funktioniert nicht mehr
hi,
ich hoffe mir kann jemand weiterhelfen. Ich möchte eine weiterleitung per meta-refresh machen:
(das debug bei refresh nicht beachten)
das hatte auch schon funktoniert! Jetzt geht es nur noch mit IE mit Mozilla bleibt er einfach stehen, es passiert gar nichts! habe die Anweisung nicht im head-Bereich, aber das kann es doch auch nicht sein, da es schon funktioniert hat!?
lieg das vielleicht an Mozilla? Oder kann es daran liege das ich mehrere JavaScript funktionen benutze? Ist mir total unverständlich!
bitte helft mir!
ich hoffe mir kann jemand weiterhelfen. Ich möchte eine weiterleitung per meta-refresh machen:
echo "<meta http-equiv="refresh(debug)" content="0; URL=/admin/index.php?page=test">
das hatte auch schon funktoniert! Jetzt geht es nur noch mit IE mit Mozilla bleibt er einfach stehen, es passiert gar nichts! habe die Anweisung nicht im head-Bereich, aber das kann es doch auch nicht sein, da es schon funktioniert hat!?
lieg das vielleicht an Mozilla? Oder kann es daran liege das ich mehrere JavaScript funktionen benutze? Ist mir total unverständlich!
bitte helft mir!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 10613
Url: https://administrator.de/contentid/10613
Ausgedruckt am: 23.11.2024 um 16:11 Uhr
9 Kommentare
Neuester Kommentar
Hallo,
warum schickst Du nicht einfach einen neuen HTTP-Header?
< ?php
header("Location: http://meine.neue-sei.te;);
?>
Das als einziges in eine PHP-Datei.
TIM
warum schickst Du nicht einfach einen neuen HTTP-Header?
< ?php
header("Location: http://meine.neue-sei.te;);
?>
Das als einziges in eine PHP-Datei.
TIM
Hallo,
Parameter kannst Du so auch mitübergeben:
< ?php
header("Location: http//www.meine-sei.te/index.php"."?param1=".$param1);
?>
Aber vorherige Ausgaben geht so nicht recht, das stimmt.
Leider hat der Parser dieses Boards Deinen Beispielcode verschluckt. poste Ihn doch nochmal und ersetze die Spitzen Klammern durch etwas anderes oder lass ein Leerzeichen zwischen der einleitenden Spitzen Klammer und dem Fragezeichen.
TIM
danke für den tip, aber das geht auch
nicht, da ich vorher noch Ausgaben habe, und
auch noch paraneter mitübergeben muss!
nicht, da ich vorher noch Ausgaben habe, und
auch noch paraneter mitübergeben muss!
Parameter kannst Du so auch mitübergeben:
< ?php
header("Location: http//www.meine-sei.te/index.php"."?param1=".$param1);
?>
Aber vorherige Ausgaben geht so nicht recht, das stimmt.
Leider hat der Parser dieses Boards Deinen Beispielcode verschluckt. poste Ihn doch nochmal und ersetze die Spitzen Klammern durch etwas anderes oder lass ein Leerzeichen zwischen der einleitenden Spitzen Klammer und dem Fragezeichen.
TIM
Moin,
möglicherweise könnte Dir dieser "Quick & Dirty" helfen?:
< ?php
Echo " Was auch immer an Ausgabe kommt...";
$timeout=1;
$gotopage="http//www.meine-sei.te/index.php"."?param1=";
echo "\n< script language=\"javascript\" >\n";
if ($timeout==0) {
echo "window.location=\"$gotopage\"+\"$param1\";";
} else {
echo "myvar = \"\"; timeout = ".($timeout*10).";
function dorefresh() {
window.status=\"Redirecting\"+myvar; myvar = myvar + \" .\";
timerID = setTimeout(\"dorefresh();\", 100);
if (timeout > 0) { timeout -= 1; }
else { clearTimeout(timerID); window.status=\"\";
window.location=\"$gotopage\"+\"$param1\"; }
}
dorefresh();";
}
echo "\n< /script >\n";
Exit;
? >
Gruß, Rene
PS: Nimm die Leerstellen nach den eckigen Klammern wieder raus!
möglicherweise könnte Dir dieser "Quick & Dirty" helfen?:
< ?php
Echo " Was auch immer an Ausgabe kommt...";
$timeout=1;
$gotopage="http//www.meine-sei.te/index.php"."?param1=";
echo "\n< script language=\"javascript\" >\n";
if ($timeout==0) {
echo "window.location=\"$gotopage\"+\"$param1\";";
} else {
echo "myvar = \"\"; timeout = ".($timeout*10).";
function dorefresh() {
window.status=\"Redirecting\"+myvar; myvar = myvar + \" .\";
timerID = setTimeout(\"dorefresh();\", 100);
if (timeout > 0) { timeout -= 1; }
else { clearTimeout(timerID); window.status=\"\";
window.location=\"$gotopage\"+\"$param1\"; }
}
dorefresh();";
}
echo "\n< /script >\n";
Exit;
? >
Gruß, Rene
PS: Nimm die Leerstellen nach den eckigen Klammern wieder raus!
Moin,
ist der Blank zwischen "index.php? page=test":
ein Copy & Paste-Fehler, oder steht es wirklich so im Code? Dann ist mir der Fehler klar ...
Gruß, Rene
ist der Blank zwischen "index.php? page=test":
ein Copy & Paste-Fehler, oder steht es wirklich so im Code? Dann ist mir der Fehler klar ...
Gruß, Rene
das hatte auch schon funktoniert! Jetzt geht
es nur noch mit IE mit Mozilla bleibt er
einfach stehen, es passiert gar nichts! habe
die Anweisung nicht im head-Bereich, aber das
kann es doch auch nicht sein, da es schon
funktioniert hat!?
lieg das vielleicht an Mozilla? Oder kann es
daran liege das ich mehrere JavaScript
funktionen benutze? Ist mir total
unverständlich!
es nur noch mit IE mit Mozilla bleibt er
einfach stehen, es passiert gar nichts! habe
die Anweisung nicht im head-Bereich, aber das
kann es doch auch nicht sein, da es schon
funktioniert hat!?
lieg das vielleicht an Mozilla? Oder kann es
daran liege das ich mehrere JavaScript
funktionen benutze? Ist mir total
unverständlich!
Dass die Meta-Refresh-Weiterleitung (im <BODY>) nur im IE funktioniert, liegt wohl daran, dass der IE sehr "Fehlertolerant" ist. So akzeptiert er z.B. auch "\" anstatt eines "/" in URL's, während mozilla dann streikt. Mit dem Meta-Tag im <HEAD> (Wo er ja auch hingehört) sollte es keine Problem geben.
Von einer weiterleitung mit Java würde ich prinzipiell abraten, da diese nur funktioniert, wenn der Surfer Java auch aktiviert hat. Da dein Programm aber sowieso Java nutzt... ;)
MfG
Du kannst es mit
*?php
header("LOCATION: www.dieweiterleitung.de");
?>
machen, obwohl vorher eine Ausgabe stattfindet, indem du ganz an den Anfang der Seite
*?php
ob_start();
?>
schreibst und dann hinter den neuen Header ob_end_flush() schreibst.
Also:
Weitere Informationen unter http://de.php.net/manual/de/function.header.php
Gruss Markus
//edit: Ist das vielleicht moeglich, dein Anfangspost zu editieren und diese Meta-Angabe raus zu nehmen? Ich werde, wenn ich in diesen Thread gehe andauernd weitergeleitet
*?php
header("LOCATION: www.dieweiterleitung.de");
?>
machen, obwohl vorher eine Ausgabe stattfindet, indem du ganz an den Anfang der Seite
*?php
ob_start();
?>
schreibst und dann hinter den neuen Header ob_end_flush() schreibst.
Also:
*?php
ob_start();
//evtl. noch anderes php-gescripte...
?>
Sonstige ausgaben...
*?php
//und jetzt der Header
header("LOCATION: www.dieneseite.de");
ob_end_flush();
?>
Weitere Informationen unter http://de.php.net/manual/de/function.header.php
Gruss Markus
//edit: Ist das vielleicht moeglich, dein Anfangspost zu editieren und diese Meta-Angabe raus zu nehmen? Ich werde, wenn ich in diesen Thread gehe andauernd weitergeleitet