Conditions pour un compteur
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 :
Code:
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());
} |
rééditer :
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 ?