Ajax Request

as333

Erfahrenes Mitglied
Hi,

ich habe versucht mit PHP ein automatisches Logout zu realisieren.
Leider klappt es nicht, da man bei PHP die Seite manuell aktualisieren muss.

Ein User hat mir mitgeteilt, dass es mit Hilfe eines Ajax Scriptes möglich wäre.
Es müsste dabei alle paar Minuten ein Request an den Server geschickt werden der die Zeit überprüft.
Und wenn die aktuelle Zeit größer ist als die Zeit in der Datenbank soll der User automatisch abgemeldet werde.

Kann mir hierbei bitte jemand helfen, da ich mit Ajax noch nicht zurecht komme.
Wäre super wenn mir jemand zeigen bzw. helfen könnte diese Script zu verwirklichen.
 
Warum diese Zeitrequests? Unnötiger Ballast.

Versuch es mal mit php-Sessions. Anstatt regelmäßig abzufragen, ob er noch darf, drehst Du die Sache einfach um : Darf er noch, wenn eine Anfrage stattfindet.

Hier ein Link: http://tut.php-q.net/de/sessions.html

mfg chmee
 
Hi,

mit Sessions arbeite ich schon.
Nur das Problem liegt ja darin wenn jetzt der Benutzer beispielsweise für 20 Minuten nichts macht und in der Datenbank steht das er aber nur 10 Minuten zeit hat, aktualisiert sich seine Seite ja nicht automatisch.
Der soll dann auch schon nach den 10 Minuten auf eine Seite umgeleitet werden wo er sich wieder anmelden muss, wenn er was machen möchte.

Oder ist das vielleicht doch mit PHP möglich?
Das habe ich nicht hinbekommen. Wäre super wenn du mir zeigen könntest wie das geht.
 
Moin,

du kannst über einen Refresh-Header veranlassen, dass nach einer bestimmten Zeit zu einer bestimmten Adresse umgeleitet wird.
 
Hi,

geht das dann immer nur zu einer bestimmten zeit oder kann man das dynamisch regeln wenn sich die Uhrzeit in der Datenbank ändert?
 
Dieser Zeitpunkt müsste in dem Moment feststehen, zu dem die Seite geladen wird.

Aber ich wills mal so sagen: wenn du da generell ein Refresh nach 10min machst, wrde ich das für annehmbar ansehen..10min ist ja schon eine recht lange Verweildauer.

Aber du könntest auch einfach die Session-Dauer über session.gc_maxlifetime festlegen, das würde dir das ganze herumgelade ersparen.
 
Hi,

der Zeitpunkt bis man abgemeldet wird soll dynamisch erfolgen.
Sprich wenn man nichts tut läuft eine Countdown-Timer der anzeigt wann man abgemeldet wird.
Deswegen kann ich es nicht über session.gc_maxlifetime machen.
Es soll so funktionieren wie wenn man beispielsweise beim Online-Banking nichts mehr macht automatisch nach der Zeit abgemeldet wird.
Dort sind ja auch 10 Minuten angegeben, wenn man aber zum Beispiel eine Überweisung oder ähnliches tätigt wird die Zeit wieder verlängert und wenn man nichts macht automatisch abgemeldet.
 
Wie wärs denn damit, dass Du die Session-Lifetime auf zB 10min stellst und auf Deiner Seite quasi mit jedem Neuladen der Seite lediglich einen Timer -10min einblendest (der runterzählt), welcher ROT wird, wenn 10min. vergangen sind. Damit ist er informiert, dass er (indirekt per lifetime) abgemeldet ist. Keine Ajax-Rückfrage, sondern nur eine Info.

mfg chmee
 

Neue Beiträge

Zurück