Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/01/2011, 13h21   #1
Membre à l'essai
 
Inscription : mars 2004
Messages : 60
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 60
Points : 23
Points : 23
Envoyer un message via MSN à d.w.d
Par défaut Incrementation SQL inatendu

Bonjour à tous.
Voici mon problème. Je viens de remarquer sur mon site que le compteur qui incrémente le nombre de fois ou ma page a été vu s'incrémente a tout bout de champ. Bon avant d'aller plus loin mon code :
Code :
1
2
3
4
5
6
7
8
 
// Incrémentation du compteur de lecture :
	if(!$_SESSION['admin'] && !isset($_SESSION['lecture_news'.$_GET['id_news']]))
	{
		mysql_query("UPDATE v5news SET lu=lu+1 WHERE id_news='".$_GET['id_news']."' AND activation='1'");
		$_SESSION['lecture_news'.$_GET['id_news']] = true;
	}
	else $_SESSION['lecture_news'.$_GET['id_news']] = true;
Je souhaite incrémenter 1 seule fois par session mon compteur, lors d'une visite sur la page où est situé ce code. Le test d'admin est uniquement pour ne pas comptabiliser le compteur pour les visites d'un des admins du site sur cette page (cette variable est initialisée à l'identification).

Si je fais un :
Code :
echo "Valeur : ".$_SESSION['admin']." - ".$_SESSION['lecture_news'.$_GET['id_news']];
et que je le met juste avant le if, j'obtiens cet affichage :
Citation:
Valeur : 1-1
. Théoriquement je ne devrais donc pas rentré dans le if est s'est bien le cas puisque quand je met un
Citation:
echo "Coucou"
dans cette zone, je n'obtiens aucun affichage de mon coucou.

Ou est le problème me direz vous ? Et bien le UPDATE de ma table lui se fait quand même. Si je commente cette ligne il n'y a plus du tout d'incrémentation, je n'ai donc pas une autre ligne qui incrémente le compteur.

Une idée ????? Je sèche la !!!!
d.w.d est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 14h02   #2
Membre régulier
 
Inscription : juin 2004
Messages : 66
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 66
Points : 86
Points : 86
Le code semble correcte.
Je ne vois pas de problème.


Sinon dans
Code :
echo "Valeur : ".$_SESSION['admin']." - ".$_SESSION['lecture_news'.$_GET['id_news'];
Il manque une accolade de fermeture, c'est une erreur lors de la copie dans le forum ?
Blount est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 14h10   #3
Membre à l'essai
 
Inscription : mars 2004
Messages : 60
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 60
Points : 23
Points : 23
Envoyer un message via MSN à d.w.d
Oui bien sûre un oubli de ma part quand j'ai fais le copié-collé -> Je corrige ca.
Ça me rassure que je ne sois pas le seul à trouver ca étrange.

D'habitude je fais une erreur toute bête que je ne vois pas mais la j'ai vérifié et revérifier au moins 30 fois. Là, je suis bloqué, mon compteur s'incrémente une ou 2 fois à chaque actualisation de ma page.
d.w.d est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 15h01   #4
Membre à l'essai
 
Inscription : mars 2004
Messages : 60
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 60
Points : 23
Points : 23
Envoyer un message via MSN à d.w.d
Bon alors je viens de cibler le problème.
Celà viens des includes que je fais dans le body après la section de code du message.
J'ai essayer d'en enlevé 1, puis 2 puis 3 et 4 et à chaque fois que ce soit le 1e ou le dernier, le bug était toujours là. Cela ne fonctionne pas tant que je ne les retire pas tous les 4, pourtant il ne contienne que du html et aucun d'entre eux ne contient une quelconque incrémentation de compteur.

Une idée ???
d.w.d est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h48.


 
 
 
 
Partenaires

Hébergement Web