Guten Abend!
Ich beginne gerade, mich etwas mit PHP und Sessions zu befassen. Doch bereits beim Grundbefehl session_start() ergibt sich ein Fehler...
Hier meine Situation:
Es existiert eine index.php, welche über das Browserargument "page" die zu anzuzeigende Seite erhält:
Nun existiert eine andere php-Datei mit dem Namen "login.php". Das Aufrufen bzw. eigentlich Einbinden klappt ohne Probleme. Doch nun das Problem:
In dieser login.php befindet sich ziemlich weit oben ein session_start() um eine Session zu starten. Im Browser werden dann folgende 2 Fehlermeldungen ausgegeben:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at ...Pfad.../index.php:90) in ...Pfad.../login.php on line 35
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at ...Pfad.../index.php:90) in ...Pfad.../login.php on line 35
So weit ich weiß und mich bereits informiert habe, funktioniert das ganze also deswegen nicht, weil bereits Informationen an den Browser gesendet wurden und daher keine neue Session erstellt werden kann, oder zum Beispiel auch header() nicht mehr angewendet werden kann.
Meine Frage nun: Kann man das ganze irgendwie umgehen? Es wird doch sicher mehr Skripte geben, die ein ähnliches "Einbindungsverfahren" der Unterseiten nutzen und genauso mit Sessions arbeiten, oder? Kann man dem Browser bzw. Server irgendwie befehlen, so lange nichts zu senden, bis die Seite fertig aufgebaut bzw. durchgearbeitet ist? Oder kann mir wer Tipps geben; wie würdet ihr das lösen?
Mit freundlichen Grüßen
Ich beginne gerade, mich etwas mit PHP und Sessions zu befassen. Doch bereits beim Grundbefehl session_start() ergibt sich ein Fehler...
Hier meine Situation:
Es existiert eine index.php, welche über das Browserargument "page" die zu anzuzeigende Seite erhält:
PHP-Code:
<?php
$page=$_GET["page"];
if($page != "")
{
include($page.".php");
}
else
{
include("start.php");
}
?>
In dieser login.php befindet sich ziemlich weit oben ein session_start() um eine Session zu starten. Im Browser werden dann folgende 2 Fehlermeldungen ausgegeben:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at ...Pfad.../index.php:90) in ...Pfad.../login.php on line 35
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at ...Pfad.../index.php:90) in ...Pfad.../login.php on line 35
So weit ich weiß und mich bereits informiert habe, funktioniert das ganze also deswegen nicht, weil bereits Informationen an den Browser gesendet wurden und daher keine neue Session erstellt werden kann, oder zum Beispiel auch header() nicht mehr angewendet werden kann.
Meine Frage nun: Kann man das ganze irgendwie umgehen? Es wird doch sicher mehr Skripte geben, die ein ähnliches "Einbindungsverfahren" der Unterseiten nutzen und genauso mit Sessions arbeiten, oder? Kann man dem Browser bzw. Server irgendwie befehlen, so lange nichts zu senden, bis die Seite fertig aufgebaut bzw. durchgearbeitet ist? Oder kann mir wer Tipps geben; wie würdet ihr das lösen?
Mit freundlichen Grüßen
Kommentar