| | | | |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | ||
| Gast
Beiträge: n/a
| eine http-Antwort ist aus zwei Teilen aufgebaut, repsonse_header und repsonse_body. Der response_header muss vollständig vor dem repsonse_body an den client gesendet werden. Andersherum: sobald auch nur das erste Zeichen des response_body gesendet wurde, können keine Daten des response_header gesendet werden. Das ist keine Eigenart von php sondern von http. Die php-Funktion header() fügt dem response_header ein Datum hinzu. Alle anderen Ausgabe (echo/print/<Text ausserhalb eines php-Blocks>/usw.) gehört zum response_body - und dann funktioniert header() nicht mehr. Sessions verwendet per Voreinstellung cookies. Die Werte eines cookies werden auch über header() an den client versendet. Deshalb gilt auch hier: Sobald eine Ausgabe geschieht, können keine cookie Daten mehr versendet werden und somit funktioniert auch session_start() nicht mehr (jedenfalls wird der Keks nicht gesetzt). PHP-Code: PHP-Code: php sagt Dir sogar, wo diese erste Ausgabe statgefunden hat und damit weitere header wirksam unterbindet. Zitat:
siehe auch: http://www.zend.com/zend/tut/session.php http://php.net/ref.outcontrol http://php.net/ob_start | |
| Themen-Optionen | |
| Thema bewerten | |
|
|

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.