Imbriquer un "ou" et un "et" dans une co

CPM
Invité n'ayant pas de compte PHPfrance

30 janv. 2006, 11:26

Bonjour à tous,

Je vais essayé de vous expliquer simplement mon problème ; je veux faire un test conditionnel dans mon script php où la « logique » serait la suivante : Si $variable1 est différent de ‘Constructeur’ ou si $variable1 est différent de ‘NC’ et que $variable2 est égal à une valeur vide alors....

J’ai donc écrit ça de la manière suivante, en pensant que cela fonctionnerait sans problème, mais apparemment cela doit s’écrire d’une autre manière je pense par ce que cela ne fonctionne pas.
if (($variable1!='CONSTRUCTEUR'||$variable1!='NC') && $variable2==''){
   echo "<center><img src='images\Carreful.jpg'>"  ;
}
Pouvez-vous m’aider à résoudre ce petit problème qui me casse bien les pieds.

Par avance merci de votre aide !

Mammouth du PHP | 19672 Messages

30 janv. 2006, 11:38

Selon ton code, il y a deux condition à tester dans ton if :
- d'une part : ($variable1!='CONSTRUCTEUR'||$variable1!='NC') : l'une OU l'autre de ces deux condition doit être vérifiée;
- ET d'autre part : $variable2==''
Ces deux blocs doivent être vérifiés : est-ce que c'est bien ça que tu veux faire ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

CPM
Invité n'ayant pas de compte PHPfrance

30 janv. 2006, 11:45

Oui c tout à fait ça ! Ces deux blocs doivent être vérifiés !

Eléphant du PHP | 383 Messages

30 janv. 2006, 13:13

le code a l'air bon, mais je remarque que dans ta description, tu parles de "Constructeur", alors que dans le code il y a "CONSTRUCTEUR" ( attention a la casse )(sans mauvais jeu de mots .... :-) )

CPM
Invité n'ayant pas de compte PHPfrance

30 janv. 2006, 13:54

Non le problème ne vient pas de là, j'ai déjà vérifié cette hypothèse, c juste que dans ma description de mon pb je n'ai pas mis les éléments en majuscules.

Merci tout de même pour ton aide !

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

30 janv. 2006, 14:38

Salut,

tu testes avec quoi ?

Eléphant du PHP | 383 Messages

30 janv. 2006, 15:00

oui, est tu sur que le probleme ne vient pas d'une mauvaise initialisation des varaibles ? vu que le code a l'air bon, je pense que le pb vient du fait que tes variables ne contiennent pas ce que tu crois.....

CPM
Invité n'ayant pas de compte PHPfrance

30 janv. 2006, 15:29

Je ne pense pas que mon problème vienne de là, étant donné que quand je fais un echo de mon test conditionnel avec $variable1='CONSTRUCTEUR', cela me donne bien quelque chose de cohérent à l'écran !

Test conditionnel origine :
if (($variable1!='CONSTRUCTEUR'||$variable1!='NC') && $variable2==''){
   echo "<center><img src='images\Carreful.jpg'";
}
Test affiché via un echo :
if ((CONSTRUCTEUR!='CONSTRUCTEUR'||CONSTRUCTEUR!='NC') && =='')
Dans ce cas de figure, les conditions ne sont pas remplies, il ne devrait donc pas rentrer. Alors qu'il rentre !? C'est ça que je ne comprends pas !

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

30 janv. 2006, 15:32

modération : CPM, utilise les balises PHP plutôt que COLOR pour mettre ton code en évidence.

Je l'ai fait pour toi mais pense y la prochaine fois ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 383 Messages

30 janv. 2006, 15:44

Test affiché via un echo :
if ((CONSTRUCTEUR!='CONSTRUCTEUR'||CONSTRUCTEUR!='NC') && =='')
Dans ce cas de figure, les conditions ne sont pas remplies, il ne devrait donc pas rentrer. Alors qu'il rentre !? C'est ça que je ne comprends pas !
si c'est un copie colle litteral de ton test, ya des trucs qui clochent...