Domainbereich verlassen ,Browserfensterfenster geschlosen?
Blacky
- javascript
0 norbert =:-)0 Blacky0 MudGuard0 Blacky
0 norbert =:-)
Hi Forum,
Ich habe das Problem, daß ich feststellen muss, ob ein Besucher meiner Page diese verlässt, in einen anderen Domainbereich geht oder schlicht das Fenster geschlossen wird.
Es handelt sich hierbei um eine Datenbankanwendung in der auch die Arbeitszeit der Mitarbeiter (logon,logoff) erfasst werden soll.
Deshalb ist ein echter logout ziemlich wichtig. Das ganze Projekt ist in PHP realisiert und arbeitet mit sessions.(keine Frames)
Leider habe ich in PHP keinen Weg gefunden, einen halbwegs sicheren logout zu realisieren(ausser einem Cronjob,aber genau DAS möchte ich nicht).
Die Suchfunktion in diesem Forum war auch nicht sehr hilfreich, gab zwar einiges an Ergebnissen aber in denen wird zu 99% nur über den Sinn und Unsinn von POPups diskutiert.......
Ich möchte schlicht nur ein PHP-Script in dem besagten Fall aufrufen das etwas in die Datenbank schreibt. Es braucht nichtmal ein sichtbares Fenster sein.
Jetzt hatte ich hier das 'onUnload' Event entdeckt und mal ein bischen probiert aber da wird das Script ja bei JEDEM Fensterwechsel ausgeführt also nicht so der Bringer. Leider ist das meine erste Erfahrung mit Javascript, hatte bisher nicht solche Fälle deshalb bitte ich um Eure Mithilfe.
Gibt es eine halbwegs geeignete Lösung dafür? Vielleicht auch einen Beispielscrip?
mfg
Blacky
Hallo Blacky!
Dieses Thema wurde bereits des öfteren diskutiert - darum in aller Kürze.
Es gibt KEINE Möglichkeit (am Server) festzustellen, wann ein User das Browserfenster schließt bzw zu einer anderen Domain wechselt. Die für Dich bestmögliche Variante ist, bei jedem Seitenzugriff (zB nach session_start) den Datensatz des Users in der DB zu aktualisieren - damit hast du zumindest immer die Zeit des letzten Zugriffs!
Schwachpunkt: Wenn der User eine Stunde lang die Seite studiert und erst danach das Browserfenster schließt, ist die Zeit des letzten Zugriffs eigentlich um eine Stunde falsch - aber damit musst du leben, da JavaScript und sonstige Varianten noch weniger zu empfehlen sind.
mfg
norbert =:-)
Hi Norbert,
schade eigentlich, so eine Funktionalität fehlt echt :(
Gibt es denn wenigstens einen Weg um festzustellen ob der Domainbereich verlassen wird ?
mfg
Blacky
Hi,
Gibt es denn wenigstens einen Weg um festzustellen ob der Domainbereich verlassen wird ?
http arbeitet anders: Der Client schickt eine Anfrage an den Server, der Server antwortet (indem er z.B. eine HTML-Seite ausliefert).
Eine weitergehende Verbindung besteht nicht.
Man ist also nicht in einem Bereich.
Also kann man ihn auch nicht verlassen.
cu,
Andreas
naja schade...trotzdem Danke für eure Antworten :)
mfg
Blacky
Hallo Blacky!
Leider nein. Aber ich würde die Mitarbeiter entsprechend darauf hinweisen, dass bei nicht durchgeführtem Logout auch fehlerhafte Zeiten gebucht werden - ich bin überzeugt, dass das hilft ;-)
Du könntest auch den Account für ein erneutes Login sperren, solange nicht ausgelogged wurde. Auch den Anruf beim Admin merkt man sich ganz gut.
Wenns für ein Intranet ist und du die Verwendung von JavaScript sicher stellen kannst, kann man sich ausnahmsweise auch eine entsprechende Lösung überlegen.
mfg
norbert =:-)
Hi Norbert,
schade eigentlich, so eine Funktionalität fehlt echt :(
Gibt es denn wenigstens einen Weg um festzustellen ob der Domainbereich verlassen wird ?
mfg
Blacky