Jan: Sessions in Datenbank speichern

Beitrag lesen

Hallo!

Ich möchte bei erfolgreichem Einloggen eines Users mit Benutzername und Kennwort diesem eine Session-ID zuteilen, welche in einer MySQL Datenbank abgespeichert wird! Diese Session soll über die Datenbank auf einer anderen PHP-Seite zur Verfügung stehen, da in der Session die Variable "steckt" ob der User Adminfukntionen benutzen darf oder nicht...

Hier mal ein Code-Auszug:

login.php
if (!isset ($logged_in)){
echo"<form action="$PHP_SELF" method="post">
      Benutzername:  <input name="Benutzername" type="text" size="12" maxlength="12"><br>
      Kennwort:      <input name="Kennwort" type="password" size="10" maxlength="10"><br>
      <input type="submit" value="Einloggen">
      <input type="hidden" name="logged_in">
      </form>";
}

if (isset ($logged_in)){
$login_query = mysql_query("SELECT id FROM login WHERE Name ='$Benutzername'
                                AND Kennwort ='$Kennwort'");
    $num = mysql_num_rows($login_query);
    if ($num >0){
        $login_success = "true";}
    else {$login_success = "false";}

switch($login_success)
                      {
                      case "true":
                               echo "Login erfolgreich!<br>";
                               $login_row = mysql_fetch_array($login_query);
                               $login_id = $login_row[id];
                               session_start();
                               session_register("login_success");
                               $session = session_id();
                               $login_insert_query = mysql_query("UPDATE
                               login SET Session='$session' WHERE id='$login_id'");break;

case "false":
                               echo "Login <b>nicht</b> erfolgreich!";
                               $login_row = mysql_fetch_array($login_query);
                               $login_id = $login_row[id];
                               session_start();
                               session_register("login_success");
                               $session = session_id();
                               $login_insert_query = mysql_query("UPDATE
                               login SET Session='$session' WHERE id='$login_id'");break;
}
}
?>

Hier soll die Variable der Session überprüft werden:

$session_query = mysql_query("SELECT Session FROM login");
$session_row = mysql_fetch_array($session_query);
$session_id = $session_row[Session];
session_start($session_id);
session_register ("login_success");

if ($login_success == "true")
{

PS: Die Verbindung zur Datenbank besteht, da kann der Fehler also nicht liegen!