ERLEDIGT
JA
JA
ANTWORTEN
11
11
ZUGRIFFE
1299
1299
EMPFEHLEN
-
Hi,
ich habe einen Login Bereich für meine User erstellt.
Einige User vergessen natürlich sich ab und zu ordentlich abzumelden und schließen nur den Browser.
Das habe ich mit Hilfe des Unix Timestamp gelöst, sodass alle Leute die nach 5 Minuten inaktivität ausgeloggt werden.
Nur das Problem besteht darin, dass wenn ein User nur den Browser schließt er trotz der Abfrage so lange eingeloggt bleibt bis ein anderer User auf die Startseite geht. Erst dann wird er auch aus der Datenbank gelöscht.
Gibt es hierbei eine Möglichkeit dass das automatisch geschehen kann?
Und wenn sich jemand weiteres einloggt, soll erscheinen das sich ein weiterer User eingeloggt hat.
Muss man hierfür immer die aktuelle Seite aktualisieren oder gibt es ne Möglichkeit das es eingeblendet werden kann ohne das der User etwas machen muss?
Aber wichtiger ist erstmal die Sache mit dem automatischen löschen aus der Datenbank.
-
Das geht bestimmt über einen Garbage-Collector von PHP, aber da fehlt mir das Wissen. Zumal ich glaube, dass dieser nicht alle 5 Minuten läuft.
Was aber alle paar Minuten laufen kann sind Cronjobs, die eine PHP auf deinem Server "anstubsen" welche alle Sessions löscht, die älter als die Lebenszeit sind. Gilt allerdings nur sofern du eine eigene Sessionverwaltung hast. Also: Schwierig!
Einfacher gehts sicherlich über JavaScript das bei einem onUnload (http://de.selfhtml.org/javascript/sp...enthandler.htm) kurz per AJAX eine PHP anstubst, die die Session löscht. Bedenke aber, dass nicht jeder JS aktiviert hat und das onUnload bei jedem Seitenwechsel aufgerufen wird (behebbar durch geschickte Framesets).
Worin liegt hier der Sinn?Geändert von ZodiacXP (17.08.09 um 22:42 Uhr) Grund: onUnload
Gebe keine Hilfe per PN, Mail, Instant Messenger etc.
und keine Copy&Paste-Lösungen - ein bisschen selbst nachdenken sollte drin sein. Konstruktivismus 4tw!
MfG, Zod
__________________
rpd Framework: Rapid Web-Engineering in PHP (Manual | Google Code)
-
Hi ZodiacXP,
an JavaScript hatte ich auch schon gedacht, bin da aber wie du auch geschrieben hast wegen dem deaktivieren von JavaScript abgekommen.
Muss mir mal anschauen wie das mit JavaScript geht, weil JavaScript kann ich noch nicht.
Ich möchte dem eingeloggten User zeigen dass sich ein neuer User einloggen möchte, und er in 5 Minuten ausgeloggt wird.Worin liegt hier der Sinn?
-
Gebe keine Hilfe per PN, Mail, Instant Messenger etc.
und keine Copy&Paste-Lösungen - ein bisschen selbst nachdenken sollte drin sein. Konstruktivismus 4tw!
MfG, Zod
__________________
rpd Framework: Rapid Web-Engineering in PHP (Manual | Google Code)
-
-
Hallo,
ich habe noch eine weitere Frage.
Ist es möglich das wenn man ausgeloggt werden soll das dies komplett automatisch geschieht?
Weil im Moment muss immer noch die Seite manuell aktualisiert werden.
Es müsste die Seite voll automatisch ohne fremde Einwirkung eines User aktualisiert werden und dann automatisch auf eine weitere Seite weitergeleitet werden, sodass man ausgeloggt ist.
Bin über alle Hinweise froh, da ich im Moment wirklich nicht weiter komme.
-
Meta Refresh in HTML http://de.selfhtml.org/html/kopfdaten/meta.htm
header in PHP http://de.php.net/manual/de/function.header.php
window.setTimeout in JavaScript http://de.selfhtml.org/javascript/objekte/window.htmGebe keine Hilfe per PN, Mail, Instant Messenger etc.
und keine Copy&Paste-Lösungen - ein bisschen selbst nachdenken sollte drin sein. Konstruktivismus 4tw!
MfG, Zod
__________________
rpd Framework: Rapid Web-Engineering in PHP (Manual | Google Code)
-
Hi,
erstmal danke für die Hinweise.
Aber ich werde daraus nicht so ganz schlau.
Wenn ich mit Hilfe von Meta refresh die Seite aktualisieren lasse wird sie ja permanent aktualisiert und somit würde bei mir jedes Mal in die Datenbank geschrieben das der Benutzer noch aktiv ist.
Die Seite soll sich aber erst automatisch aktualisieren wenn sich ein weiterer User versucht anzumelden.
Oder bin ich vielleicht mit dem aktualisieren auf dem falschen Weg?
Es soll so funktionieren das wenn sich ein weiterer User versucht anzumelden der aktuelle User voll automatisch abgemeldet wird.
Für den Zeitpunkt bei dem der User abgemeldet werden soll wird bei mir bereits in die Datenbank ein Unix Timestamp geschrieben.
Dieser wird verglichen ob er kleiner ist wie die aktuelle Zeit und dann wird der User abgemeldet.
NUr das funktioniert bei mir zur Zeit nur so wenn man manuell die Seite aktualisiert.
Wenn kein weiterer Benutzer versucht sich anzumelden soll es nicht automatisch aktualisiert werden, da dann ansonsten jedes Mal in die Datenbank die aktuelle Zeit + x Minuten geschrieben werden.
Gibt es da vielleicht eine einfache Möglichkeit dies zu realisieren.
-
Wenn ich das jetzt richtig verstanden habe, dann kann sich ein User einloggen.
Für maximal 5 Minuten. Wenn die 5 Minuten abgelaufen sind, soll er automatisch ausgeloggt werden?
Wenn innerhalb der 5 Minuten ein anderer User sich einloggt, wird der erste User rausgeschmissen?
Irgendwie raff ich nicht, was Du genau vorhast.
-
Du hast das richtig verstanden. Also den Ablauf was passieren soll.
Wenn sich kein weiterer versucht anzumelden soll der erste User so lange drin bleiben bis das er nicht mehr aktiv ist und somit keine neue Zeit in die Datenbank geschrieben wird.
Wenn jedoch ein weiterer User sich versucht anzumelden soll dieser nach den x-Minuten automatisch rausgeschmissen werden.
Ich weiß es ist nicht besonders sinnvoll nur immer einen User sich anzumelden lassen.
Es müsste aber doch mit Hilfe von PHP machbar sein, oder?
-
Ich würde das Ganze mit nem AJAX Script lösen.
Jede Minute nen Request an den Server, der die aktuelle Zeit überprüft.
Wenn die Zeit von 5 Minuten abgelaufen ist oder ein neuer User sich eingeloggt hat, den User rauswerfen.
Cookie bzw. Session löschen und einmal Seite neu laden.
Javascript deaktivieren würde das Ganze dann natürlich unterbinden, aber wer hat Javascript heute noch deaktiviert?
Man könnte natürlich auch den User dazu zwingen Javascript aktiviert zu haben.
Allerdings biste dann wieder dabei, dass schummeln zu unterbinden.
Eine automatische Ausloggfunktion mit nur PHP wird da nicht funktionieren.
Denn PHP kann ja erst bei einem Refresh arbeiten und die neuen Daten besorgen
-
Hi,
mit AJAX kenne ich mich noch nicht so aus.
Hast du vielleicht ne kleine Hilfestellung oder vielleicht schon ein Script das man anpassen kann?
Wäre super nett von dir.
Ähnliche Themen
-
Problem bei Eigenem Login Bereich zu Typo3 Login bereich
Von Gunah im Forum PHPAntworten: 2Letzter Beitrag: 08.10.07, 11:38 -
Seite weiterleiten mit Login-Daten -> automatisches Login
Von tinella im Forum PHPAntworten: 2Letzter Beitrag: 04.09.07, 23:19 -
login bereich
Von raidach im Forum PHPAntworten: 1Letzter Beitrag: 23.05.06, 20:51 -
Automatisches Login Script
Von gnetos im Forum PHPAntworten: 5Letzter Beitrag: 21.06.05, 15:31 -
shell ,befehle und automatisches login
Von darkman im Forum Linux & UnixAntworten: 4Letzter Beitrag: 23.12.03, 03:29





Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren