Archief - Unieke bezoekers

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

HelloApu

Legacy Member
Hallo,

Ik ga zo een klein stats-overzichtje maken, en ik zou unieke bezoekers er ook willen tussenzetten.
Ik denk dat je dat kunt checken idv. ident host ofzo, ik zou dat dan writen in SQL database. Maar de vraag is dus:
Hoe kan ik die ident host in een variable zetten ?
Of gaat dat met IP ?

m3rlin

Legacy Member
Als een gebruiker je pagina bezoekt, kijk je in de database of zijn ip daar reeds inzit, indien niet steek je het erbij. Gevolg is dat je dan dus enkel beschikt over unieke rijen.

Een kleine uitbreiding is het aantal views bijhouden door een update uit te voeren indien het ip er al WEL instaat. (best wel interessant !)

Om het client ip te weten te komen moet ge de SERVER variabelen maar eens bekijken

PC_Freak

Legacy Member
Dit scriptje schreef ik kort geleden voor een site (usebb.net):
PHP:
<?php
 
 // users online
 
 $minutes = 30; // how long users should be "online"
 $client_ip = ( !empty($_SERVER['HTTP_X_FORWARDED_FOR']) ) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR'];
 
 mysql_connect('*****', '*****', '*****');
 mysql_select_db('*****');
 $cutoff = time() - ( $minutes * 60 );
 mysql_query("DELETE FROM online WHERE updated < ".$cutoff);
 $r = mysql_query("SELECT updated FROM online WHERE ip_addr = '".$client_ip."'");
 if ( !mysql_num_rows($r) )
 	mysql_query("INSERT INTO online VALUES ('".$client_ip."', ".time().")");
 else
 	mysql_query("UPDATE online SET updated = ".time()." WHERE ip_addr = '".$client_ip."'");
 $r = mysql_query("SELECT ip_addr FROM online");
 $count = mysql_num_rows($r);
 if ( $count === 1 )
 	echo '<p class="online">1 visitor online</p>';
 else
 	echo '<p class="online">'.$count.' visitors online</p>';
 
 ?>
De gebruikte MySQL-tabel is:
Code:
CREATE TABLE online (
   ip_addr varchar(15) NOT NULL default '',
   updated int(11) NOT NULL default '0'
  )
Gebruik het voor je site als je wil. :)

Venn

Legacy Member
ge kunt die ook gewoon tellen zonder meer door een cookie te zetten, elke dag wel de cookievar aanpassen...
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan