Aide explication requete AND OR et XOR
Fermé
Hector187
Messages postés
8
Date d'inscription
mercredi 13 mars 2013
Statut
Membre
Dernière intervention
2 avril 2013
-
22 mars 2013 à 05:46
Hector187 Messages postés 8 Date d'inscription mercredi 13 mars 2013 Statut Membre Dernière intervention 2 avril 2013 - 24 mars 2013 à 15:55
Hector187 Messages postés 8 Date d'inscription mercredi 13 mars 2013 Statut Membre Dernière intervention 2 avril 2013 - 24 mars 2013 à 15:55
A voir également:
- Paris multiple 3/6 explication
- Paris multiple 2/6 explication ✓ - Forum Loisirs / Divertissements
- :3 emoji ✓ - Forum Loisirs / Divertissements
- 3 nains vont à la mine explication ✓ - Forum Loisirs / Divertissements
- Deco in paris avis ✓ - Forum Consommation & Internet
- Gta 6 prix - Accueil - Jeu vidéo
6 réponses
yenku
Messages postés
11
Date d'inscription
dimanche 4 novembre 2012
Statut
Membre
Dernière intervention
22 mars 2013
3
22 mars 2013 à 10:32
22 mars 2013 à 10:32
Bonjour,
Voici la réponse que je peux t'apporter en fonction de ce que j'ai compris de ton poste.
Le AND ne te renvoie que l'entrée deux de ta BDD car il te renvoie que la chose valide.
Le OR te renvoie toute la BDD car c'est un ou et il suffit qu'une chose soit vrai pour que la condition soient vérifiée.
j'espère avoir été claire.
Voici quelques liens de tuto vidéo pour la connexion a un espace membre d'un site web en php avec BDD:
https://www.grafikart.fr/tutoriels/gestion-membre-229
https://www.grafikart.fr/tutoriels/niveau-permissions-php-148
https://www.grafikart.fr/tutoriels/developper-site-jour7-authentification-189
Cordialement Yenku.
Voici la réponse que je peux t'apporter en fonction de ce que j'ai compris de ton poste.
Le AND ne te renvoie que l'entrée deux de ta BDD car il te renvoie que la chose valide.
Le OR te renvoie toute la BDD car c'est un ou et il suffit qu'une chose soit vrai pour que la condition soient vérifiée.
j'espère avoir été claire.
Voici quelques liens de tuto vidéo pour la connexion a un espace membre d'un site web en php avec BDD:
https://www.grafikart.fr/tutoriels/gestion-membre-229
https://www.grafikart.fr/tutoriels/niveau-permissions-php-148
https://www.grafikart.fr/tutoriels/developper-site-jour7-authentification-189
Cordialement Yenku.
Hector187
Messages postés
8
Date d'inscription
mercredi 13 mars 2013
Statut
Membre
Dernière intervention
2 avril 2013
22 mars 2013 à 17:12
22 mars 2013 à 17:12
Salut Yenku merci pour ton explication ;-) alors j'apporte quelques précisions voici la BDD à deux entrée :
1) pseudo : Hector pass : Priam
2) pseudo : Achyll pass : WestCoast
j'entre dans mon formulaire :
pseudo : Hector
pass : 1234
Donc pour le OR ok comme l'une des deux entrées est valide ça me renvoie toute la BDD.
Mais le AND je bloque : pourquoi l'entrée deux (achyll westcoast) alors que je rentre une partie des identifiant de l'entrée une ?
1) pseudo : Hector pass : Priam
2) pseudo : Achyll pass : WestCoast
j'entre dans mon formulaire :
pseudo : Hector
pass : 1234
Donc pour le OR ok comme l'une des deux entrées est valide ça me renvoie toute la BDD.
Mais le AND je bloque : pourquoi l'entrée deux (achyll westcoast) alors que je rentre une partie des identifiant de l'entrée une ?
Utilisateur anonyme
22 mars 2013 à 17:39
22 mars 2013 à 17:39
Bonjour
Donc pour le OR ok comme l'une des deux entrées est valide
Justement non ! Dans ton test, tu ne vérifie pas l'égalité mais la différence !
Donc le ou fonctionne car il y a toujours au moins un champ différent
Avec le AND tu vérifies que les DEUX champs sont mauvais à la fois, c'est donc bien la deuxième,ligne qui satisfait la condition
Et le XOR est ok sur la première ligne car un champ est bon et l'autre mauvais.
Donc pour le OR ok comme l'une des deux entrées est valide
Justement non ! Dans ton test, tu ne vérifie pas l'égalité mais la différence !
Donc le ou fonctionne car il y a toujours au moins un champ différent
Avec le AND tu vérifies que les DEUX champs sont mauvais à la fois, c'est donc bien la deuxième,ligne qui satisfait la condition
Et le XOR est ok sur la première ligne car un champ est bon et l'autre mauvais.
Hector187
Messages postés
8
Date d'inscription
mercredi 13 mars 2013
Statut
Membre
Dernière intervention
2 avril 2013
Modifié par Hector187 le 22/03/2013 à 20:08
Modifié par Hector187 le 22/03/2013 à 20:08
Le père merci pour ton éclaircissement (encore merci à yenku aussi ;-)) mais il doit me manquer un petit truck dans la compréhension globale.
je reprend ma requête avec XOR qui m'affiche mon entrée une et je rajoute le codage suivant :
if($donnees['pseudo'] != $_POST['pseudo'])
{
echo 'Pseudo invalide veuillez réessayé';
}
elseif($donnees['mot_de_passe'] != $_POST['mot_de_passe'])
{
echo 'mot de passe invalide veuillez réessayé';
}
else
{
echo 'identifiants invalide veuillez réessayé';
}
je ne comprend pas pourquoi dans le cas ou le pseudo est bon et le mot de passe incorrect cela m'affiche dans tout les cas l'echo du if et pas celui du elseif ?
je reprend ma requête avec XOR qui m'affiche mon entrée une et je rajoute le codage suivant :
if($donnees['pseudo'] != $_POST['pseudo'])
{
echo 'Pseudo invalide veuillez réessayé';
}
elseif($donnees['mot_de_passe'] != $_POST['mot_de_passe'])
{
echo 'mot de passe invalide veuillez réessayé';
}
else
{
echo 'identifiants invalide veuillez réessayé';
}
je ne comprend pas pourquoi dans le cas ou le pseudo est bon et le mot de passe incorrect cela m'affiche dans tout les cas l'echo du if et pas celui du elseif ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
22 mars 2013 à 22:46
22 mars 2013 à 22:46
As-tu écrit hector ou Hector avec les mêmes majuscules / minuscules dans ton formulaire que ce qu'il y a dans ta base ?
Si tu n'as pas écrit exactement de la même manière, ça peut expliquer ce que tu vois. Car MySQL ne tient pas compte (ne général) de la casse, alors que PHP en tient compte. Donc tu peux bien avoir 'Hector'='hector' pour MySQL alors que 'Hector'!='hector' pour PHP
Si tu n'as pas écrit exactement de la même manière, ça peut expliquer ce que tu vois. Car MySQL ne tient pas compte (ne général) de la casse, alors que PHP en tient compte. Donc tu peux bien avoir 'Hector'='hector' pour MySQL alors que 'Hector'!='hector' pour PHP
Hector187
Messages postés
8
Date d'inscription
mercredi 13 mars 2013
Statut
Membre
Dernière intervention
2 avril 2013
24 mars 2013 à 15:55
24 mars 2013 à 15:55
Le père encore une fois je te remercie tu as compris direct.
Maintenant tout marche parfaitement je vais pouvoir passer aux exercices suivant ;-)
j'espère pouvoir te renvoyer l'ascenseur un jour.
Maintenant tout marche parfaitement je vais pouvoir passer aux exercices suivant ;-)
j'espère pouvoir te renvoyer l'ascenseur un jour.