login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Login tijd

Offline ArcanA - 04/11/2010 21:09
Avatar van ArcanAPHP beginner Hallo,

Ik zou graag willen maken als spelers 20minuten niet actief zijn dat ze uitgelogd worden van het spel. Ik update hun login met time(); elke pagina dat ze vernieuwen. Als ze 20minuten niets doen en ze klikken op een link worden ze uitgelogd, maar wat doe ik met mensen die gewoon op kruisje drukken? Moet ik een while maken en alle mensen controleren die 20minuten niet actief zijn? Zou dat niet een beetje belastend zijn voor de site?

Graag reactie en ideeën,
Mvg,
P. Niels

11 antwoorden

Gesponsorde links
Offline cx1213 - 04/11/2010 21:23
Avatar van cx1213 Lid een cookie met de timestamp zodra de user een actie ondergaat word gekeken of de timestap minder dan 20 minuten geleden is, als dat zo is actie uitvoeren en cookie vernieuwen anders uitloggen(dit kan ook met sessies)
Offline Kevin - 04/11/2010 21:24
Avatar van Kevin Crew Ajax/REST Nou ik zou zo een controle eerder doen met JavaScript om je backend niet zoveel te belasten. Stel je eens voor dat je zo een 1000 mensen online hebt? :-)

Je zou kunnen zeggen met JS dat na een timeout van 20min je een opdracht "logout" doorgeeft naar de server?
Offline valles10 - 04/11/2010 22:24
Avatar van valles10 HTML interesse Wel, het beste is dat je in je db dus een tijd zet, die tijd wordt geüpdate bij elke pageview. Voor je de db update om de tijd te vernieuwen, controlleer je hoelang het geleden is met de vorige klik (huidige tijd-db tijd) als dat groter is dan 20 minuten doe je destroy_session() of logout().
Offline Kevin - 04/11/2010 22:37
Avatar van Kevin Crew Ajax/REST valles10: vergeet wel niet dat als je per pagina nog iets moet wegschrijven in je DB, je je loads verhoogt eh 
Offline valles10 - 04/11/2010 22:54
Avatar van valles10 HTML interesse Ja en dan, dat wordt bijna overal gedaan, zelfs hier op sitemasters.
Offline ArcanA - 05/11/2010 00:58
Avatar van ArcanA PHP beginner na 20 minuten moet ik de ingelogde sessie stoppen, en wat moet ik doen met de mensen die op kruisje klikken? Die blijven dan ook online, tenzij ze op een link klikken na de 20minuten.
Offline Koen - 05/11/2010 01:42
Avatar van Koen PHP expert
valles10 schreef:
Ja en dan, dat wordt bijna overal gedaan, zelfs hier op sitemasters.


Sitemasters is daar geen referentie voor vrees ik  
Offline valles10 - 05/11/2010 09:30 (laatste wijziging 05/11/2010 09:32)
Avatar van valles10 HTML interesse
Koen schreef:
[..quote..]

Sitemasters is daar geen referentie voor vrees ik  

:o?
Jullie update toch ook steeds in de database? Hoe kijk je anders hoevel seconden geleden dat een persoon op een pagina is geweest...

@arcana:
-Waarom moeten ze 'uitloggen' als ze er niet zijn?
-maar hoe dan ook, dat kan je oplossen door een qjuery uit te voeren bij het verlaten van de pagina.
-Of door iemand als offline te zien bij ledenlijst enzo als (nu-dbtijd >=20minute).
Je kan hiervoor een functie maken
  1. function isOnline($id){if....}


Sessie worden toch automatisch bij het sluiten van browser verwijderd :d?!
Offline Martijn - 05/11/2010 10:37
Avatar van Martijn Crew PHP je kan een ajax scriptje maken wat bv elke 5min even kijkt of je lastActive tijd <20min if so laat je JS de window reloaden en tegelijk laat je aan de php kant de session_destroy()en.
Als je dan een kolom maakt die opslaat elke keer dat die js is uitgevoerd en daarna een check maakt of die tijd >5min dan is de user niet meer online
Offline ArcanA - 05/11/2010 13:39
Avatar van ArcanA PHP beginner Heb toch gekozen om gewoon time(); te updaten op elke pagina waar ze komen.
Heb inderdaad getest en als ik de browser afsluit word ik al uitgelogd. Nu is mijn probleem dat nog steeds time in de database blijft staan, dus ze worden nog altijd online weergegeven. Wat kan ik daar tegen doen? Of gewoon 20minuten wachten?
Offline valles10 - 05/11/2010 16:03
Avatar van valles10 HTML interesse gewoon 20 minuten wachten en anders een ajax request bij het verlaten van pagina die de tijd op 0 fso zet
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.185s