Problème compteur PHP

Nouveau WRInaute
Bonjour !

j'ai un petit problème avec mon compteur de visite.

voici mon site : www.pythonregius.fr

Le compteur comptabilise les visites journalière, il y a pas de problème de ce côté.

Ce compteur comptabilise aussi le total des visites depuis la création du site.

Le problème c'est que pour le compteur total il ne comptabilise qu'une seule fois le visiteur, en gros si quelqu'un viens sur le site aujourd hui, et qu'il est jamais venu auparavant, il sera compté mais si il est déjà venu il y a 10 jours, le compteur ne le prendra pas en compte.

comment faire pour qu'il prenne en compte tout les visiteurs ?

voici mon fichier compteur.php

<?php
// Our log file;
$counter = "compteur.txt";

// Date logging;
$today = getdate();
$month = $today[month];
$mday = $today[mday];
$year = $today[year];
$current_date = $mday . $month . $year;

// Log visit;
$fp = fopen($counter, "a");
$line = $REMOTE_ADDR . "|" . $mday . $month . $year . "\n";
$size = strlen($line);
fputs($fp, $line, $size);
fclose($fp);

// Read log file into array;
$contents = file($counter);

// Total hits;
$total_hits = sizeof($contents);

// Total hosts;
$total_hosts = array();
for ($i=0;$i<sizeof($contents);$i++) {
$entry = explode("|", $contents[$i]);
array_push($total_hosts, $entry
);
}
$total_hosts_size = sizeof(array_unique($total_hosts));

// Daily hits;
$daily_hits = array();
for ($i=0;$i<sizeof($contents);$i++) {
$entry = explode("|", $contents[$i]);
if ($current_date == chop($entry[1])) {
array_push($daily_hits, $entry
);
}
}
$daily_hits_size = sizeof($daily_hits);

// Daily hosts;
$daily_hosts = array();
for ($i=0;$i<sizeof($contents);$i++) {
$entry = explode("|", $contents[$i]);
if ($current_date == chop($entry[1])) {
array_push($daily_hosts, $entry
);
}
}
$daily_hosts_size = sizeof(array_unique($daily_hosts));

// Let's display everything;
echo "$daily_hosts_size visiteurs aujourd'hui.<br />$total_hosts_size visiteurs au total.<br /> ";
?>

le fichier compteur.php fonctionne avec un fichier .txt ( compteur.txt ), celui ci enrengistre les IP des visiteurs.


voila merci d'avance !
 
WRInaute occasionnel
dans ce cas, c'est un compteur de visite que tu souhiates mettre en place et pas un compteur de visiteur.

la dans ton script, tu entres dans le fichier compteur.txt une entrée a chaque visite. Mais par contre, il compte les visiteurs selon l'adresse ip :
$line = $REMOTE_ADDR . "|" . $mday . $month . $year . "\n";

je pense que c'est la partie // Daily hosts; qui est a l'origine de ton probleme.

essaye de remplacer "echo "$daily_hosts_size " par "echo "$daily_hits_size " a la fin de ton script et je pense que ca devrait regler le probleme :)

Bonnes fêtes
 
Nouveau WRInaute
je l'ai changer mais ca ne marche pas. merci pour ton aide.

Il faudrai que je change ce compteur mais je sais pas trop comment faire
 
Discussions similaires
Haut