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


MfG
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 ..
Ähnliche Inhalte
Neue Wissensbeiträge
Batch & Shell

Batch - ein paar Basics die man kennen sollte

Tipp von Pedant zum Thema Batch & Shell ...

Microsoft

Restrictor: Profi-Schutz für jedes Window

(4)

Tipp von AlFalcone zum Thema Microsoft ...

Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft Office
Saubere HTML aus Word-Dokument (16)

Frage von peterpa zum Thema Microsoft Office ...

Router & Routing
ASUS RT-N18U mit VPN Client hinter Fritzbox - Portforwarding (15)

Frage von marshall75000 zum Thema Router & Routing ...

Hosting & Housing
gelöst Webserver bei WIX, aber DNS Server wo anders (9)

Frage von laster zum Thema Hosting & Housing ...