Ich verstehe es nicht
Bei folgendem Codeausschnitt wird immer bloß $level und $last ausgegeben... und $user bleibt immer leer... warum nur?
... später frage ich ab, ob $known true ist. Ist dies der Fall, werden die Sessionvariablen ausgegeben... sonst sowas wie "User unbekannt".
Anhand des Cookies sollen User, die sich schon einmal eingelogged haben wiedererkannt werden. Beim anmelden werde Username und Passwort gePOSTed, daher oben die Abfrage...
Die Cookies werden gesetzt und ausgelesen, das habe ich getestet. Auch der Abgleich mit der DB hat im Einzeltest funktioniert... ich denke, dass es an den Sessions liegt... ist auch mein erster Versuch damit.
Bitte helft mir
Gruß,
pooky
Ach ja, das ganze steht in der index.php, die bei jedem Seitenwechsel mit teilweise neuem Inhalt neu geladen wird.
Bei folgendem Codeausschnitt wird immer bloß $level und $last ausgegeben... und $user bleibt immer leer... warum nur?
PHP-Code:
<?php
if (session_is_registered("user") && session_is_registered("level")) $known = 1;
else {
if ($_COOKIE["btvname"] && $_COOKIE["btvpass"]) {
$n = $_COOKIE["btvname"];
$p = $_COOKIE["btvpass"];
} elseif ($_POST["pname"] && $_POST["ppass"]) {
$n = $_POST["pname"];
$p = $_POST["ppass"];
}
if ($n) {
include ("protected/db_connect.inc.php");
$res = mysql_query("SELECT name,pass,level,last FROM user WHERE name = '$n'");
if (mysql_num_rows($res) == 0) {
$l_err = "Dieser Benutzer existiert nicht.";
$known = 0;
mysql_close($db);
} else {
$data = mysql_fetch_array($res);
if ($data["pass"] != $p) {
$l_err = "Das Passwort ist falsch.";
$known = 0;
} else {
$user = $data["name"];
$level = $data["level"];
$last = $data["last"];
setcookie("btvname",$data["name"],time()+3600*24*30);
setcookie("btvpass",$data["pass"],time()+3600*24*30);
session_start();
session_register("user");
session_register("level");
session_register("last");
mysql_query("UPDATE user SET last = ".time());
$known = 1;
}
mysql_close($db);
}
}
}
echo $l_err;
echo $user;
echo $level;
echo $last;
?>
Anhand des Cookies sollen User, die sich schon einmal eingelogged haben wiedererkannt werden. Beim anmelden werde Username und Passwort gePOSTed, daher oben die Abfrage...
Die Cookies werden gesetzt und ausgelesen, das habe ich getestet. Auch der Abgleich mit der DB hat im Einzeltest funktioniert... ich denke, dass es an den Sessions liegt... ist auch mein erster Versuch damit.
Bitte helft mir
Gruß,
pooky
Ach ja, das ganze steht in der index.php, die bei jedem Seitenwechsel mit teilweise neuem Inhalt neu geladen wird.
Kommentar