Session wird nicht in DB gespeichert

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Session wird nicht in DB gespeichert

    Hallo,

    also ich habe folgendes Problem. Ich habe eine Loginklasse die bei erfolgreichem Eingeben der Benutzerdaten eine Session in eine DB schreibt.

    Sobald die Benutzerdaten verifiziert worden sind, soll die Session in einer Tabelle gespeichert werden und eine Weiterleitung an eine geschützte Datei folgen. Wenn ich dann die Daten überprüft habe und dann das ganze an eine Methode übergebe die die Session speichern soll, speichert es nichts. Sobald ich aber die Weiterleitung rausnehme wird die Session in der DB gespeichert. Nur es wird natürlich nicht weitergeleitet.

    Hier der Aufruf:

    PHP-Code:
    session_start();
    require(
    'classes/class.login.php');
    if(isset(
    $_POST['loginform'])) {
        
        
    $login = new login();
        
    $userid $login->check_user($_POST['benutzername'], $_POST['passwort']);
            
            if (
    $userid != false) {
                
                
                
    $login->login($userid);
                
    $goto 'start.php';
                
    header("Location: $goto");
            }
            else {            
                
                
    $error '<b>Ihre Anmeldedaten waren nicht korrekt!</b>';                        
            }

    Hier der Teil der Klasse:

    PHP-Code:
    public function check_user($name$pass) { 
            
    $sql="SELECT * FROM benutzer WHERE benutzername='".$name."' AND passwort=MD5('".$pass."') LIMIT 1"
            
    $result mysql_query($sql$this->conn);
            if(
    mysql_num_rows($result)==1) {
                
                
    $user=mysql_fetch_assoc($result);
                
                
    $_SESSION['benutzername'] = $user['benutzername'];
                
    $_SESSION['status'] = $user['status'];
                
    $_SESSION['sessid'] = md5(uniqid(rand(), TRUE));
                return 
    $user['id'];
            }
            else {
                return 
    false
            }        
        }
        
        public function 
    login($userid) {
            
    $zeit time();
            
            
    $sql="UPDATE benutzer SET session = '".$_SESSION['sessid']."' WHERE id=".$userid
            
    mysql_query($sql$this->conn) or die(mysql_error());
            
    $this->href();
        }
        
        public function 
    logged_in() {
            
            
    $sql="SELECT id FROM benutzer WHERE session='".$_SESSION['sessid']."' LIMIT 1"
            
    $resultmysql_query($sql$this->conn); 
            if(
    mysql_num_rows($result)==1) {
                return 
    true;
            }
            else {
                return 
    false;
            }
        } 
    Jemand ne Idee warum das so ist??

    gruß

    Hamstah

  • #2
    ok problem schon gelöst....ich hatte einen falschen aufruf in einer anderen datei.

    Kommentar

    Lädt...
    X