Info  
Door: JelleVMoeilijkheidsgraad: 2/3
Geplaatst op: 29-12-2006 Reacties: 0
Views: 8084Log in om zelf te reageren
 Waardering: 6.7/10 (3 stemmen)

Uitleg

dit script laat zien waar de bezoekers zijn op je site hoe lang en de tijd waneer ze erop kwamen
vb: http://www.jellewebtools.nl onderaan de pagina

Script

/*
Bezoekers Online 

De bijbehorende sql tabel:
-------------------------------------

CREATE TABLE IF NOT EXISTS`online` (
`id` int(11) auto_increment,
`ip` varchar(16) default '0.0.0.0',
`locatie` varchar(255) default '',
`tijd` int(11) default '0',
PRIMARY KEY (`id`)
);

-----------------

uitleg:

OnlineLog(int $sTime)
  Deze logt de bezoekers op IP adres.
  Ook verwijderd hij bezoekers na de aangegeven tijd
  in $sTime
  
OnlineShow(int $sTime)
  Deze laat het aantal bezoekers online weergeven
  
OnlineTable(int $sTime)
  Deze functie toont een tabel met de bezoekers die
  online zijn, inclusief de pagina waar ze zijn, en
  wanneer deze actie is ondernomen
*/


/* Configuratie van MySQL */ 
$mysql_host = ""; 
$mysql_user = ""; 
$mysql_pwd  = ""; 
$mysql_db   = ""; 

$mysql_port = 3306;  // dit is de standaard MySQL port 



/* Vanaf hier gaat de rest automatisch */ 

$db = @mysql_connect($mysql_host . ":" . $mysql_port,$mysql_user,$mysql_pwd) 
        or die ("Could not connect to MySQL server!"); 
mysql_select_db($mysql_db,$db) 
        or die ("Could not select database " . $mysql_db); 





function OnlineLog($sTime = 300)
  {
  mysql_query("DELETE FROM `online` 
  WHERE `tijd` < ".(time()-$sTime))
  or die(mysql_error());
  
  $cCountSql = mysql_query("SELECT COUNT(`id`)
  FROM `online` WHERE `ip` = '".$_SERVER['REMOTE_ADDR']."'");
  $cCount = mysql_result($cCountSql,0);
  if($cCount == 0)
    {
    mysql_query("INSERT INTO `online`
    VALUES ('','".$_SERVER['REMOTE_ADDR']."',
    '".$_SERVER['REQUEST_URI']."',".time().")")
    or die(mysql_error());
    }
  else
    {
    mysql_query("UPDATE `online` SET
    `tijd` = ".time().",
    `locatie` = '".$_SERVER['REQUEST_URI']."'
    WHERE `ip` = '".$_SERVER['REMOTE_ADDR']."'")
    or die(mysql_error());
    }
  }
  
function OnlineShow($sTime = 300)
  {
  $sQuery = mysql_query("SELECT COUNT(`id`) FROM `online` WHERE `tijd` > ".(time()-$sTime));
  $sResult = mysql_result($sQuery,0);
  echo ($sResult == 1) ? 'Er is 1 bezoeker online.' : 'Er zijn '.$sResult.' bezoekers online.';
  }
 
function OnlineTable($sTime = 300)
  {
  ?>      
        <div align="left">
              <table align="center">
                  <tr>
                    <td width="50"><b>Locatie</b></td>
                    <td width="88"><b>Laatste bezoek</b></td>
                    <td width="128"><b>Sinds</b></td>
                  </tr>
                <?
  $sSql 
mysql_query("SELECT * FROM 
  `online` WHERE `tijd` > "
.(time()-$sTime).
  ORDER BY `tijd` DESC"
) or die(mysql_error());
  while(
$sRow mysql_fetch_assoc($sSql))
    {
    
?>
                 <tr>
                    <td><a href=" <?php echo $sRow['locatie']; ?>"><?php echo  $sRow['locatie']; ?></a></td>
                    <td><?php echo  time()-$sRow['tijd']; ?> sec.</td>
                    <td> <?php echo date('G:i:s',$sRow['tijd']); ?></td>
                  </tr>
                  
    
              
    <?
    
}
  
?>
                </table>
              <?
  
}
?>      
              <?
echo OnlineTable();
echo 
OnlineShow();
echo 
Onlinelog();
?><BR> <input type="button" onclick="refresh()" value="Refresh"
  name="button1">
              
(update de online bezoekers) </div>

Nog geen reacties

Om te reageren moet je ingelogd zijn.
Nog niet geregistreerd? Doe dat dan nu!


Terug naar gewone pagina

Websitemaken wordt gehost door Nucleus.be, uw Hosting Solution Builder