PHP Was bedeutet dieser Fehler?

Proxy

LOSEVERLEIH
7 Juni 2009
402
12
Hi!

WOllte mal Fragen was dieser Fehler bedeutet!
Warning: Cannot modify header information - headers already sent by (output started at /users/snx/www/war/session.php:38) in /users/snx/www/war/warenkorb.php on line 75

Weiß jemand zufällig was ich ändern muss dass dieser Fehler nicht ausgegeben wird?

mfg
Proxy
 
Es wurde bereits eine Ausgabe gestartet, bevor alle Header gesendet wurden.

=> Nach echo suchen und nachschauen, dass zuerst alle Header gesendet wurden
 
Hi!

WOllte mal Fragen was dieser Fehler bedeutet!
Warning: Cannot modify header information - headers already sent by (output started at /users/snx/www/war/session.php:38) in /users/snx/www/war/warenkorb.php on line 75

Weiß jemand zufällig was ich ändern muss dass dieser Fehler nicht ausgegeben wird?

mfg
Proxy

Das ist kein MySQL-Fehler.

Lesen hilft übrigens. Die HTTP-Header sind schon gesendet und können deshalb nicht modifiziert werden. Das bedeutet, dass vor deinem header() schon etwas ausgegeben wird.

Greetz

paddya
 
Naja, ohne deinen Code zu kennen werden wir dir das nicht sagen können.

Grundsätzlich bedeutet dieser Fehler, dass du etwas am Header der Antwort ändern möchtest, z.B. die location, obwohl du bereits content zurückgeschickt hast.
Solche Befehle müssen an den Anfang einer Datei vor jeglichen Output.

edit: 2 Leute während ich getippt habe? ô.O
 
Ich gehe mal sehr stark von aus dass du einen anderen fehler/notice vorher hast und dieser an den browser ausgegeben wird. Um dies zu debuggen solltest du vor jedes senden eines headers eine die(); setzen und schauen ob eine fehlermeldung da ist.

also aus so:

PHP:
header("Location: warenkorb.php");

mach so:

PHP:
die();
header("Location: warenkorb.php");

Was auch gerne ein beliebter fehler ist, ist dass du in einer deiner dateien vor dem "<?php" oder nach dem "?>" ein Leerzeichen hast. das muss bei allen dateien entfernt werden.

In deinem Beispiel ist das in der config.php, session.php interessant zu prüfen. Die dateien müssen wirklich nach dem ?> zu ende sein! Auch kein zeilenumbruch mehr!

Gruß
Andi
 
hab das mit dem die(); gemacht, es kommt auch keine Fehlermeldung, allerdings wird der Artikel nicht mehr in den Warenkorb geschrieben!
 
Wenn du die() schreibst, wird das Script eben auch die() machen. Und wer tot is, kann auch nix mehr in den Warenkorb legen :mrgreen:

Wenn keine Fehlermeldung da is und du auch sonst keine Ausgabe (Leerzeichen würde schon genügen!) hast, dann kannst du einen Header senden.
 
es klappt jetzt einwandfrei, kommt keine Fehlermeldung mehr, und in den Warenkorb kommts auch! Jedoch möchte ich noch, wenn man es in den Warenkorb legt, dass man dann zum Warenkorb weitergeleitet wird, und keine weiße Seite kommt. Kann mir jemand sagen wie ich das machen muss?