If et else if php et mysql
Résolu
MrYo
-
MrYo -
MrYo -
Bonjour, je suis actuellement en train créer un site internet et je travaille actuellement sur un compteur de visites avec adresse ip basé sur une condition if et else if.
Quand un visiteur arrive sur la page, dans ma table vues1, le champ number s'auto incrémente et le champ ip note l'adresse ip, mais quand je retourne sur la page avec la même adresse ip, celle ci se remarque dans ma table vues1.
Ma condition ci dessous :
<?php
echo $_SERVER['REMOTE_ADDR'];
$reponse = $bdd->query('SELECT ip FROM vues1 WHERE number=122');
if ($_SERVER['REMOTE_ADDR']==$donnees['ip'])
{
while ($donnees = $reponse->fetch())
echo 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';
}
else if ($_SERVER['REMOTE_ADDR']!=$donnees['ip'])
{
while ($donnees = $reponse->fetch())
echo 'bbbbbbbbbbbbbbbbbbabbbbbbbbbbbbbbbbbbbbbbbbbbbbbb';
}
?>
PS: La série de a et de b me permettent de voir ce qui a été choisi.
Cordialement.
Quand un visiteur arrive sur la page, dans ma table vues1, le champ number s'auto incrémente et le champ ip note l'adresse ip, mais quand je retourne sur la page avec la même adresse ip, celle ci se remarque dans ma table vues1.
Ma condition ci dessous :
<?php
echo $_SERVER['REMOTE_ADDR'];
$reponse = $bdd->query('SELECT ip FROM vues1 WHERE number=122');
if ($_SERVER['REMOTE_ADDR']==$donnees['ip'])
{
while ($donnees = $reponse->fetch())
echo 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';
}
else if ($_SERVER['REMOTE_ADDR']!=$donnees['ip'])
{
while ($donnees = $reponse->fetch())
echo 'bbbbbbbbbbbbbbbbbbabbbbbbbbbbbbbbbbbbbbbbbbbbbbbb';
}
?>
PS: La série de a et de b me permettent de voir ce qui a été choisi.
Cordialement.
A voir également:
- If et else if php et mysql
- Easy php - Télécharger - Divers Web & Internet
- Mysql community server - Télécharger - Bases de données
- Expert php pinterest - Télécharger - Langages
- Php if multiple conditions ✓ - Forum PHP
- Php alert ✓ - Forum PHP
1 réponse
Bonsoir
Il y a un gros problème dans ta façon de faire : tu testes une valeur (if ($_SERVER['REMOTE_ADDR']==$donnees['ip']) ) avant de l'avoir lue, puis tu la lis en faisant $donnees = $reponse->fetch().
Deuxième truc illogique (mais qui n'empêche pas de marcher) si tu fais if (condition) , il est inutile dans le else de préciser if (!condition) puisque par définition du else, il s'exécute quand (!condition) est vrai.
Enfi, je ne vois comment ce code te permet de vérifier si une IP est déjà présente dans ta table, puis ton WHERE porte sur le compteur et non pas sur l'IP. Tant que ton compteur ne sera pas à 122, ton IP ne sera pas fournie par ta requête, je ne vois pas quel sens ça a.
Il y a un gros problème dans ta façon de faire : tu testes une valeur (if ($_SERVER['REMOTE_ADDR']==$donnees['ip']) ) avant de l'avoir lue, puis tu la lis en faisant $donnees = $reponse->fetch().
Deuxième truc illogique (mais qui n'empêche pas de marcher) si tu fais if (condition) , il est inutile dans le else de préciser if (!condition) puisque par définition du else, il s'exécute quand (!condition) est vrai.
Enfi, je ne vois comment ce code te permet de vérifier si une IP est déjà présente dans ta table, puis ton WHERE porte sur le compteur et non pas sur l'IP. Tant que ton compteur ne sera pas à 122, ton IP ne sera pas fournie par ta requête, je ne vois pas quel sens ça a.
MrYo
J'ai changé quelques trucs dont ce que tu m'as dit et tout marche correctement. Merci pour ton aide.