CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken |
22.09.2005, 09:26:53
|
Junior Member
|
|
Registriert seit: Jun 2004
Ort: Weiden i.d.Opf.
Alter: 46
Beiträge: 315
|
|
Benutzer online
Hi,
wie kann man überprüfen, ob ein Benutzer online ist? Dachte daran einen Frame alle 2 Sekunden aktualisieren zu lassen, mit Rückgabewert an die Datenbank. Aber irgendwie ist das nicht so schön, wenn ständig im Hintergrund was aktualisiert wird. Ausserdem hab ich keine Frames...
Auf diversen Partnervermittlungsseiten klappt das ganz gut :-} . Kann mir jemand nen Tipp geben?
|
22.09.2005, 10:15:04
|
SELFPHP Guru
|
|
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
|
|
AW: Benutzer online
naja, die meisten benutzerverwaltungen sag ich mal speichern ja, wann man zu letzt auf der seite aktiv war, und wenn das nicht zu lange zurück liegt, ist man eben noch eingelogged (okay, manchmal ist man auch für immer und ewig eingelogged).
jetzt muss man nur noch auslesen, wie viele mitglieder in den letzten xy minuten aktiv gewesen sind. ich denke 10 minuten ist ne ganz gute zeit. wer so lange auf ner seite nicht mehr rumgeklickt hat, liest entweder nen sehr langen artikel oder ist wirklich nicht mehr auf der seite.
aber wirklich ganz aktuell rauszufinden wer in dem moment alles online ist, ist fast unmöglich.
|
22.09.2005, 15:56:14
|
|
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
|
|
AW: Benutzer online
Zitat:
Zitat von Zudecke
Kann mir jemand nen Tipp geben?
|
Das HTTP Protokoll kennt den Status 'online' nicht; es ist ein zustandsloses Protokoll. Client schickt einen GET/POST/HEAD Request an den Server, auf den der Server reagiert. Was der Bediener des Clients nach diesem Request für weitere Aktionen plant, kann der Server nicht wissen. Der Server schickt auch diesbezüglichen keine Anfragen an den Client und der Client meldet auch nicht im Hintergrund, daß der HTML Text noch angezeigt wird.
Alle diesbezüglichen Angaben (auch in diesem Forenscript) basieren auf Sessions und der willkürlichen Festlegung, jede noch aktive Session als 'online' zu bewerten. Eine Session gilt so lange als aktiv, so lange sie noch nicht verfallen ist, weil der letzte Request mit der session_id weiter zurück lag als in session.gc_maxlifetime definiert ist.
Geändert von meikel (†) (22.09.2005 um 16:00:28 Uhr)
|
23.09.2005, 06:51:03
|
|
Anfänger
|
|
Registriert seit: Mar 2004
Ort: Usedom
Beiträge: 11
|
|
AW: Benutzer online
So machen es auch die ganzen Foren und Boards.
Du erstellt ne Session, und speicherst die Session-ID mit ein paar anderen Daten (Zeit, IP, Browser) um den User wiederzuerkennen in eine Datenbank. Dann setzt Du Dir ein Limit wie lange eine solche Session gültig sein darf (timeout).
Is die Session abgelaufen (jetztzeit um timeout größer als Zeit der gespeicherten Session) ist der User nicht mehr aktuell und wech.
Jetzt mußt Du nur noch in jedem Script die Session in der Datenbank aktualisieren solange es die selbe ist und die timeoutzeit nicht abgelaufen.
Mit einer User-Tabelle dazu könntest Du dann auch sagen wer Gast ist (keine User-ID) und wer ein angemeldeter Benutzer ist (User-ID).
__________________
Irgendwann klickt hier jeder mal rauf. Is nur eine Frage der Zeit...
|
24.09.2005, 09:29:09
|
Member
|
|
Registriert seit: Apr 2003
Ort: 49.54, 8.35 - 3./9
Beiträge: 878
|
|
AW: Benutzer online
Zitat:
Zitat von Zudecke
Dachte daran einen Frame alle 2 Sekunden aktualisieren zu lassen, mit Rückgabewert an die Datenbank. Aber irgendwie ist das nicht so schön, wenn ständig im Hintergrund was aktualisiert wird.
|
Es reicht doch, wenn Du die Bentzeranzeige aktualisierst, z. B. mit innerHTML.
|
24.09.2005, 09:40:36
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: Benutzer online
Zitat:
Zitat von Marilu
Es reicht doch, wenn Du die Bentzeranzeige aktualisierst, z. B. mit innerHTML.
|
Nur kannst du mit innerHTML ja keine Abfragen, an die Datenbank senden, um die Zeit der letzten Aktion des Benutzers zu aktualisieren.
|
24.09.2005, 11:07:24
|
Member
|
|
Registriert seit: Apr 2003
Ort: 49.54, 8.35 - 3./9
Beiträge: 878
|
|
AW: Benutzer online
Zitat:
Zitat von xabbuh
Nur kannst du mit innerHTML ja keine Abfragen, an die Datenbank senden, um die Zeit der letzten Aktion des Benutzers zu aktualisieren.
|
Natürlich nicht, aber ich kann die Rückgabe der Datenbankabfrage per innerHTML an der gewünschten Stelle ausgeben.
|
24.09.2005, 11:42:13
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: Benutzer online
Zitat:
Zitat von Marilu
Natürlich nicht, aber ich kann die Rückgabe der Datenbankabfrage per innerHTML an der gewünschten Stelle ausgeben.
|
Klar, das geht, so wie ich Zudecke verstanden habe, will er aber alle 2 Sekunden eine Abfrage an die Datenbank senden, mit der die Zeit der letzten Aktion des Benutzers aktualisiert wird.
|
24.09.2005, 14:25:34
|
Member
|
|
Registriert seit: Apr 2003
Ort: 49.54, 8.35 - 3./9
Beiträge: 878
|
|
AW: Benutzer online
Zitat:
Zitat von xabbuh
Klar, das geht, so wie ich Zudecke verstanden habe, will er aber alle 2 Sekunden eine Abfrage an die Datenbank senden, mit der die Zeit der letzten Aktion des Benutzers aktualisiert wird.
|
2 Sekunden ist wohl etwas heftig; auch bei einer gut besuchten Seite würde ich nicht unter 5 Min. gehen.
|
24.09.2005, 19:19:08
|
|
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
|
|
AW: Benutzer online
Zitat:
Zitat von xabbuh
Klar, das geht, so wie ich Zudecke verstanden habe, will er aber alle 2 Sekunden eine Abfrage an die Datenbank senden, mit der die Zeit der letzten Aktion des Benutzers aktualisiert wird.
|
Dann ist der Server t wie tot und g wie ganz tot.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Ansicht |
Linear-Darstellung
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 04:59:12 Uhr.
|