Session über DB verwalten

saila

Erfahrenes Mitglied
Hi,

mir geht das mit den Cookies zwischenzeitlich recht auf den Zeiger. Ergo habe ich mich nun entschlossen, eine Session über die DB zu verwalten.

Leider ohne große Idee, wie man das machen kann.

Gut, ein User meldet sich an über ein Formular per email und passwort. Danach wird das über die DB abgefragt und die Userid ermittelt. Ebenfalls wird die IP-Adresse festgehalten. Das ganze war bisher in einem Cookie bzw. auf dem Server hinterlegt.

Nun will ich diese Daten über die DB verwalten.

Weis jemand wie das am besten zu realiesieren ist oder hat jemand einen Link zu einem Tutorial, wobei ich über Google noch kein vernünftiges bzgl. PHP-Session über DB verwalten gefunden habe.

Einen vorgegebenen Code muss nicht sein, Lösungsansätze wären nett.
 
Hilft mir nicht weiter. Grund - irgendwie raff ichs momentan nicht was das Thema Session betrifft.

Folgende weitere Frage um mein Verständnis zu erweitern.

Wenn ein User keine Cookies annimmt, kommt automatisch der Fallback. Aber wie sieht das aus im Code?

Ich hänge zwar die session_id() an die URL an, aber das registrieren von Variablen in die Session erfolgt nicht.

Beispiel:
PHP:
<?php
@session_start();
$sid = session_id();

if(!$_COOKIE[$sid]) {
 // was ist hier zu coden, damit das registrieren von Sessionvariablen möglich wird?
 // Das registrieren folgender Variablen in die Session wird nicht auf den server in das ./tmp - Verzeichnis übernommen. Das bleibt leer.
 $_SESSION['userid'];
 $_SESSION['ip'];
}
else {
 $sid = $sid;
}

Die Einstellungen von PHP Session:
Session Support enabled
Registered save handlers files user

Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 On On
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 100 100
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path /tmp /tmp
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid Off Off

Hat mir jemand eine nachvollziehbare Info? Denn alles was im Netz ist, ist für mich zumindest nicht nachvollziehbar. Selbst Bücher behandeln dieses eigentl. wichtige Thema nur oberflächlich.

Danke im Voraus.
 
Ich stelle fest: Obwohl in diesem Forum massig Sessions besprochen wurde, so haben dieses Thema wohl die wenigsten verstanden. Denn viele gehen davon aus, das eine Session einfach so läuft. Tatsache ist aber, dass eine Session immer erste versucht ein Cookie zu setzen und wenn das nicht geht, wird auch keine Session angelegt, in welcher irgendwelche Variablen gespeichert werden.

Naja, muss ich wohl noch warten.......
 
Tatsache ist aber, dass eine Session immer erste versucht ein Cookie zu setzen und wenn das nicht geht, wird auch keine Session angelegt, in welcher irgendwelche Variablen gespeichert werden.
Eine Session wird mit Aufruf der session_start()-Funktion eröffnet – egal, ob der UA Cookies akzeptiert oder nicht. Auch ist es möglich, Variablen zu deklarieren. Allerdings sind diese nur innerhalb der Laufzeit des Skriptes verfügbar, solange sich der UA nicht sich nicht wieder mit einer bereits existierenden Session-ID identifizieren kann.
 
Zurück