Problem mit Sessions

crunch

Mitglied
Hallo Jungs,

ich bastel gerade an einer Benutzerverwaltung. Dazu habe ich einige Funktionen geschrieben:

PHP:
class user {


    function erstelle_session($userID) {

    $ErstellteSession = md5(uniqid(rand()));

    $Zeit = time();

    $Ablaufzeit = $Zeit + 7200;

    $this->DB->query("DELETE FROM sessions WHERE Ablaufzeit < '$Zeit'");

        
    $sql =  "INSERT INTO sessions (Session,Ablaufzeit,Validierung,userID) VALUES ";

    $sql .=  "('$ErstellteSession','$Ablaufzeit',0,$userID)";

    setcookie("MeineSession", $ErstellteSession, $Ablaufzeit);

    $this->DB->query($sql);

    }

    function pruefe_session($session) {

    $sql =  "SELECT userID FROM sessions WHERE Session = '$session'";

    $sql = $this->DB->query($sql);

    $row = mysql_fetch_array($sql);

    return $row[userID]; /* Zeile 85 user.class.php */

    echo 'userId: ';

    echo $row[userID];

        }

    function getSessions() {

          $ID = array();

          $select = 'SELECT ID FROM sessions';

          $this->DB->query($select);

          $i = 0;

          while($this->DB->next_record()) {

                $ID[] = $this->DB->f("ID");

          }

                  return $ID;

     } // ENDE Function getSessions



     function getSessionData($sessionID) {

        $select = 'SELECT session, Ablaufzeit, Validierung, userID  FROM sessions WHERE (ID = '.$sessionID.')';

        $this->DB->query($select);

        if($this->DB->next_record()) {

            $this->session               = $this->DB->f("session");

            $this->Ablaufzeit            = $this->DB->f("Ablaufzeit");

            $this->Validierung           = $this->DB->f("Validierung");

            $this->userID              = $this->DB->f("userID");

            $this->sessionID             = $ID;

        }

    } // end function getSessionData

}

Es gibt eine Tabelle "user" und eine Tabelle "Sessions".

und das hier steht in meiner Index.php
PHP:
<?php

// Debug Meldungen einschalten
error_reporting(E_ALL);
ini_set('display_errors', TRUE);

$mylogin = new user;

$loginID = $mylogin->pruefe_session($MeineSession);
 /* Zeile 13 index.php */
if ($loginID == 0)

  {
echo "schei**";
}

else {$LoginOK = "true";

$mylogin->getUserData($loginID);

}

?>

Das setzen der Session funktioniert wunderbar. Allerdings bekomme ich immer eine Fehlermeldung bei dem überprüfen der Session.

Notice: Undefined variable: MeineSession in /index.php on line 13

Notice: Use of undefined constant userID - assumed 'userID' in /user.class.php on line 85

Irgendwelche Ideen? Hab, denke ich, eine Kleinigkeit vergessen. Finde die nur leider nicht :(. DANKE!
 
Zuletzt bearbeitet:
Das sind keine Fehlermeldungen, sondern nur Meldungen, die dir sagen, dass PHP etwas gefunden hat, was der Interpreter zwar versteht, aber was dennoch nicht schön ist.

Zur ersten Meldung:
Du verwendest eine Variable, deren Wert du nie festgelegt hast.

Zur zweiten Meldung:
Du hast da folgendes stehen:
PHP:
echo $row[userID];
Es sollte aber so aussehen:
PHP:
echo $row['userID'];
 
Hi..

die zweite Meldung war natürlich Mist.. danke für den Hinweis. Hab das mal behoben.

Zur ersten Meldung:

Die Variable soll natürlich $MeineSession heißen. Wie komm ich den an meine Session, die ich vorher gesetzt habe, dran? Gesetzt hat er sie auf jeden Fall.

THX
 
Zurück