Soucis pour une condition if

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Soucis pour une condition if

par Aureusms » 21 juin 2007, 10:15

Désolé... Dans ma hâte je n'avais pas vu ta réponse précédente à la mienne. Il est vrai que je ne suis pas pédagogue... :lol:

Au plaisir de t'aider à nouveau alaingpl

par alaingpl » 20 juin 2007, 14:57

Merci à vous deux et particulièrement à Cyrano.

J'ai remplacé par OR et cela fonctionne. Comme la écrit Cyrano ce n'était qu'un problème de raisonnement.
Néanmoins mon projet n'est pas terminé et je n'exclus pas devoir vous solliciter à nouveau.
Merci encore à tous.

Re: Soucis pour une condition if

par Cyrano » 20 juin 2007, 13:47


if( $result['id'] != $id && $result['mdp'] != $mdp1)[/php]
Je pense que tu veux : si id OU motdepasse ne sont pas bons alors resultats. remplace && par || et je pense que cela devrait fonctionner
J'aurais aimé que alaingpl trouve lui-même ;) mais c'est exactement ça.

Avec "&&", il faut que les deux conditions soient remplies pour que l'action s'exécute.
Avec "||", il faut qu'au moins une des deux soit remplie, à fortiori si les deux le sont.

Re: Soucis pour une condition if

par Aureusms » 20 juin 2007, 12:09


if( $result['id'] != $id && $result['mdp'] != $mdp1)[/php]
Je pense que tu veux : si id OU motdepasse ne sont pas bons alors resultats. remplace && par || et je pense que cela devrait fonctionner

par Cyrano » 19 juin 2007, 19:11

Pose-toi la question autrement : il faudrait s'identifier si au moins une des deux valeurs est fausse : on est bien d'accord ?

Tu as mis :
if( $result['id'] != $id && $result['mdp'] != $mdp1)
Ce qui, traduit en langage humain, signifie que si les deux valeurs sont fausses, je devrais m'identifier, mais si une seule est fausse, ça ne fonctionnera pas, l'identification sera validée.

Et si tu obligeais à refaire l'identification si au moins une des deux valeurs est fausse... penses-y trente seconde : il n'y aurait qu'une seule chose à modifier dans cette ligne de code.

Indice : ET ~ OU

Soucis pour une condition if

par alaingpl » 19 juin 2007, 18:20

Bonjour à tous,

Je souhaite qu'une condition soit vérifiée avec un if mais forcément il y a un pbl:

La condition :
if( $result['id'] != $id && $result['mdp'] != $mdp1)

Je souhaite qu'elle vérifie que la $id soit égal au champ id et $mdp1 soit égal au champ mdp. Soit pour moi :
si (résultat de ma requête[champ id] n'est pas égal à $id et resultat de ma requête[champ mdp ]n'est pas égal à $mdp1) on affiche : vous devez vous identifier
sinon...

En plus ça bloque toujours à l'echo après la condition. Je confirme que les variables sont bien transmises.
Voici le code presque complet
mysql_connect($localhost,$login,$mot) OR die("Erreur !<br/ >" .mysql_error());  

// je me rend sur notre base de donnée 
mysql_select_db($dbName) OR die("Erreur !<br />" .mysql_error()); 

$sql='SELECT id, mdp FROM table_mdp WHERE id="'.$id.'" LIKE mdp="'.$mdp1.'" ';

$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 

$result= mysql_fetch_assoc($req);
// si $id n'est pas egal au champ id et $mdp1 n'est pas egal au champ mdp alors
//vous devez vous identifier, 
if( $result['id'] != $id && $result['mdp'] != $mdp1)
{
echo "vous devez vous identifier";
}
else
{
switch ($id)
En vous remerciant de votre aide car là ça devient :tir2: