User Onlinezeit speichern

djjlx

---???---
ID: 62937
L
9 Mai 2006
599
21
Hallo!

Ich hab ein kleines Problem

Ich würde gerne die Sekunden die ein User eingeloggt ist speichern.

Hab dazu ein JS

bei onload wird die aktuelle Zeit in VAR gespeichert
bei onUnload wieder die aktuelle Zeit in VAR gespeichert

Jetz komm ich aber an die Grenzen meiner JS Kenntnisse

Mein erste weg war einfach bei onUnload kurz ein fenster zu öffnen daten zu speichern und sofort wieder schließen.
Funktioniert einwandfrei!

Nur da ich nicht mit Frames arbeite wird dies natürlich jedes mal wenn ein link geklickt wird durchgeführt. Was zu meinen Problem führt.

Im optimalen Fall kann ich die Loginzeit in der Session speichern und beim Logout die Differenz.
Nur wenn der User nicht auf Logout klickt sondern Fenster zu macht oder Seite verlässt hab ich ein Problem

Hat vielleicht jemand einen Tipp für mich?

Lg
 
Moin.
Vergiss das ;)

JavaScript kann deaktiviert sein und wenn du wirklich Sekunden haben willst, kannstde das vergessen, da exakte Werte zu kriegen.
Im optimalen Fall kann ich die Loginzeit in der Session speichern und beim Logout die Differenz.
Das is die gängige Machart.
Nur wenn der User nicht auf Logout klickt sondern Fenster zu macht oder Seite verlässt hab ich ein Problem
Dafür legst du einen Timeout fest - eine Grenze, ab der du für dich entscheidest, dass der User offline is.

Die Zeit, die ein User wirklich aktiv auf einer Seite is, kannst du nicht genau messen. Der User kommt auf deine Seite und sieht sie vielleicht gar nicht gleich an, dann liest er einige Zeit, wechselt auf einen anderen Tab, kommt wieder zurück, klickt bei dir einen Link und geht dann aufs Klo. Als er wieder kommt, fährt er den Rechner runter.
Was für eine Zeit erwartest du dann? :mrgreen:
 
Du könntest bei Jedem Aufruf den Zeitpunkt speichern wenn mal mehr als x min seit dem letzten Aufruf vergangen sind speicherst du dir dann die Onlinezeit.

Aradiv

PS Alternativ könntest du das ganze so lösen, dass die Seiten bei einem Klick auf einen Link eben nicht neu geladen wird sondern zum Beispiel nur der Inhalt) Bleibt die Frage was passiert wenn der User Javascript deaktiviert hat (NoScript etc)
 
Danke für Eure Tipps!

Aber ich denke mit der timeout methode ist am besten!
Die Arrgumente haben mich überzeugt!
Besonders die mit dem Klo :ugly:

Danke!
dSchöne Nacht noch!

Lg
 
Also am stabilsten isses wahrscheinlich die Zeit zwischen zwei Seitenaufrufen zu speichern, und sollte die Zeit kleiner als ein timeout sein wird die Differenz zur online zeit gerechnet, ansonsten wird angenommen dass es der anfang einer neuen Session is :evil: