login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > PHP > Ledensystemen > Bezoekers online script v2.0

Bezoekers online script v2.0

Auteur: cowbeast - 04 oktober 2004 - 22:07 - Gekeurd door: Dennisvb - Hits: 28008 - Aantal punten: 3.00 (9 stemmen)



Dit is een script waarmee je het aan tal bezoekers toont -->
Totaal:
1 bezoeker online
1 lid online:
gebruikersnaam

Zo gaat! en dan toont hij op een andere pagina ook nog waar de persoon zich bevind!

Greetz Mathieu! (voorbeeld is tezien op www.cowbeast.be als de nieuwe lay af is!)

Code:
config.inc.php
-------------------------

  1. <?php
  2. $gebruikersid=$_SESSION['gebruikersid']; //id van de gebruiker ()
  3. $online_verval = time()-300; // in secondes
  4.  
  5. if (end(explode("/",$PHP_SELF)) == "online.inc.php") {
  6. header("Location: ./index.php");
  7. exit();
  8. }
  9.  
  10. $ip = getenv("REMOTE_ADDR");
  11. $page_naam = $_SERVER['REQUEST_URI'];
  12. if($ip == "") { $ip = getenv("HTTP_X_FORWARDED_FOR"); }
  13. if(!isset($page_naam)) { $page_naam = ""; }
  14.  
  15. $time = time();
  16. //leden die niet actief zijn verwijderen
  17. mysql_query("DELETE FROM online WHERE datum < '$online_verval'");
  18.  
  19.  
  20. if($_SESSION['login'] == true) { //checken of ze ingelogt zijn
  21. $sql = mysql_query("SELECT * FROM online WHERE userid='$gebruikersid'");
  22. $sql2 = "userid='$gebruikersid', ip='$ip'";
  23. $sql3 = "userid='$gebruikersid'";
  24. } else {
  25. $sql = mysql_query("SELECT * FROM online WHERE ip='$ip' AND userid='0'");
  26. $sql2 = "ip='$ip'";
  27. $sql3 = "ip='$ip'";
  28. }
  29.  
  30. if(mysql_num_rows($sql) == 0) {
  31. $referer = $HTTP_REFERER;
  32. mysql_query("INSERT INTO online SET $sql2, datum='$time', datum_start='$time', pagina='$page_naam', referer='$referer'"); //gegevens van de bezoeker opslaan
  33. } elseif(mysql_num_rows($sql) != 0) {
  34. mysql_query("UPDATE online SET datum='$time', pagina='$page_naam' WHERE $sql3"); //gegevens van de bezoeker updaten
  35. }
  36.  
  37. ?>


online.php
------------------------

  1. <?php
  2. $sql = mysql_query("SELECT count(*) AS aantal FROM online WHERE userid = '0'"); //bezoekers uit de db halen
  3. $online_gasten = mysql_result($sql, 0);
  4.  
  5. $sql = mysql_query("SELECT count(*) AS aantal FROM online WHERE userid != '0'"); //leden uit de db halen
  6. $online_leden = mysql_result($sql, 0);
  7.  
  8.  
  9. $online_totaal = $online_gasten + $online_leden; //totaal berekenen
  10. //weergave
  11. echo "<font size=\"-1\">Totaal: <b>$online_totaal</b> [<a href=\"index.php?pagina=bezoekers\" class=\"menujep
  12. \">meer</a>]<br></font>";
  13. echo "<font size=\"-1\"><b>$online_gasten</b> bezoekers<br></font>";
  14. echo "<font size=\"-1\"><b>$online_leden</b> leden: </font>";
  15. $lids = mysql_query("SELECT * FROM online WHERE userid != '0'");
  16. while($list = mysql_fetch_array($lids)) {
  17. $userid = $list[userid];
  18. $geg = mysql_query("SELECT gebruikersnaam, level FROM members WHERE id = '".$userid."'") or die (mysql_error());
  19. $show = mysql_fetch_array($geg, MYSQL_ASSOC);
  20. $gebrnaam = $show['gebruikersnaam'];
  21. $level = $show['level'];
  22. if($level == 2 || $level == 3) {
  23. echo "<font size=\"-1\"><a class=\"admin\" href=\"index.php?pagina=login/members&id=".$userid."\">".$gebrnaam."</a>, </font>";
  24. } else {
  25. echo "<font size=\"-1\"><a class=\"lid\" href=\"index.php?pagina=login/members&id=".$userid."\">".$gebrnaam."</a>, </font>";
  26. }
  27. }
  28. ?>


bezoekers.php
---------------------

  1. <table width="95%" style="border: 1px solid #CCCCCC" cellspacing="0" cellpadding="0">
  2. <tr bgcolor="#CCCCCC">
  3. <td width="3%">&nbsp;</td>
  4. <td width="39%">Gebruiker:</td>
  5. <td width="58%">Pagina:</td>
  6. </tr>
  7. <?
  8. $sql = mysql_query("SELECT * FROM online ORDER BY datum_start DESC"); //gegevens van alle personen die online zijn
  9. while($list = mysql_fetch_array($sql)) {
  10. $userid = $list[userid];
  11. $pagina = $list[pagina];
  12. if($userid == 0) {
  13. ?>
  14. <tr>
  15. <td align="center"><img src="opmaak/naam.gif" width="16" height="15"></td>
  16. <td> Gast</td>
  17. <td><? echo "<a href=\"$pagina\">$pagina</a>"; ?></td>
  18. </tr>
  19. <?
  20. } else {
  21. $geg = mysql_query("SELECT gebruikersnaam, level FROM members WHERE id = '".$userid."'") or die (mysql_error());
  22. $show = mysql_fetch_array($geg, MYSQL_ASSOC);
  23. $gebrnaam = $show['gebruikersnaam'];
  24. $level = $show['level'];
  25. ?>
  26. <tr>
  27. <td align="center"><img src="opmaak/leden.gif" width="16" height="13"></td>
  28. <td><? echo $gebrnaam; ?></td>
  29. <td><? echo "<a href=\"$pagina\">$pagina</a>"; ?></td>
  30. </tr>
  31. <?
  32. }
  33. }
  34. ?>
  35. </table>


Verdere info
-----------------------------

Het stukje waarmee je alles in de db schrijft en de bezoekers en leden weergeeft!

  1. <?
  2. include('config.inc.php');
  3. include('online.php');
  4. ?>


MySQL
-----------------------------
CREATE TABLE `online` (
`id` int(11) NOT NULL auto_increment,
`userid` int(11) NOT NULL default '0',
`ip` varchar(255) NOT NULL default '0',
`datum` varchar(255) NOT NULL default '0',
`datum_start` varchar(255) NOT NULL default '0',
`pagina` varchar(255) NOT NULL default 'geen',
`referer` varchar(255) NOT NULL default 'geen',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;Download code! Download code (.txt)

 Bekijk een voorbeeld van dit script!
 Stemmen
Niet ingelogd.

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