Compteur de visites.

Répondre
al3xc00l
le 10/08/2004 à 19:30
al3xc00l
Bonjour, voila quand je clique sur les liens de ma page, le compteur augmente, comment faire pour qu'il ne compte seulement le premier passage arrivé sur la page d'accueil ?

mon code :
<?
// On compte le nombre de visites sur le site.
$hits = file("./include/myhits.dat");
$hits[0] ++;
$fp = fopen("./include/myhits.dat" , "w");
fputs($fp , "$hits[0]");
fclose($fp);

?>

Merci
http://drifting01.free.fr - Je freine le versant schizo
gouga2001
le 10/08/2004 à 19:33
gouga2001
Il faut que tu prennes en compte la notion TIME que tu définis dans ton code.
http://quickmoney.free.fr
al3xc00l
le 10/08/2004 à 19:56
al3xc00l
je ne connais pas cette fonction, je vais me renseigner merci, j'utilise des pseudos frame dans le site c'est peut etre du a ca aussi non ?
http://drifting01.free.fr - Je freine le versant schizo
moogli
le 11/08/2004 à 12:09
moogli
Salut,

Je ne sais pas comment est fait ton compteur mais pour limiter l'increment tu peut utiliser mysql, l'ip et un timesptam.
Inspiration smiley
Explication :

1/ la table
tu enregistre l'ip du client dans une table
CREATE TABLE online (
ip VARCHAR(15) NOT NULL,
time bigint (16) NOT NULL default '0'
) TYPE=MyISAM;

2/Récupération de l'ip
$ip=$_SERVER['REMOTE_ADDR'];

3/ Le timestamp
Il s'agit du nombre de seconde écoulé depuis l'an zéro unix (1/1/1970). Pour l'obtenir => date("U"); (c'est façon comme une autre il en exeiste plusieur comme mktime voir le manuel php )

4/ [list]principe
[*]On récupère l'ip
[*]On vérifie si l'ip est dans la base
[*]On vérifie si le tps n'est pas trop 'vieux'
[*]On on increment ou pas le compteur
[/list]

5/Mise en forme du bazard smiley
(Le code posté par ce membre étant trop long, il a été automatiquement inséré dans le wall. Pour le voir, veuiller clicker sur [lien=http://www.lephpfacile.com/wall/lire_wall.php?wall=1610]ce lien[/lien])


Si tu rajoute :
<?
// on prépare une requête SQL permettant de compter le nombre de tuples (soit le nombre de clients connectés au site) contenu dans la table
$sql = 'SELECT * FROM online';

// on lance la requête SQL (mysql_query) et on affiche un message d’erreur si la requête ne se passait pas bien (or die)
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

// on récupère le nombre de tuples obtenus
$nb_connectes = mysql_num_rows($req);

// on libère l’espace mémoire alloué pour cette requête SQL
mysql_free_result($req);

echo 'Il y a actuellement '.$nb_connectes.' personne(s) surfant sur ce site.';
?>


tu as le nb de connecté

si tu as regarder l'inspiration tu a s du voir que je n'est fait que bidouillé le comment faire :"nb de visiteur sur le site "....

@+
Il en faut peu pour être heureux !!!!!
al3xc00l
le 19/08/2004 à 16:46
al3xc00l
Merci je vais tester cela dès que possible, j'ai pas pu répondre avant car mon modem a grillé du a l'orage smiley

à bientôt
http://drifting01.free.fr - Je freine le versant schizo
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours