login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Iemand online of niet (Opgelost)

Offline GroundZero - 12/10/2013 16:51
Avatar van GroundZeroLid Beste,

kan iemand mij een goede manier vertellen om "wie is er online" weer te geven?
als iemand inlogt of naar een andere pagina gaat dan kan ik in de database zetten dat hij online is...

maar hoe check ik wanneer hij niet meer online is? hoe word dit in het algemeen gedaan? een cron-job elke 10 minuten of zo die kijkt wie er nog iets gedaan heeft de afgelopen 10 minuten of hoe werkt dit precies?

Hopelijk kunnen jullie mij wat meer vertellen 

6 antwoorden

Gesponsorde links
Offline Thomas - 12/10/2013 17:00 (laatste wijziging 12/10/2013 17:01)
Avatar van Thomas Moderator Wat geloof ik in Sitemasters is gebruikt is een timeout op activiteit. Als iemand (bijvoorbeeld) langer dan <levensduur van je sessie> inactief is, is deze "impliciet" uitgelogd.

Je kijkt dus of het laatste moment van activiteit in vergelijking met de huidige tijd niet een bepaalde waarde overschreidt.

EDIT: Het op papier tekenen van een tijdsbalk helpt voor dit soort vraagstukken altijd énorm .
Offline UpLink - 12/10/2013 17:01 (laatste wijziging 12/10/2013 17:02)
Avatar van UpLink ... Ik denk dat je dit het beste doet door de sessions te checken...

Kijken of een sessie nog actief is en deze na X aantal minuten te laten verlopen...

Als ik mij niet vergis doen ze dit bij SiMa ook zo... Na 5 minuten (niet geheel zeker) niet meer naar een andere pagina te zijn geweest word je verondersteld niet meer online te zijn en sta je ook niet meer in de lijst van "online leden"...

//EDIT:
Fargorn was me voor 
Offline GroundZero - 12/10/2013 17:02
Avatar van GroundZero Lid Dankjewel voor je antwoord 

Dus als iemand iets doet dan zet ik in de database even simpel gezegd (now() + 30 minuten) en dan check ik of de huidige tijd minus 30 minuten binnen die tijd valt, zo ja actief zo nee inactief?
Offline UpLink - 12/10/2013 17:04
Avatar van UpLink ... Je kan ook gewoon de levensduur van je session zelf terug resetten...

Als je session expired na 5 minuten inactiviteit ofzo, kan je bij elke switch van pagina die tijd gewoon weer resetten zodat de session blijft bestaan zolang er geen inactiviteit is...
Offline Thomas - 12/10/2013 17:35 (laatste wijziging 12/10/2013 17:37)
Avatar van Thomas Moderator Echt... Teken een plaatje

  1. . +--------- timeout -------------+
  2. | |
  3. tijd ----------*-------------------------------*----*-----------
  4. | |
  5. . laatste activiteit nu


Timeout (inactief) als:
laatste activiteit + timeout < nu
of
nu - timeout > laatste activiteit

Actief als:
laatste activiteit + timeout >= nu
of
nu - timeout <= laatste activiteit
Bedankt door: phpfreak, GroundZero
Offline GroundZero - 13/10/2013 17:45
Avatar van GroundZero Lid Oke duidelijk dank jullie wel!

Rest mij nog een vraag omdat ik hier niet uit komt. Ik wil graag het aantal dagen, uren, minuten en secondes in een variabele stoppen dat het geleden is dat deze gebruiker actief was. Hoe kan ik dit precies doen? ik heb van alles geprobeerd maar ik kom steeds op verkeerde getallen uit...

  1. function parseUserStatus($userid){
  2. $query = mysql_query('SELECT actief FROM site_gebruikers
  3. WHERE
  4. id = "'.mysql_real_escape_string($userid).'"');
  5. $fetch = mysql_fetch_assoc($query);
  6.  
  7. $huidig = mktime();
  8. $actief = strtotime($fetch['actief']);
  9.  
  10. $verschil = (($huidig - $actief) / 86400);
  11. $dagen = 0;
  12. $uren = 0;
  13. $minuten = 0;
  14. $secondes = 0;
  15. }
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.232s