bonjour,
je récupère l'adresse ip, le timestamp et l'addresse url que j'enregistre dans une table pour pouvoir faire un compteur du nombre de visite de chaque fiche article, voici le code :
rééditer :
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 $retour = mysql_query('SELECT COUNT(_ip) AS nbre_entrees, _ip, _url FROM tmp_connectes WHERE _ip=\'' . $_SERVER['REMOTE_ADDR'] . '\' GROUP BY _ip') or die (mysql_error()); $donnees = mysql_fetch_array($retour); if ($donnees['nbre_entrees'] == 0) // L'ip ne se trouve pas dans la table, on va l'ajouter { mysql_query('INSERT INTO tmp_connectes VALUES(\'' . $_SERVER['REMOTE_ADDR'] . '\', ' . time() . ', \''.$_SERVER['REQUEST_URI'].'\')')or die(mysql_error()); $i=$nb_visite+1; $sql_maj = "UPDATE tb_shirt SET nbvisite_shirt=".$i." WHERE id_shirt=$ids"; mysql_query($sql_maj) or die(mysql_error()); } elseif($donnees['_ip']==$_SERVER['REMOTE_ADDR'] && $donnees['_url']==$_SERVER['REQUEST_URI']) // L'ip se trouve déjà dans la table, on met juste à jour le timestamp { mysql_query('UPDATE connectes SET _timestamp=' . time() . ', _url=\''.$_SERVER['REQUEST_URI'].'\' WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\''); }elseif($donnees['_ip']==$_SERVER['REMOTE_ADDR'] && $donnees['_url']!=$_SERVER['REQUEST_URI']){ $i=$nb_visite+1; $sql_maj = "UPDATE tb_shirt SET nbvisite_shirt=".$i." WHERE id_shirt=$ids"; mysql_query($sql_maj) or die(mysql_error()); }
le problème c'est qu' avec cette condition,si l'utilisateur revient sur la même page,le compteur sera incrémenté quand même, ... quelle doit être la bonne condition ?
Partager