Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Weiterleitung funktioniert nicht mehr

Frage Entwicklung PHP

Mitglied: 12974

12974 (Level 1)

12.05.2005, aktualisiert 12.06.2005, 6912 Aufrufe, 9 Kommentare

hi,

ich hoffe mir kann jemand weiterhelfen. Ich möchte eine weiterleitung per meta-refresh machen:

<font class=code>echo "&lt;meta http-equiv="refresh(debug)" content="0; URL=/admin/index.php?page=test"&gt;</font>
(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!
Mitglied: 11078
12.05.2005 um 16:26 Uhr
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
Bitte warten ..
Mitglied: 12974
12.05.2005 um 17:06 Uhr
danke für den tip, aber das geht auch nicht, da ich vorher noch Ausgaben habe, und auch noch paraneter mitübergeben muss!
Bitte warten ..
Mitglied: 11078
12.05.2005 um 17:56 Uhr
Hallo,

danke für den tip, aber das geht auch
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
Bitte warten ..
Mitglied: 10545
13.05.2005 um 09:16 Uhr
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!
Bitte warten ..
Mitglied: 12974
13.05.2005 um 09:37 Uhr
Also das ist mein Aufruf müsste ja schon so richtig sein!
Das merkwürdige ist ja, das ich das 1. mal wenn ich Mozilla öffne und ein refresh machen möchte nichts passiert, beim 2. Fenster klappt es dann ein mal und dann wieder nicht! Ist sowas noch niemandem passiert? Das muss doch irgendein Software-fehler von Mozilla sein, oder?
Habe jetzt schon an mehreren Stellen ein refresh-Aufruf und bisher ging es auch, kann doch nicht sein das ich jetzt alles ändern muss
Bitte warten ..
Mitglied: 10545
13.05.2005 um 09:50 Uhr
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
Bitte warten ..
Mitglied: 12974
13.05.2005 um 10:09 Uhr
ne war nur copy & paste fehler, wär ja schön wenn es so einfach wäre den fehler zu beseitigen...
Bitte warten ..
Mitglied: kubikus
03.06.2005 um 12:38 Uhr
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!

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... ;)


Mit freundlichen Grüßen
Bitte warten ..
Mitglied: markus-so
12.06.2005 um 18:13 Uhr
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:

<font class="code">*?php
ob_start();

evtl. noch anderes php-gescripte...
?>
Sonstige ausgaben...
*?php
und jetzt der Header
header("LOCATION: www.dieneseite.de");
ob_end_flush();
?>
</font>

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
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Router & Routing
Transparenter Proxy funktioniert nicht? (1)

Frage von mrserious73 zum Thema Router & Routing ...

Linux
LTSP: PXE Boot funktioniert nicht (23)

Frage von Fenris14 zum Thema Linux ...

DNS
gelöst DNS Weiterleitung ohne www (4)

Frage von simonsays zum Thema DNS ...

Windows Netzwerk
gelöst DNS - Weiterleitung zu DNS-Server in anderer Domain (5)

Frage von Schauer zum Thema Windows Netzwerk ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (32)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...