8710 sujets

Développement web côté serveur, CMS

Bonjour à tous,

j'utilise un bout de code pour compter le nombre de hits sur un article de mon site

cette article est généré une base de donnée donc je fais

<?php
try
{
    $bdd = new PDO('mysql:host=localhost;dbname=nomdemabase', 'user', 'motdepasse');
}
catch (Exception $e)
{
        die('Erreur : ' . $e->getMessage());
}
?>
 
<?php
$ref=$_REQUEST["ref"];?>
$bdd->exec("UPDATE articles SET hits=hits+1 where ref=$ref");?>
 
 
 <?php $rep = $bdd->query("SELECT * FROM articles where ref=$ref");
while ($val = $rep->fetch()) {
$hits=$val["hits"] ;
 }
 $rep->closeCursor();
?>
 
<?php echo $hits;
 
 $bdd=NULL;?>



J'ai le hits qui est incrémenter 2 fois, pourtant je fais hits=hits+1

en sachant que hits c'est le mon du champ qui gère les hits

C'est à dire quand je recharge la page, le compteur va de 2 en 2

soit de 10 il passe à 12 et ainsi de suite

bizarre non??!!!!

Merci de m'aider car là je sèche
Bonjour,
Es-tu sûr que ta requête d'UPDATE n'est pas appelée 2 fois au lieu d'une? (par exemple, est ce qu'elle est placée dans une boucle while/for, ou est ce que au chargement de ta page tu n'appelle pas deux fois ton script?)
Essaie de débugger en mettant des logs un peu partout pour voir si c'est le cas ou non. Mais à mon avis ça doit être une erreur de ce style, car pour moi ta requête est bonne.
Bonjour
en fait j'avais un conflit entre jquery et Nivoslider

j'ai enlevé Nivo et mis autre chose,
Maintenant tout est ok après des heures de recherche et en éliminant les bouts de scripts et les include 1 a 1

Merci