Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Autologout wie geht das?!
#1
Hallo Leute,
jo ich mach mal wieder was was ned wirklich was mit mybb zu tun. Frag aber trotzdem hier weil die Community hier cool is^^ (is scho erlaubt odda? Big Grin)

Okay so
also ich schreib grad so aus spass an ned eigenen Community größten Teils zu lernzwecken^^
Ähm joa den Login habe ich folgendermasen realisiert:
- Erstma die TB auslesen WHERE nick = eingegebener nick...
-IF blablbla falls es halt richtig is Big Grin
- okay das auto inaktiv --> Am anfang der index seite (die anderen seiten werden nur includiert^^) wird ein cookie gesetzt welcher 30 min haltbar ist.
Die Seite wird nach 30 min "refreshed" per JS. Jo un falls der Cookie nicht mer da is SET state = 'inaktiv'; Funktioniert auch wies soll^^.
-Logout session destroy und Update state in TB
(hoffe die Stichworte versteht jeder^^)

Nun habe ich hier im Forum gesehen, dass man sich ja seine Online zeit anzeigen lassen kann etc. Ich logge mich nie aus (seehrvorbildlichichweißToungue) Aber dennoch wird nur meine wirkliche online Zeit angezeigt --> Also muss es auch iwie mögöich sein, man sieht es ja in anderen Communitys, dass der Status automatisch auf offline gesetzt wird Sobald der Client nicht mehr "verbunden" ist.
Kann mir jmd erklären wie das Funktioniert?
Falls ihr nochn Teil vom script benötigt sagt einfach bescheid^^

MFG und DANEKSCHÖN im Vorraus
Black
Zitieren
#2
Du kannst den Login Timestamp speichern, und den Logout Timestamp. Und daraus dann die Online Zeit berechnen?
Oder meinst du die "wirkliche Onlinezeit"? Dann würde ich es so machen, das ich auf jeder Seite, die aufgerufen wird, den Timestamp der aktuellen Session update. So kann man dann die echte Online-Zeit berechnen.
Zitieren
#3
okay jooo... probier ich glei mal aus danke,
und jetzt noch ne Logout funktion, also dass man automatisch "rausgeschmissen" wird wenn der browser geschlossen wird. Also clientseitig ist man dann schon off und muss sich erneut einloggen. Aber die TB wurde nich geupdatet und dort steht dann nachwie vor online und nicht offline. Wie funktioniert das?
Zitieren
#4
Du kannst nicht abfragen, ob der Browser noch offen ist.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#5
aber wie funktioniert das dann?
Versteht Ihr nicht was ich meine?
Zitieren
#6
Mach es per Cronjob. Oder mach einfach eine Funktion online().
Der Cronjob / Die Funktion soll Abfragen, im vergleich zum jetzigen Timestamp, wie lange der letzte Timestamp des Users ist (der durch Seitenaufrufe wie oben entsteht). Liegt er 30 Minuten zurück, ist der User offline.
Zitieren
#7
und wie funktioniert das mit dem Cronjob genau?
Also n bspCode oder so wär cool^^
Danke^^
Zitieren
#8
Du machst in PHP einfach eine Datei, die den Online Status jedes Users "berechnet". Um sie aber nicht immer wieder aufzurufen, kannst du z.B. http://www.cron-job.org/ benutzten.
Zitieren
#9
okay dankeschön.. jetzt steh ich bloß noch auf dem Schlauch. Wie ich nur den Status der Kontakte ändere deren letzter Timestamp älter als wasweißich ist. Bei ner mysql abfrage gibt es ja kein < oder > :/
Danke^^
Zitieren
#10
Doch das gibt es. Toungue
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren