session_start() nicht möglich - headers already sent
davidp
- php
Hi,
session_start() gehört ja ganz an den anfang, sonst kommt der Fehler: Cannot send session cache limiter - headers already sent (output started at /... .php:1) in /... .php:2
Doch bei mir steht es ganz am Anfang! (Zeile 2 sagt er weil in Zeile 1 <?PHP steht)
Ich habe heute schon Probleme mit der Zeichenkodierung gehabt und es gibt da ja ein sogenanntes BOM (Wikipedia: BOM) am Anfang, jetzt (mit der richtigen Kodierung) sehe ich keines aber könnte es vl. doch für den Fehler verantwortlich sein?
Ich hoffe jemand kann mir helfen,
davidp
Hallo,
Ich habe heute schon Probleme mit der Zeichenkodierung gehabt und es gibt da ja ein sogenanntes BOM (Wikipedia: BOM) am Anfang, jetzt (mit der richtigen Kodierung) sehe ich keines aber könnte es vl. doch für den Fehler verantwortlich sein?
Wahrscheinlich wird es aber genau daran liegen ... Das Problem hatte ich auch schon in einem anderen Zusammenhang. ;) Schau Dir mal an, was wirklich im response header steht - und vergleich dann mit der gesetzten Kodierung im Skript sowie dem Dateiformat.
Grüße,
luti
Hi,
Wahrscheinlich wird es aber genau daran liegen ... Das Problem hatte ich auch schon in einem anderen Zusammenhang. ;) Schau Dir mal an, was wirklich im response header steht - und vergleich dann mit der gesetzten Kodierung im Skript sowie dem Dateiformat.
Kodierung vom Browser aus ist Unicode (UTF-8)
Die Datei ist im Format UTF-8 gespeichert (Wenn ich sie als Unicode speichere gibt der Server mir den PHP-Code aus...)
Grüße, davidp
Hallo,
Kodierung vom Browser aus ist Unicode (UTF-8)
Und was genau steht im response header?
Grüße, luti
Hi,
Hallo,
Kodierung vom Browser aus ist Unicode (UTF-8)
Und was genau steht im response header?
Grüße, luti
wie kann ich den auslesen?
Grüße, davidp
Hallo,
wie kann ich den auslesen?
Ich benutze für solche Fälle den Firebug ...
Grüße, luti
hi,
Und was genau steht im response header?
wie kann ich den auslesen?
https://addons.mozilla.org/de/firefox/addon/60
Mit dem hast du eine Leiste, in der ein Punkt "Informationen" steht, unter diesem findest du "Antwort-Header anzeigen".
Wenn du testen möchtest, ob deine Ressource eine BOM erzeugt, in deinem Browser die Seite aufrufen und die Zeichenkodierung, die die Seite hat, Manuell auf ISO-8859-1 stellen; hat dir zwar der dedlfix schon geschrieben, ich wiederhole es aber trotzdem.
Wenn du eine BOM hast, zeigt dir der Browser die Zeichen .
mfg
Hi,
hab die Lösung gefunden: Ich hab die Datei im ANSI-Format gespeichert und nicht im UTF-8 Format. Dann war der Fehler weg.
Grüße, davidp
Hi!
hab die Lösung gefunden: Ich hab die Datei im ANSI-Format gespeichert und nicht im UTF-8 Format. Dann war der Fehler weg.
Nein, du hast nur eine Umgehung gefunden, und dir möglicherweise weitere Zeichenkodierungsprobleme eingehandelt. Es deutet jedenfalls stark darauf hin, das du UTF-8 mit BOM speicherst. Schau lieber im Browser nach, was der bekommt als im Editor, der dir die BOM nur beim Speichern hinzufügt, aber sie normaler- und verständlicherweise nicht anzeigt. Auch der Browser wird sie dir möglicherweise nicht anzeigen, wenn er sich auf UTF-8 eingestellt hat. Händisch umgestellt auf ISO-8859-1 solltest du die drei BOM-Bytes auf alle Fälle als Zeichen sehen.
Lo!
Hi!
session_start() gehört ja ganz an den anfang, sonst kommt der Fehler: Cannot send session cache limiter - headers already sent (output started at /... .php:1) in /... .php:2
Doch bei mir steht es ganz am Anfang! (Zeile 2 sagt er weil in Zeile 1 <?PHP steht)
Das mit dem Anfang ist nicht richtig. Es darf nur keinerlei Ausgabe erfolgt sein, wozu auch Zeichen außerhalb der PHP-Bereiche zählen.
Ich habe heute schon Probleme mit der Zeichenkodierung gehabt und es gibt da ja ein sogenanntes BOM (Wikipedia: BOM) am Anfang, jetzt (mit der richtigen Kodierung) sehe ich keines aber könnte es vl. doch für den Fehler verantwortlich sein?
Auf welche Weise genau überprüfst du, dass da nichts ist?
Lo!
Hi,
Auf welche Weise genau überprüfst du, dass da nichts ist?
Naja im Editor steht davor eben nichts es fängt an mit:
<?PHP
session_start();
Grüße, davidp
Hi,
Auf welche Weise genau überprüfst du, dass da nichts ist?
Naja im Editor steht davor eben nichts es fängt an mit:
<?PHP
session_start();
Und "vor" dem < steht die BOM, wenn du das Dokument mit einer solchen gespeichert hast - du siehst sie nur nicht.
Also schau in deinem Editor, wie du dort Dateien als UTF-8 ohne BOM speichern kannst.
MfG ChrisB
Hallo,
du findest hier im archiv einiges dazu, hatten wir grade. ja, es wurde bereits eine ausgabe erzeugt, ja, wenn es nichts anderes war, dann ists der bom. teste einen anderen editor u.u..
Gruß
jobo
Hallo,
du findest hier im archiv einiges dazu, hatten wir grade. ja, es wurde bereits eine ausgabe erzeugt, ja, wenn es nichts anderes war, dann ists der bom. teste einen anderen editor u.u..
... sorry, ich sah zu spät, dass schon geantwortet wurde.
Gruß
jobo