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()); } }
Partager