Robert Steichele
Erfahrenes Mitglied
In meinem internen Bereich habe ich noch vor dem <html> Tag die Datei checkuser.php eingebunden. Diese überprüft ob die Variable $_SESSION["username"] existiert und leitet auf die indexlogin.php weiter, wenn sie nicht existiert. Dadurch werden die internen Datei nur geladen, wenn sich ein Benutzer angemeldet hat.
checkuser.php:
Jetzt habe ich das Problem, dass die interne Navigation nicht angezeigt wird, wenn ich eine öffentliche Datei lade (Benutzer ist angemeldet). Deshalb möchte ich vor dem laden der internen Navi prüfen ob ein Benutzer angemeldet ist.
Um mit den öffentlichen Dateien Zugriff auf die Session-variablen zu bekommen habe ich in den öffentlichen Dateien anstatt der checkuser.php am Anfang die checksession.php eigebunden.
checksession.php:
Wenn ich jetzt allerdings ein öffentliche Datei lade (Benutzer ist angemeldet), erscheint folgende Fehlermeldung:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/www/htdocs/robert-steichele.de/agb.php:1) in /home/www/htdocs/robert-steichele.de/includes/checksession.php on line 3
Ich verstehe jetzt nicht ganz, warum die Meldung kommt wenn die checksession.php eingebunden ist und nicht, wenn die checkuser.php eingebunden ist. Bei beiden wird bereits vor dem <html> Tag die Session gestartet.
checkuser.php:
PHP:
session_start ();
if(!isset($_SESSION["username"])) {
header("Location: indexlogin.php?error=2");
}
Jetzt habe ich das Problem, dass die interne Navigation nicht angezeigt wird, wenn ich eine öffentliche Datei lade (Benutzer ist angemeldet). Deshalb möchte ich vor dem laden der internen Navi prüfen ob ein Benutzer angemeldet ist.
Um mit den öffentlichen Dateien Zugriff auf die Session-variablen zu bekommen habe ich in den öffentlichen Dateien anstatt der checkuser.php am Anfang die checksession.php eigebunden.
checksession.php:
PHP:
session_start ();
Wenn ich jetzt allerdings ein öffentliche Datei lade (Benutzer ist angemeldet), erscheint folgende Fehlermeldung:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/www/htdocs/robert-steichele.de/agb.php:1) in /home/www/htdocs/robert-steichele.de/includes/checksession.php on line 3
Ich verstehe jetzt nicht ganz, warum die Meldung kommt wenn die checksession.php eingebunden ist und nicht, wenn die checkuser.php eingebunden ist. Bei beiden wird bereits vor dem <html> Tag die Session gestartet.