login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > PHP > Snippets > Bezoekers - leden online

Bezoekers - leden online

Auteur: Bart - 08 maart 2005 - 18:47 - Gekeurd door: Tuinstoel - Hits: 8259 - Aantal punten: 2.95 (10 stemmen)



Dit is een leden/bezoekers online script.
Je dient de eerste file te gebruiken om het aantal weer te geven.
En het 2e is een functie die je boven elke pagina moet zetten om de tijd up te daten.

  1. <?php
  2. $query="REPLACE INTO online (userIP,memberID,location) VALUES ('".$iIP."', '".$_SESSION['id']."', '".$_SERVER['REQUEST_URI']."')";
  3. ?>


Hier zie je dat er $_SESSION['id'] wordt gebruikt om het memberID te definieren, dit kun je veranderen naar jou situatie, omdat iedereen andere SESSION namen gebruikt.
Ten tweede zie je REPLACE INTO.
REPLACE zorgt ervoor:
1. Kijkt of er gegevens overeen komen met de gegevens die worden in gevoerd. Als de gegevens overeen komen met de gegevens in het veld met de eigenschap PRIMARY KEY voert ie een UPDATE query uit.
2. Komen er geen gegevens overeen met dat veld (met PRIMARY KEY) dan voert ie een INSERT query uit

Code:
  1. <?php
  2. $sGasten = mysql_query("SELECT COUNT(*) AS aantal FROM online WHERE memberID = ''") or die("gst :".mysql_error());
  3. $iBezoekers = mysql_result($sGasten, 0);
  4.  
  5. $sLeden = mysql_query("SELECT COUNT(*) AS aantal FROM online WHERE memberID != ''") or die("ldn :".mysql_error());
  6. $iLeden = mysql_result($sLeden, 0);
  7.  
  8. echo 'Gasten: '.$iBezoekers.'<br>';
  9. echo 'Leden: '.$iLeden.'<br>';
  10.  
  11. $sOn_leden = mysql_query("SELECT * FROM online WHERE memberID != ''") or die("lidn:".mysql_error());
  12. $aLeden_id = mysql_fetch_array($sOn_leden);
  13. $geg_name = mysql_query("SELECT * FROM leden WHERE id = '".$aLeden_id['memberID']."'") or die("geg_name:".mysql_error());
  14. while($aRow = mysql_fetch_array($geg_name))
  15. {
  16. echo $aRow['gebruikersnaam'];
  17. }
  18. ?>


  1. <?php
  2. function online()
  3. {
  4. $tDel_time=date("YmdHis",(time()-180));
  5.  
  6. // Voer verschoon-query uit
  7. mysql_query("DELETE FROM online WHERE logTime<'".$tDel_time."'") or die(mysql_error());
  8.  
  9. // Eerst het ipnummer van de bezoeker of lid
  10. $iIP = $_SERVER['REMOTE_ADDR'];
  11.  
  12. //Voltooi de query
  13. $query="REPLACE INTO online (userIP,memberID,location) VALUES ('".$iIP."', '".$_SESSION['id']."', '".$_SERVER['REQUEST_URI']."')";
  14.  
  15.  
  16. // Voer de query uit
  17. $result=mysql_query($query) or die (mysql_error());
  18. }
  19. ?>


  1. CREATE TABLE `online` (
  2. `userIP` varchar(15) NOT NULL default '',
  3. `memberID` smallint(6) unsigned default NULL,
  4. `location` tinytext,
  5. `logTime` timestamp(14) NOT NULL,
  6. PRIMARY KEY (`userIP`)
  7. ) TYPE=MyISAM;
Download code! Download code (.txt)

 Stemmen
Niet ingelogd.

 Reacties
Post een reactie
Lees de reacties (8)
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.051s