"Onlinestatus" aktualisieren durch Websitebesuch

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
LordZed
Mitglied
Beiträge: 62
Registriert: 29.11.2004 18:46

"Onlinestatus" aktualisieren durch Websitebesuch

Beitrag von LordZed »

Hi Leute!
Ich habe auf meiner Page eine Liste der Mitglieder einer Gruppe meines Forums und da steht auch, ob die online sind, oder nicht!

Nun ist es so, das sich das ja durch die last_online_time oder wie die Zeile in der User-Tabelle heißt errechnet. Diese wird beim aufrufen/aktualisieren/surfen im Forum ja aktualisiert.

Problem ist nun, wenn ich Members habe, die das Forum meiden, aber auf der Page unterwegs sind. Wie krieg ich es hin, dass der Eintrag auch bei einem aufrufen der Site aktualisiert wird.

Ich würd ja zur not nen eigens Script schreiben, aber dafür muss ich den user ja als diesen einen bestimmten Member identifierzieren, der aktualisiert werden soll. Wie krieg ich raus, ob der das ist bzw. wer er ist???

Bitte um schnelle antwort!
Benutzeravatar
derd
Mitglied
Beiträge: 1176
Registriert: 19.04.2004 19:30
Wohnort: Aue
Kontaktdaten:

Beitrag von derd »

Mit einem Riesen aufwand ist das vieleicht Möglich. Aber dazu müsste man die Rechner Indetifizieren um ob das mit dem Datenschutz zu vereinbaren ist na ja . Ich denke mal das ist nicht Legal. Und du müsstest jeden User um Zustimmung Fragen ob er das will.

Normal ist sowas Quatsch wenn die Leute nicht in das Forum wollen dann lass sie doch.
LordZed
Mitglied
Beiträge: 62
Registriert: 29.11.2004 18:46

Beitrag von LordZed »

Es geht mir nicht darum, ob die user ins forum wollen oder nicht!
Ich glaube du hast da was falsch verstanden!

Ich will, dass die last_online_time von den Usern, die im Forum angemeldet sind und einer bestimmten gruppe angehören nicht nur aktualisiert wird, wenn die im Forum unterwegs sind, sondern auch, wenn die auf der website unterwegs sind.
Wenn die "automatisches einloggen" nicht aktiviert haben, dann habe ich eben pech, aber haben die das aktiviert, dann haben die ja nen cookie gespeichert, wo infos drin stehen, mit denen ich die als den entsprechenden user identifizieren kann und dann die last_online_time aktualisieren kann.

Was hat das mit illegal zu tun?
Ich glaub nix, oder?
Ist Cookies der eigenen Webiste, nur eben einer unterkategorie der website, auslesen verboten? Nein oder?

Und um was für ne zustimmung muss ich den user da fragen? Ob ich seine Cookies von meiner Website auslesen darf *rofl*

Naja! Jedenfalls wäre es mir lieb, wenn mir jemand sagen kann, ob es nicht eine funktion von phpBB gibt, die diesen Eintrag automatisch aktualisiert und wenn ja, wo ich sie finden kann bzw. wie sie heiß´t und funktioniert.

uAwg
Benutzeravatar
derd
Mitglied
Beiträge: 1176
Registriert: 19.04.2004 19:30
Wohnort: Aue
Kontaktdaten:

Beitrag von derd »

Ahso meinst du das. Ich hatte es Falsch verstanden.
LordZed
Mitglied
Beiträge: 62
Registriert: 29.11.2004 18:46

Beitrag von LordZed »

dann ist ja ok! :)
Idee zur Lösung meines "Problems"?

Ich würd ja selber ne funktion schreiben, die den eintrag aktualisiert, dafür muss ich den user nur außerhalb des forums ersteinmal identifizieren!

//edit
wollte gerade nach den cookies auf meiner platte suchen, aber Firefox scheint die nicht unter "Dokumente & Einstellungen/Username/Cookies" abzulegen!
Kann mir einer sagen, wo firefox seine cookies speichert?

//edit2
Hab die Cookies gefunden, aber außer der SessionID Cookie ist das irgendwie nur ne anreihung von zahlen, buchstaben und %-Zeichen! :P

Also? Wie kann ich den User identifizieren (falls der ein user im forum ist und "automatisch einloggen" aktiviert hat!)
Benutzeravatar
QCO
Mitglied
Beiträge: 708
Registriert: 15.03.2003 12:30
Wohnort: Leipzig

Beitrag von QCO »

Das ist gar nicht so schwierig, wie du denkst...
Du müsstest bloß auf den Seiten deiner normalen Page die phpbb-Sessionverwaltun initalisieren (musst sie dann ja auch nicht weiter nutzen...).

Vorlage für in phpBB eingebundene Seiten

Code: Alles auswählen

define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);


//Session auslesen und Benutzer-Informationen laden
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
Wenn du das irgendwo auf deinen übrigen Seiten unterbringst, werden die Sessions der User aktualisiert, auch wenn sie nicht direkt im Forum sind.
Aber: damit die Leute als bestimmte User erkannt werden, müssen sie schon ein Cookie haben; ansonst werden sie nur als Gäste angezeigt.
Schnelle direkte Hilfe? Modeinbau? Umfassender, persönlicher Support? Ein individuelles Design/Template?
Ich bin käuflich und löse zu kleinen Preisen Deine Probleme. Anfragen bitte per PN oder Mail.
Benutzeravatar
MrMind
Mitglied
Beiträge: 464
Registriert: 29.11.2003 17:14
Wohnort: Darmstadt/Odw
Kontaktdaten:

Beitrag von MrMind »

QCO hat geschrieben:Das ist gar nicht so schwierig, wie du denkst...
Du müsstest bloß auf den Seiten deiner normalen Page die phpbb-Sessionverwaltun initalisieren (musst sie dann ja auch nicht weiter nutzen...).

Vorlage für in phpBB eingebundene Seiten

Code: Alles auswählen

define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);


//Session auslesen und Benutzer-Informationen laden
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
Wenn du das irgendwo auf deinen übrigen Seiten unterbringst, werden die Sessions der User aktualisiert, auch wenn sie nicht direkt im Forum sind.
Aber: damit die Leute als bestimmte User erkannt werden, müssen sie schon ein Cookie haben; ansonst werden sie nur als Gäste angezeigt.
Dem kann ich nur voll und ganz zustimmen. $phpbb_root_path noch anpassen wie $phpbb_root_path = './phpBB2/' oder so.

Und PAGE_INDEX würde ich dann noch in HP_INDEX umändern und einen neuen Wert in die includes/constants.php machen die wie folgt aussehen könnte:

Code: Alles auswählen

define('HP_INDEX',-101);
oder so.

Dann kannste auch auf deinem Forum ausgeben, ob der User auf dem Forum oder in der HP aktiv ist.

Mfg
MrMind
Selbst ist der Coder
Coder unter Linux
LordZed
Mitglied
Beiträge: 62
Registriert: 29.11.2004 18:46

Beitrag von LordZed »

Es ist ja so, dass der die Cookies löscht, wenn die 24 stunden nicht verwendet wurden oder sowas. Kann man ja im Forum einstellen.
Löscht der die Cookies, wenn die diese Zeit nicht verwendet, oder wenn die diese Zeit nicht aktualisiert worden sind? Weil würde er die bei 24h nicht aktualisieren löschen, muss der User ja dennoch immer wieder ins Forum, oder nicht?

//edit
Danke ich denke das wird mir bei meinem Problem weiterhelfen!
LordZed
Mitglied
Beiträge: 62
Registriert: 29.11.2004 18:46

Beitrag von LordZed »

Wenn ich die konstante PAGE_WEBSITE setze, dann muss ich da ja auch ne zahl angeben. Habe mal -101 genommen, aber was bewirkt diese Zahl?

Denn wenn nen kumpel von mir auf der Website ist und ich gucke, wer wo gerade unterwegs ist, dann steht da "forum-index" was aber nicht stimmt!

Ich habe auch den entsprechenden eintrag in der viewonline.php gemacht

//edit
Habs schon! Man muss das mit dem "case" auch nochmal in der index.php des Adminbereichs machen, wenn man's im Adminbereich richtig stehen haben will.
Wo finde ich denn das viewonline außerhalb des Adminbereichs!
Irgendwie find ich das nicht!
Antworten

Zurück zu „Coding & Technik“