Der Martin: Session

Beitrag lesen

Hallo,

<?php
include ("auth.php"); /* auth.php nach selfhtml.org */
[...]
?>
Wenn ich mich jetzt einlogge funktioniert das einwandfrei (bzw funktioniert nicht bei falschem Passwort) aber oben drüber teht immer:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /var/www/web277/html/GAME/game.php:1) in /var/www/web277/html/GAME/auth.php on line 2

dann hat die Ausgabe an den Client (Browser) schon begonnen, bevor session_start() aufgerufen wurde. Und die Fehlermeldung sagt sogar, wo: In Zeile 1 von game.php (also ganz am Anfang).

Merke: Alle PHP-Anweisungen, die in irgendeiner Weise HTTP-Header senden oder beeinflussen, müssen ausgeführt werden, bevor irgendein Stück Klartext ausgegeben wird. Sogar ein Zeilenumbruch oder ein Leerzeichen genügt schon, um den Fehler auszulösen. Der Start-Tag des PHP-Abschnitts (also das "<?php") muss daher ganz am Anfang der Datei stehen!
Das betrifft vor allem die Funktionen session_start(), setcookie() und header().

So long,
 Martin

--
Der Alptraum jedes Computers:
"Mir war, als hätte ich gerade eine 2 gesehen."