Bonjour...

J'esaie de créer mon propre compteur mais je rencontre des difficultés. Merci d'avance pour ceux et celles qui pourront m'aider.

Le script que j'essaie de réaliser comptera le nombre total de visiteurs ainsi que le nombre de visites au cours des 24 dernières heures.

J'ai créer 3 tables :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
compteur           : compteur     : int(6)
 
compteur_visiteurs : total        : int(4)
                     no_ip        : char(30)
                     derniere     : int(12)
 
compteur_24heures  : no_ip_24h    : char(30)
                     derniere_24h : int(12)
Et voici le code créé en 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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
 
<?
 
// Inclusion du fichier de connexion à la base de données MySql //
include ("connect.inc.php");
 
// Récupération du temps actuel avec la fonction time //
$temps = time();
$effacement = $temps - 84600;
 
// Connexion au serveur et à la base de données MySql // 
@mysql_connect ($serveur, $utilisateur, $motdepasse)
           or die ("Connexion au serveur impossible");
@mysql_select_db ($base)
           or die ("Connexion à la base impossible");
 
// Récupération de l'adresse IP du visiteur //
$no_ip="$_SERVER[REMOTE_ADDR]";
 
// Vérification du numéro IP dans la table des visiteurs //
$select = "SELECT * FROM compteur_visiteurs
                    WHERE no_ip = '$no_ip'";
$result = mysql_query ($select);
$valeur = mysql_num_rows ($result);
$difference = ($temps - $result['derniere']);
 
// Test le visiteur est déjà venu //
if ($valeur = 1) // il est déjà venu //
 { if ($difference > 3600) // il y a plus d'une heure //
    { $update = "UPDATE compteur_visiteur SET (total = total + 1), (derniere = $temps)
                                          WHERE no_ip = '$no_ip'";
      $result = mysql_query ($update);
      $insert = "INSERT INTO compteur_24heures (no_ip_24h, derniere_24h)
                                          VALUES ($no_ip, $temps)";
      $result = mysql_query ($insert);
      $update = "UPDATE compteur SET (compteur = compteur + 1)";
      $result = mysql_query ($update);
    }
 }
else // il n'est jamais venu //
 { $insert = "INSERT INTO compteur_visiteurs (total, no_ip, derniere)
                                          VALUES (1, $no_ip, $temps)";
   $result = mysql_query ($insert);
   $insert = "INSERT INTO compteur_24heures (no_ip_24h, derniere_24h)
                                          VALUES ($no_ip, $temps)";
   $result = mysql_query ($insert);
   $update = "UPDATE compteur SET (compteur = compteur + 1)";
   $result = mysql_query ($update);
 }
 
// On efface les enregistrements trop ancien dans la quota des 24 heures //
$delete = "DELETE * FROM compteur_24heures
                    WHERE derniere_24h < '$effacement'";
$result = mysql_query ($delete);
 
// Comptage des enregistrements restants //
$select = "SELECT * FROM compteur_24heures";
$result = mysql_query ($select);
$vis24h = mysql_num_rows ($result);
$vis24h = sprintf ("%02s", $vis24h);
 
// Relevé du compteur total //
$select = "SELECT total FROM compteur";
$result = mysql_query ($select);
$compte = mysql_num_rows ($result);
$compte = sprintf ("%06s", $compte);
 
// Mise en  image du total des visiteurs //
$compte=str_replace("0","<img src='compteur/img_cpt/nike0.png'>",$compte);
$compte=str_replace("1","<img src='compteur/img_cpt/nike1.png'>",$compte);
$compte=str_replace("2","<img src='compteur/img_cpt/nike2.png'>",$compte);
$compte=str_replace("3","<img src='compteur/img_cpt/nike3.png'>",$compte);
$compte=str_replace("4","<img src='compteur/img_cpt/nike4.png'>",$compte);
$compte=str_replace("5","<img src='compteur/img_cpt/nike5.png'>",$compte);
$compte=str_replace("6","<img src='compteur/img_cpt/nike6.png'>",$compte);
$compte=str_replace("7","<img src='compteur/img_cpt/nike7.png'>",$compte);
$compte=str_replace("8","<img src='compteur/img_cpt/nike8.png'>",$compte);
$compte=str_replace("9","<img src='compteur/img_cpt/nike9.png'>",$compte);
echo "$compte<br>";
 
// Test si il y a plus de 1 visiteur sur les 24 dernières heures //
if ($vis24h > 1) { $s="s"; } else { $s=""; }
 
// Mise en  image du total des visiteurs sur les dernières 24 heures //
$vis24h=str_replace("0","<img src='compteur/img_cpt/0.png'>",$vis24h);
$vis24h=str_replace("1","<img src='compteur/img_cpt/1.png'>",$vis24h);
$vis24h=str_replace("2","<img src='compteur/img_cpt/2.png'>",$vis24h);
$vis24h=str_replace("3","<img src='compteur/img_cpt/3.png'>",$vis24h);
$vis24h=str_replace("4","<img src='compteur/img_cpt/4.png'>",$vis24h);
$vis24h=str_replace("5","<img src='compteur/img_cpt/5.png'>",$vis24h);
$vis24h=str_replace("6","<img src='compteur/img_cpt/6.png'>",$vis24h);
$vis24h=str_replace("7","<img src='compteur/img_cpt/7.png'>",$vis24h);
$vis24h=str_replace("8","<img src='compteur/img_cpt/8.png'>",$vis24h);
$vis24h=str_replace("9","<img src='compteur/img_cpt/9.png'>",$vis24h);
echo "$vis24h visites en 24 heures.<br>";
 
// Déconnexion au serveur et à la base de données MySql //
mysql_close();
 
?>
Le script se passe bien mais les tables ne sont ni "inserées" ni "updatées"...
L'erreur vient probablement d'une bétise mais je ne la vois pas...