2011-01-09 9 views
2

Ich kann nicht herausfinden, warum jemand Hilfe?Warum kann vor Session_Start() nichts ausgegeben werden?

+0

Warum würden Sie, bevor es zur Ausgabe etwas wollen? – BoltClock

+1

mögliches Duplikat von [Warum kann ich session_start() nicht in meinem PHP-Skript verwenden? Es heißt, Header sind bereits gesendet.] (Http://stackoverflow.com/questions/712326/why-cant-i-use-session-start-in-my-php-script-it-says-headers-are-ready -sen) – mario

Antwort

6

simple: session_start setzt Ihr php Session-Cookie und Cookies können nur im http-Header gesetzt werden. php muss den Header senden, bevor er Inhalte senden kann. Sobald Sie mit der Ausgabe von Inhalten beginnen, sendet php implizit den HTTP-Header und deaktiviert damit die Änderung der Header-Werte.

ein gemeinsamer Weg, dies zu verhindern, ist die Ausgabe-Pufferung verwenden - siehe http://php.net/manual/de/ref.outcontrol.php

+0

Danke für Ihre Antwort, es ist ziemlich klar.Ich zweifle an dieser Frage vor allem, weil ich nicht wusste, dass HTTP-Header gesetzt und gesendet werden müssen, bevor Daten übertragen werden, so dachte ich, warum nicht den Header erneut senden, wenn session_start() heißt. Jetzt habe ich es, danke. – DiveInto

Verwandte Themen