Bonjour,

je suis en train de faire un compteur de visites mais il ne fonctionne pas..
Voici se qu'il met :


Les Statistiques


•3 visites dont
•hier;
•0 aujourd'hui;
•fois affichées.
Or il devrait y avoir qu'une visite, hier 0 visites aujourd'hui 1 et 3 fois la pages affichées..

Voici le code php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<?php
 
/*
* Si le fichier où l'on stock,
* les données n'existe pas encore
* on le crée.
*/
$fichier = 'pages/stats/.htcompteur';
if( !file_exists($fichier) ) {
$fp = fopen($fichier, "w");
fwrite($fp, serialize(array()));
fclose($fp);
}
 
/*
* Définition de variables
* nécessaire au compteur :
* - deux termes constants,
* - l'ip du visiteur,
* - la date et l'heure.
*/
$argument_visites_total = 'visites';
$argument_visites_hier = 'visiteshier';
$argument_visites_aujourdhui = 'visitesaujourdhui';
$argument_pages_vue = 'pages_vue';
$ip = $_SERVER['REMOTE_ADDR'];
$time = date('YmdGis');
 
/*
* Récupération des données du
* compteur précédemment stockées.
*/
$lignes = file($fichier);
$donnees = unserialize($lignes[0]);
 
/*
* Pour chaque clés du tableau de données
* qui ne soit pas attribuée aux visite et aux requêtes
* si la valeur correspond à une date antérieur
* au même jour, on supprime l'ip du visiteur.
*/
foreach( $donnees as $cle => $valeur )
{
if( substr($valeur, 0, 8) != substr($time, 0, 8) && $cle != $argument_visites_total && $cle != $argument_page_vues ) 
{
	$donnees[$argument_visites_hier] = $donnees[$argument_visites_aujourdhui];
	$donnees[$argument_visites_aujourdhui]=0;
	unset($donnees[$cle]);
}
}
/*
* On incrémente ( ajoute +1 ) la valeur
* du nombre de requêtes.
* Si l'ip n'est pas encore enregistrée,
* on incrémente la valeur du nombre de visites
* et on ajoute l'ip dans le tableau accompagné
* de la date et de l'heure de l'exécution.
*/
$donnees[$argument_pages_vue]++;
if( !$donnees[$ip] ) {
	$donnees[$argument_visites_total]++;
	$donnees[$argument_visites_aujourdhui]++;
	$donnees[$ip] = $time;
}
 
/*
* On effectue un petit report de variable
* pour une utilisation ultérieur plus aisée.
*/
$nb_visiteurs = $donnees[$argument_visites_total];
$nb_hier = $donnees[$argument_visites_hier];
$nb_aujourdhui = $donnees[$argument_visites_aujourdhui];
$nb_pages_vue = $donnees[$argument_pages_vue];
 
/*
* On stock le tableau dans le fichier de données
* en écrasant sa valeur précédente.
*/
$fp = fopen($fichier,"w");
fwrite($fp, serialize($donnees));
fclose($fp);
 
?>
Se que ça enregistre :

a:5:{s:7:"visites";i:3;s:13:"86.192.222.88";s:14:"20100405130959";s:11:"visiteshier";N;s:17:"visitesaujourdhui";i:0;s:9:"pages_vue";i:1;}
Je ne comprends pas pourquoi ça ne fonctionne pas..

Pouvez-vous m'aider ?

Merci