Slayer8 Geschrieben 19. April 2002 Geschrieben 19. April 2002 Hallo! Ich habe folgendes Problem: Nachdem ich bei meinem Programm die Anmeldung durchgeführt habe will ich mit folgendem eine neue Seite öffnen: Header("Location: main.php?PHPSESSID=$PHPSESSID"); Bekomme aber immer die folgende Fehlermeldung: Warning: Cannot add header information - headers already sent by (output started at d:\apache\htdocs\login_check.php:47) in d:\apache\htdocs\login_check.php on line 48 Ich habe keine Ahnung mehr, was es noch sein könnte. Vor allem habe ich den Befehl schon verändert. Ein weiteres Forum, das den gleichen "Link" nutzte funktionierte im übrigen. Ich will aus meiner PHP-Seite nur eine neue Seite öffnen und an der die SessionID übergeben... Zitieren
MiH Geschrieben 19. April 2002 Geschrieben 19. April 2002 die header information muss vor dem ersten echo bzw. html header gesendet werden. also am besten so: <?php header(); ?> <html> . . . Zitieren
exe-tm- Geschrieben 23. April 2002 Geschrieben 23. April 2002 Es reicht schon wenn ein Leerzeichen vor dem <?php steht. Dann kann man schon keine Header mehr rausschreiben. Besonders gemein ist dieser Fehler wenn man andere Dateien included, da passiert es schnell, dass mal irgendwo eine Leerzeichen am Anfang oder Ende steht. Zitieren
EvilInside Geschrieben 23. April 2002 Geschrieben 23. April 2002 Der Redirect funktioniert über den HTTP-Header. Wie die Fehlermeldung schon aussagt: output started at d:\apache\htdocs\login_check.php:47 schickst Du offenbar vor dem Redirect Daten an den Browser - dann kann er aber logischerweise nicht mehr redirecten, denn dann wurde der normale HTTP-Header für die Ausgabe bereits gesendet. Um das Problem grundsätzlich zu umgehen, kannst Du einstellen, daß die Ausgabe von PHP ge-buffert werden soll - dann schickt er erst Daten, wenn das PHP-Script abgearbeitet wurde -- allerdings geht das auf Kosten der Performance. In deinem Fall würde ich einfach mal einen Blick auf Zeile 47 richten - dort startet ja angeblich bereits deine Ausgabe. Wenn Du keinen Fehler findest, schau auch mal, ob Du vor dem ersten <? bzw. nach dem letzten ?> keine Leerzeile stehen hast. Evil :cool: Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.