• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Logout erinnerung

Tobi2503

Neues Mitglied
Meine "Comunity" besteht aus mehreren seiten und ich möchte das wenn man meine "community" verlassen will ohne sich ausgelogt zu haben, so ein alert('Logout nicht vergessen..'); kommt, und das verlassen der "Community" verhindert...

Ich hoffe ihr versteht was ich sagen will..
Würde mich freuen wenn mir jemand soein script erstellen könnte..

Ich habe bereits soein script gefundem aber dieses Script erinnert mich auch an den logout wenn ich mich innerhalb der Comunity bewege..

MFG TOBII
 
ja des problem wirst du eigentlich immer haben weil das mit dem onunload eventhandler funktioniert und der wird immer ausgelöst, auch beim wechseln der Seite du müsstest deine community so umbauen das die Seiten mit der AJAX Technologie geladen wird weil dann wird das onunload event nicht ausgelöst dann sollte es so funktionieren wie du dir das vorstellst
 
Welchen Sinn hat so eine Erinnerung überhaupt? Ich als User möchte selbst entscheiden, ob ich mich auslogge, oder nicht. Wenn ich dauernd durch so eine überflüssige Meldung genervt werden würde, würde ich deine Seite nie wieder besuchen.
 
Welchen Sinn hat so eine Erinnerung überhaupt? Ich als User möchte selbst entscheiden, ob ich mich auslogge, oder nicht. Wenn ich dauernd durch so eine überflüssige Meldung genervt werden würde, würde ich deine Seite nie wieder besuchen.
So siehts aus!

Wenn du ständig vergisst dich abzumelden, kleb dir nen Zettel an den Monitor. Ich für meinen Teil möchte eine solche Meldung nicht.
 
In #3 war wohl der onunload-Eventhandler gemeint.

Ich würde die Sache auch lassen. Oder siehst du dafür eine besondere Notwendigkeit, Tobi2503?
 
Ja wenn würde ich des umdrehen mit ajax ein PHP Script aufrufen, dass immer einen timestamp in die DB schreibt und wenn der älter wie 100sekunden ist dann soll der user als offline gesetzt werden oder so ;-) Dann merkt der user das nicht und wird automatisch ausgelogged..
 
Stimmt, das könnte man machen. Aber bei einer normalen Seite kann ich mir beim besten Willen nicht vorstellen, wozu das notwendig sein sollte. Ich weiß, du meinst das nur hypothetisch, aber ich stelle mal erneut die Frage nach dem Grund/Missbrauchszenario, damit nicht jemand auf die Idee kommt, das einfach so implementieren zu wollen.

Im Zweifel muss (wenn es nach mir geht: sollte) immerhin keine Anmeldung das Schließen des Browsers überleben.

Abgesehen davon fände ich es enorm nervig, wenn mich eine Seite wie zum Beispiel diese hier ausloggen würde, nur weil ich sie kurze Zeit in keinem Tab geöffnet hatte. Auch hätte man pro Unterseiten-Tab einen Ajax-Request laufen, was sich je nach Art der Seite ganz schön summieren könnte.
 
Abgesehen davon fände ich es enorm nervig, wenn mich eine Seite wie zum Beispiel diese hier ausloggen würde, nur weil ich sie kurze Zeit in keinem Tab geöffnet hatte. Auch hätte man pro Unterseiten-Tab einen Ajax-Request laufen, was sich je nach Art der Seite ganz schön summieren könnte.

Ich hab das auch nur ein einziges mal gebraucht für meinen AJAX Chat sonst gibt es für mich auch keinen Sinn..
 
Welchen Sinn hat so eine Erinnerung überhaupt? Ich als User möchte selbst entscheiden, ob ich mich auslogge, oder nicht. Wenn ich dauernd durch so eine überflüssige Meldung genervt werden würde, würde ich deine Seite nie wieder besuchen.

Das Problem ist ja dass wenn sich jemand nicht auslogt wird er dauerhaft als online angezeigt und das iss halt scheiße..
 
ja entweder per ajax request alle 10-15 sekunden en script ausführen lassen der en timestamp in die db zu jedem user schreibt..
oder das script bei jedem aufruf öffnen (ganz easy zu realisieren)
und dann beim user online script nicht auf en feld checken ob jmd online ist sondern ob der timestamp innerhalb von 2-3minuten liegt..
 
Das Problem ist ja dass wenn sich jemand nicht auslogt wird er dauerhaft als online angezeigt und das iss halt scheiße..
Mit dem HTTP-Protokoll gibt es aber nunmal keine Möglichkeit, festzustellen, wer Online ist oder nicht.
Bei HTTP wird ja nur eine Seite abgerufen. Danach unterbricht der Server die Verbindung zum Client (Browser). Für den Server ist der Nutzer damit faktisch ausgeloggt.

Das einzige, was Du machen kannst, und was auch die anderen Sites machen, Du kannst gucken, wann ein User zuletzt eine Seite abgerufen hat (diese Zeit musst Du natürlich bei jedem Seitenaufruf speichern). Wenn es mal 5 Minuten oder länger her ist, gilt er für Dich als "ausgeloggt". So wie T-sneak das geschrieben hat.

Aber ein echtes "ausgeloggt sein" kannst Du üebr HTTP nicht realisieren.
 
zum thema, es ist ganz einfach. man bastelt sich in javascript ein objekt darin gibts ne funktion die das evet registriert ne funktion die den event Schalter auf an oder aus setzt und ne variable die den status des schalters speichert.

wenn die seite geladen wird wird gestartet und wenn der user auf einen von dir präperierten link klickt, was du ganz einfach mit javascript machen kannst (natürlich mit url prüfung), wird das event halt deaktiviert also der schater auf aus oder 0 oder false gesetzt werden. dann wird einfach deine nächste seite geladen.

du solltest auch eine kleine ajax prüfung alle 5 minuten oder so einbauen um zu gucken ob du schon ausgelogt bist oder auch um die verbindung aufrecht zu erhalten ^^ so würde es mit onunload ganz leicht funktionieren.

lg
 
kann man denn wenigstens irgendwas schreiben das einfach wenn mann z.b 10 nichts mehr auf der seite klickt automatisch ausgeloggt wird d.h. in der mysql datenbank wird online von 1 auf 0 gesetzt
 
Du kannst normalerweise nichts nach einer bestimmten Zeit machen.
Aber Du könntest natürlich jedesmal, wenn Du für einen beliebigen Benutzer die Logindaten prüfst (oder auch zu jeder anderen Zeit, wo eine Serverabfrage stattfindet), die Logindaten aller Benutzer nach solchen "Leichen" durchsuchen und diese auf "ausgeloggt" setzen.
 
Das ist auch bereits in das Session-Handling von PHP integriert. PHP: Runtime Configuration - Manual

session.gc_maxlifetime legt prinzipiell genau diese "10 Minuten" fest. Danach ist die Session-Datei Garbage und unter mehr oder weniger genau festgelegten Umständen (ebenfalls Einstellungssache) rasch pfutsch.

Du kannst es aber auch mit einer Datenbank machen. Eine Spalte "letzter Besuch" wäre denkbar, die bei jedem Refresh aktualisiert wird, wenn dieser weniger als x Minuten her ist. Ansonsten wird der Besucher ausgeloggt (etwa: $_SESSION = array();).

Edit: Ich merke gerade, der letzte Absatz ist nicht völlig durchdacht. :) Das ist ausbaufähig.
 
Zuletzt bearbeitet:
Zurück
Oben