Hallo Jungs,
ich bastel gerade an einer Benutzerverwaltung. Dazu habe ich einige Funktionen geschrieben:
Das setzen der Session funktioniert wunderbar. Allerdings bekomme ich immer eine Fehlermeldung bei dem überprüfen der Session.
Irgendwelche Ideen? Hab, denke ich, eine Kleinigkeit vergessen. Finde die nur leider nicht . DANKE!
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: