Hallo, ich habe mir eine Klasse geschrieben, die unter anderem folgende Methoden beinhaltet:
Nun rufe ich über eine Loginseite die Methode login() auf. Die Datei sieht im Moment so aus:
Dies geht ist auch erfolgreich. Stelle ich auf die selbe Seite eine Abfrage mit $this->logged_in(1); sagt er mir, ich sei eingelogged. Frage ich nun aber auf einer anderen Seite ab, sagt er mir immer, ich sei nicht eingelogged. Woran liegt das? Der Code der anderen Seite:
Vielen Dank für eure Hilfe,
Doerr
PHP Code:
<?php
class session {
var $userid = "";
var $database = "";
/* Session initialisieren */
function session(&$database) {
session_start();
$this->database = &$database;
}
/* User einloggen */
function login($id = "", $password = "") {
if(empty($id) OR empty($password)) {
$this->error("Login fehlgeschlagen");
}
$this->userid = $id;
$sql = "SELECT * FROM wpc_user WHERE id = '$id' AND password = '$password'";
if(!$this->database->query($sql)) {
return FALSE;
}
session_register($id);
$sql = "INSERT INTO wpc_user (session) VALUES ('$PHPSESSID')";
if(!$this->database->query($sql)) {
return FALSE;
}
return TRUE;
}
/* Prüfen ob User eingelogged ist */
function logged_in($id = "") {
if(empty($id)) {
return FALSE;
}
if(!session_is_registered($id)) {
return FALSE;
}
return TRUE;
}
}
?>
PHP Code:
<?php
include("mysql.php");
include("template.php");
include("session.php");
include("parser.php");
$username = "+";
$password = "+";
$database = "+";
$host = "+";
$backupdir = "+";
$db = new mysql($username, $password, $database, $host);
$tpl = new template($db, $backupdir);
$sess = new session($db);
$par = new parser(TRUE, TRUE);
$sess->login(1, "lalala");
?>
PHP Code:
<?php
include("mysql.php");
include("template.php");
include("session.php");
include("parser.php");
$username = "+";
$password = "+";
$database = "+";
$host = "+";
$backupdir = "+";
$db = new mysql($username, $password, $database, $host);
$tpl = new template($db, $backupdir);
$sess = new session($db);
$par = new parser(TRUE, TRUE);
if($sess->logged_in(1)) {
echo "gut";
}
else {
echo "schlecht";
}
?>
Doerr
Comment