T
ToM80
Guest
Moin,
ich verzweifel nun schon eine ganze Zeit an meienr Sessionfunktion. Aus diversen Gründen möchte ich nicht auf das von PHP mitgelieferte Session-Handling zurückgreifen (ich bitte von Diskussionen in diese Richtung abzusehen). Stattdessen möchte ich ein eigenes Datenbankbasisertes Sessionhandling integrieren.
Ich habe die Klasse user (hier wird z. B. der Loginvorgang gesteuert) und eine weitere Klasse Session (Sessionhandling).
Nun möchte ich wenn die Logindaten passend sind eine Session in die Datenbank schreiben (klappt) und ein Cookie anlegen (klaptt temporär). Der Loginvorgang läuft via Ajax. Die Seite wird bei erfolgreicher Rückmeldung der Loginfunktion neugeladen.
Genau hier scheint der Cooke wieder gelöscht zu werden, so dass es man anstatt im Programm wieder auf der Loginmaske landet. Ich verstehe nicht wo es hängt
Hier ein wenig Code:
session.class.php:
user.class.php
index.php
ich verzweifel nun schon eine ganze Zeit an meienr Sessionfunktion. Aus diversen Gründen möchte ich nicht auf das von PHP mitgelieferte Session-Handling zurückgreifen (ich bitte von Diskussionen in diese Richtung abzusehen). Stattdessen möchte ich ein eigenes Datenbankbasisertes Sessionhandling integrieren.
Ich habe die Klasse user (hier wird z. B. der Loginvorgang gesteuert) und eine weitere Klasse Session (Sessionhandling).
Nun möchte ich wenn die Logindaten passend sind eine Session in die Datenbank schreiben (klappt) und ein Cookie anlegen (klaptt temporär). Der Loginvorgang läuft via Ajax. Die Seite wird bei erfolgreicher Rückmeldung der Loginfunktion neugeladen.
Genau hier scheint der Cooke wieder gelöscht zu werden, so dass es man anstatt im Programm wieder auf der Loginmaske landet. Ich verstehe nicht wo es hängt
Hier ein wenig Code:
session.class.php:
PHP:
makeNew($uId,$data) {
...
$this->createKey();
$this->cryptKey();
$this->setSessionData();
setcookie("cookiename",$this->secureKey,time()+60000); //die lebensdauer ist testweise gesetzt. normalerweise soll es ein sessioncookie werden
...
}
user.class.php
PHP:
function login ($userId, $pass) {
...
$sess=new indisession();
$sess->makeNew($this->userId, $userData);
$this->chk=1;
...
}
index.php
PHP:
if (isset($_COOKIE['cookiename'])) {
echo '<script type="text/javascript">alert("ff: '.$_COOKIE['cookiename'].'");</script>';
$sess=new indisession();
$sess->chkSession($_COOKIE['cookiename']);
} else {
echo '<script type="text/javascript">alert("tröt");</script>';
$actSite='login';
$siteTitle='Login';
}