login  Naam:   Wachtwoord: 
Registreer je!
 Forum

# Leden Online

Offline Cywood - 14/10/2004 09:24
Avatar van CywoodLid Hoi hoi, hoe kan ik het beste mijn leden online tonen, ik heb geen IP in mijn database staan van alle leden, hoe werkt dat op sitemasters?

12 antwoorden

Gesponsorde links
Offline xSc - 14/10/2004 09:32
Avatar van xSc Onbekend Dat kan je nooit met zekerheid weten. Gewoon controleren of iemand bijv. de laatste 5 minuten actief is geweest. Zo ja, dan is het online, anders niet. Bijv. bij het inloggen in je database de tijd van inloggen opslaan. Als een pagina opgevraagd wordt dan huidige tijd - tijd van inloggen. Is dat langer dan 5 minuten dan is hij online. Dit is even grofweg.
Offline Cywood - 14/10/2004 09:44
Avatar van Cywood Lid hmmz, je zet me weer aan het puzzelen haha, bedankt Henri 
Offline petory - 14/10/2004 10:02
Avatar van petory HTML interesse maar als iemand met cookies werkt, kun je niet zien waneer die zich inlogt(als ie al ingelogt is).. dus dan zul je al moeten kijken naar het ip waneer die zich aanmeld op jou site. dus dan zou je toch langzaam aan de ip's op moeten gaan slaan lijkt mij?

(het is geen oplossing maar een gedachte speling van mij. klopt dit?)
Offline xSc - 14/10/2004 11:41
Avatar van xSc Onbekend Je hebt ook de tijd nodig . Zie vorige reactie 
Offline numlockrond - 14/10/2004 11:50 (laatste wijziging 14/10/2004 11:50)
Avatar van numlockrond Onbekend
Citaat:
Dat kan je nooit met zekerheid weten. Gewoon controleren of iemand bijv. de laatste 5 minuten actief is geweest. Zo ja, dan is het online, anders niet. Bijv. bij het inloggen in je database de tijd van inloggen opslaan. Als een pagina opgevraagd wordt dan huidige tijd - tijd van inloggen. Is dat langer dan 5 minuten dan is hij online. Dit is even grofweg.

Je bedoelt het misschien goed, maar als iemand dan inlogt en hij blijft 2 uur op de site, dan vergelijkt het script na die 2 uur de tijd met de tijd van inloggen (= 2 uur geleden) en dan ben je dus niet actief.
Je moet elke keer als een pagina geladen wordt de tijd in de database updaten.
Offline xSc - 14/10/2004 12:44
Avatar van xSc Onbekend @Numlockrond, ik bedoel het volgende:

Je slaat per persoon die inlogt de tijd van inloggen op. Wanneer A op de site komt, wordt het tijdstip opgeslagen. Wanneer bijv. A naar een andere pagina gaat, wordt het huidige tijdstip - inlogtijdstip gedaan. Is dat bijv. > 5 minuten, dan niet als online weergeven. Anders wel. Begrijp je? De tijd hoeft dus niet geupdate te worden. Wat bijv. zou kunnen: wanneer een pagina geopend wordt, en je ziet dat een sessie verlopen is, dat dan de tijd van die persoon gereset wordt.
Offline Rens - 14/10/2004 15:23
Avatar van Rens Gouden medaille

Crew algemeen
Op bijv. tijd.php zet je de code die de tijd vernieuwt. Die pagina include je dan in elke pagina op je website, en dus als A naar pagina 1 gaat, refresh het script tijd.php de tijd van wanneer A was ingelogd. Dus de tijd blijft altijd updaten als A naar een andere pagina gaat. En dan haal je op hoeveel personen online zijn met bijv. de volgende code:
  1. <?PHP
  2. $sql = "SELECT id, username FROM online WHERE tijd > '".(time()-300."'"; //selecteren uit tabel 'online' waar tijd is groter dan tijd - 5 minuten
  3. $result = MySQL_Query($sql); //sql uitvoeren
  4. $aantal = MySQL_Num_Rows($result); //aantal online tellen
  5. echo "Er zijn ".$aantal." members online.<BR>"; //aantal online echoën
  6. ?>
  7.  
  8. Mzzls,
  9. Rensjuh
Offline Dennisvb - 14/10/2004 15:26
Avatar van Dennisvb MySQL ver gevorderde Misschien kan je met deze nog wat:

http://www.site...amp;id=135

komt van V1
Offline Gerard - 14/10/2004 18:24 (laatste wijziging 14/10/2004 18:25)
Avatar van Gerard Ouwe rakker Wat ik heb gedaan met een website voor een kennis:
  1. <?php
  2. # index.php
  3. /*
  4. If user is logged in we will update his last activity
  5. time, so we can see who is online at the moment.
  6. */
  7.  
  8. if ($_SESSION['login'] == 1) {
  9. $updateact = mysql_query("UPDATE users SET lastactive = '".$time."' WHERE userid = '".$_SESSION[userid]."'");
  10. }
  11. ?>


  1. <?php
  2. # crewonline
  3. /*
  4. Let's see who of the admins/mods has been online in the past 2 minutes
  5. */
  6.  
  7. $activetijd = $time - 120;
  8. $getactive = mysql_query("SELECT * FROM users WHERE lastactive > ".$activetijd);
  9. $countactive = mysql_num_rows($getactive);
  10. echo("Active Users: ");
  11. $i = 1;
  12. while ($activei = mysql_fetch_array($getactive))
  13. {
  14. if ($countactive > 1 && $i != $countactive) { $komma = ","; }
  15. echo "<a href=\"?p=profile&userid=".$activei[userid]."\">".$activei[username]."</a>".$komma;
  16. $i = $i+1;
  17. unset($komma);
  18. }
  19. ?>

Hij telt alleen de mensen die op dat moment ingelogd zijn aan de hand van die lastactive welke opgeslagen staat in de userdb.
Je kan dit natuurlijk ook doen aan de hand van IP adressen en dat je de oude items welke langer als bv 1 uur niet geupdate zijn verwijderd worden.
Offline Stijn1 - 14/10/2004 18:30
Avatar van Stijn1 Gouden medaille

PHP ver gevorderde
als je dan meteen van boven doet: als de sessie niet bestaat: lid
en dan doe je in de while: als id == 'lid' $lid++ ofzo... heb je meteen leden en gasten...
Offline cowbeast - 14/10/2004 19:51 (laatste wijziging 19/10/2004 15:05)
Avatar van cowbeast Onbekend Hmm er staat zo een bezoekers scriptje op deze sie ook! Doe eens wat moeite om het zelf wat uit te breiden of zo 
Offline Cywood - 19/10/2004 14:43
Avatar van Cywood Lid Haha, nooit gedacht dat dit zo'n lang onderwerp zou worden, maar ik kan er zeker wat mee mensen! Ik ga verlopig nog even wat puzzelen en als ik wat zet ik het waarschijnlijk hier wel neer,
Nogmaals bedankt!:D
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.217s