Hallo community! (das ist übrigens mein erster post)
Ich hätte da ein Problem
Zu dritt sollen wir für die Schule ein kleines Projekt realisieren, ich und ein zweiter programmieren das ganze.
Erst hatte ich ein simples login system geschrieben, mit einfachen cookies (per setcookie). Das funktionierte nicht ganz, der normale user konnte sich ein und ausloggen, aber der admin nicht mehr aus.
Auf einen rat hin habe ich das ganze auf sessions umgeschrieben, damit kenn ich mich aber nicht wirklich aus. Nun soll beim Login ein cookie gesetzt werden und das soll für den admin im ganzen Server gültig sein ("/") und für den User in "/user/".
So mach ich das:
Seht ihr darin einen Fehler?
Denn der Client erhällt BEIDE cookies! Im Cookie Manager von Mozilla werden 2 aufgelistet. Beide heissten PHPSESSID und enthalten die gleiche ID, also den selben Value. Nur der Pfad unterscheidet sich, einer mit "/" und einer mit "/user/".
Ich hoffe ich hab mein Problem ausreichend erläutert, jetzt hoff ich mal das wer die Lösung kennt
Thx,
MFG Beliar
Ich hätte da ein Problem
Zu dritt sollen wir für die Schule ein kleines Projekt realisieren, ich und ein zweiter programmieren das ganze.
Erst hatte ich ein simples login system geschrieben, mit einfachen cookies (per setcookie). Das funktionierte nicht ganz, der normale user konnte sich ein und ausloggen, aber der admin nicht mehr aus.
Auf einen rat hin habe ich das ganze auf sessions umgeschrieben, damit kenn ich mich aber nicht wirklich aus. Nun soll beim Login ein cookie gesetzt werden und das soll für den admin im ganzen Server gültig sein ("/") und für den User in "/user/".
So mach ich das:
PHP:
//Bissl code ist noch hier oben. (Aber keine Ausgabe! Der HTTP Header wurde noch nicht // verschickt)
if ( (isset($_POST['uname']) && isset($_POST['pw'])) && ($_POST['uname'] != "" && $_POST['pw'] != "")) {
if ( ($pw = getMitarbeiterPW($_POST['uname'])) == NULL ) {
// Error handling
} else {
if ( $pw == $_POST['pw'] ) {
if ( $_POST['uname'] != $admin ) {
session_set_cookie_params(0,'/user/');
@session_start();
$_SESSION['loggedin'] = $_POST['uname'];
$cookieres = true;
$redirect = "http://localhost/user/index.php";
} else if ( $_POST['uname'] == $admin ) {
session_set_cookie_params(0,'/');
@session_start();
$_SESSION['loggedin'] = $_POST['uname'];
$cookieres = true;
$redirect = "http://localhost/admin/index.php";
}
} else {
//restlicher code...
Seht ihr darin einen Fehler?
Denn der Client erhällt BEIDE cookies! Im Cookie Manager von Mozilla werden 2 aufgelistet. Beide heissten PHPSESSID und enthalten die gleiche ID, also den selben Value. Nur der Pfad unterscheidet sich, einer mit "/" und einer mit "/user/".
Ich hoffe ich hab mein Problem ausreichend erläutert, jetzt hoff ich mal das wer die Lösung kennt
Thx,
MFG Beliar