Bonsoir,

j'ai implémenté un compteur de visites quotidiens qui compte mais pas à chaque fois ; je ne comprends pas pourquoi, donc j'espère une aide.

Code du compteur :
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
$mois=date("m");
$jour=date("d");
$annee="20".date("y");
 
$datetoday="20".$annee.$mois.$jour;
 
$sql="select date from visites"; /* la date est dans MySQL pour remettre à 0 si elle a changé ou sinon incrémenter le compteur */
$result = mysql_query($sql)or die(mysql_error());
 
while($answer = mysql_fetch_array($result, MYSQL_ASSOC)) {
    $date = $answer['date'];
    $format="%d-%d-%d %d:%d:%d";
    $nb=sscanf($date,$format,$anneesql,$moissql,$joursql,$min,$sec,$hour)
    } 
// Je fais un while, mais il n'y a qu'une seule ligne
 
if (($annee != $anneesql)||($mois != $moissql)||($jour != $joursql))  {
 
    $sql="update visites set nb_connectes_jour=1"; /* on initialise à 1, car on est le 1er utilisateur */
    $result = mysql_query($sql)or die(mysql_error());
 
    $sql="update visites set date=".$datetoday;
    $result = mysql_query($sql)or die(mysql_error());
}  
 
else {	
    $sid = session_id();
    if (!isset($_SESSION['id'])) $_SESSION['id']=0;
    if ($_SESSION['id']!=$sid) { /* on n'incrémente que si la session a changé, pas si on a juste changé de page sans quitter le site */
        $_SESSION['id']=$sid; 
 
       $sql="UPDATE visites SET nb_connectes_jour = nb_connectes_jour +1;";
       $result = mysql_query($sql)or die(mysql_error());
     }
 
}