Tom: Immer eingeloggt (Cookie?)

Beitrag lesen

Hello,

wir betreiben eine website mit mehreren Servern, leider gibt es immer wieder Session-Probleme.

Welche Probleme sind das?

Wir möchten deshalb ein Cookie setzen, damit der User dauerhaft eingeloggt bleibt.

Das ist innerhalb einer Domain möglich
http://www.php.net/manual/en/function.setcookie.php
siehe hierzu Argunemt "path"

Hat jemand Erfahrung damit, bzw. gibt es vielleicht irgendwo ein kleines Tutorial dazu (wie man dies am besten umsetzt, wie man die Datenbank-Struktur hierzu performant gestaltet,etc.)?

Mir ist jetzt nicht klar, was die Datenbankstruktur direkt mit dem Cookie zu tun haben soll, außer dass man den dort für den User speichern wird.
Da reicht i.d.R. eine Tabelle "Login", in der die gültigen Cookies (für die Seiten des Users) gespeichert werden und eine "User", in der der Loginname und das Passwort hinterlegt werden.

Bei jedem Zugriff schaut man erst nach permanenten Cookies und dann nach transienten.

Wenn einer passt, legt man dort das letzte Zugriffsdatum ab, wenn nicht startet man ggf. den Login-Dialog.

update login set lastclick = now() where trans\_cookie = $trans_cookie

Statuscode und affected rows auswerten. Wenn Update schief ging bzw. keine Zeile betroffen war, war kein gültiges Login vorhaben. Man kann in die Bedinugung auch noch einen Test für die Offenzeit einhbauen

update login set lastclick = now()
   where trans\_cookie = $trans_cookie
   and lastclick > now() - $offenzeit;   # symbolisch. Zeitfunktionen der Datenbanken benuztzen!

Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)