login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Leden Online

Offline SomaQan - 07/07/2007 11:40 (laatste wijziging 07/07/2007 11:41)
Avatar van SomaQanPHP beginner Ik wil een script maken om te kijken hoeveel leden er online met (gebruikersnaam) zijn
nu wou ik dat doen met time(); alleen misschien hebben jullie wel wat tips hoe ik dat het beste kan doen zonder alteveel query's tegebruiken

5 antwoorden

Gesponsorde links
Offline TotempaaltJ - 07/07/2007 12:50
Avatar van TotempaaltJ PHP interesse Uhm... Simpel, als iemand inlogt dan laat je de Kolom 'online' in de tabel updaten naar bijv 1 of ingelogd...
(Moet je wel ff aanmaken!)
En als iemand uitlogt moet je hem weer updaten naar 0 of uitgelogd. (Zo doe ik het) En dan kan je doen:
  1. if($login == '1') { $in = 'ingelogd'; }
(Waarbij $login natuurlijk uit de MySQL is gehaald.)
Offline Sasuke - 07/07/2007 12:56 (laatste wijziging 07/07/2007 12:59)
Avatar van Sasuke HTML interesse En wat als nu die persoon niet beslist om uit te loggen, maar bijvoorbeeld gewoon de pagina sluit. Dan blijft in de Kolom 'Online' die 1 staan terwijl dat eigenlijk een 0 moet zijn.

Ik ben net terug herbegonnen met PHP dus ik weet niet hoe het qua functies in elkaar zit. Maar zoals ik het zie, heb je een Kolom in je SQL tabel staan waarbij er elke keer dat een gebruiker een pagina opent een tijd wordt ingeschreven. Dan haal je die tijd eruit en vergelijk je met de tijd waarin je script draait. Als dat dan bijvoorbeeld minder is dan 10 minuut is die gebruiker online.

Enige probleem dat ik dan zie is het feit dat als een gebruiker de laatste keer om 18.00u een pagina bezocht heeft. Dan is die zogezegd volgende dag om 18.00u weer online. Maar dat is er makkelijk uit te filteren met ook de dag/maand/jaar in de tabel op te nemen.

Mja waarschijnlijk kan het ook makkelijker...

@SomaQan: dan blijven die zogezegd online voor de rest van hun leven
Offline SomaQan - 07/07/2007 12:57 (laatste wijziging 07/07/2007 12:58)
Avatar van SomaQan PHP beginner @BigBos, wat nou als ze niet uitloggen ?
Offline TotempaaltJ - 07/07/2007 13:03
Avatar van TotempaaltJ PHP interesse Tjah... Misschien een onunload in de body?? Onee, niet... Hmm... Dat is het risico. Al ze niet uitloggen is dat hun probleem, ik log ook nooit uit op SiMa, dus ik ben altijd online. Er valt niks aan te doen met dit systeem. (Wat SiMa volgens mij ook gebruikt)
Offline DMM - 07/07/2007 16:08 (laatste wijziging 07/07/2007 16:11)
Avatar van DMM PHP beginner Ik verwijs even naar dit script: http://www.site...&id=85, meer bepaald naar session.php (dit bestand vind je hier: http://www.plaatscode.be/5907/)

  1. // * timeout gedeelte *
  2. $now = time();
  3. // als er meer tijd is verstreken dan smaxidle
  4. // sinds het aanmaken van de sessie
  5. if($now - $_SESSION['stime'] > $_SESSION['smaxidle']) {
  6. // breek de sessie af, de gebruiker dient opnieuw in te loggen
  7.  
  8. /* In de database zetten we online weer op 0 */
  9. $name = $_SESSION['suser'];
  10. $query = mysql_query("UPDATE users SET online=0 WHERE name = '$name'");
  11. $_SESSION = array();
  12. } else {
  13. // ververs anders de sessietijd. Dit zorgt er voor
  14. // dat de gebruiker ingelogd blijft zolang deze actief is.
  15. $_SESSION['stime'] = $now;
  16. }
  17. // * einde timeout gedeelte *


Bij login.php (http://www.plaatscode.be/5908/) zet je dan ook die query (regel 74)

  1. $name = $_SESSION['suser'];
  2. $query = mysql_query("UPDATE users SET online=1 WHERE name='$name'");
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.194s