Ik ben bezig met een "Online Bezoekers" script, maar nu kom ik er achter dat hij niet alle bezoekers optelt die zich ieder op een pagina bevinden, ik bedoel het zo:
- 3 Bezoekers zijn op de pagina "Scripts"
- 10 Bezoekers zijn op de pagina "Tutorials"
En dan wil ik dat in het het script die bezoekers bij elkaar worden bijgeteld, dus 13 online! zegt het script dan.

Code:

<?php
$ip_addr = $_SERVER['REMOTE_ADDR'];
$file = 'online.dat';
$online = file_get_contents($file);
$online = unserialize($online);
$online['visitors'][$ip_addr] = time();
$timeout = 300;

foreach($online['visitors'] as $key => $val) {
    if($val < (time() - $timeout)) {
        unset($online['visitors'][$key]);
    }
}
$total_visitors = count($online['visitors']);
if($total_visitors > $online['record']['number']) {
    $online['record']['number'] = $total_visitors;
    $online['record']['time'] = time();
}

$record_number = $online['record']['number'];
$record_time = $online['record']['time'];

echo '   ' .$total_visitors  . ' online!';
$handle = fopen($file, 'w');
fwrite($handle, serialize($online));
fclose($handle);

?>


BVD
(vrijwel) Onmogelijk om dit op een goede manier met een tekst bestand te doen. Gebruik een database dan is het een fluitje van een cent.
Waarom bouw je niet gewoon in je database een online/offline systeempje?
Is 10x zo makkelijk!

Reageren