problème avec une condition

Eléphanteau du PHP | 17 Messages

22 avr. 2008, 20:39

Bonsoir,

J'ai un petit problème avec le code suivant :
   //si sexe est vide
  if($sexe=="")
 {
   $message_sexe="Quel est votre sexe ?";
   $error++;
 }
 // si sexe non égal à garçon ou fille
 else if (($sexe!="boy") or ($sexe!="girl"))
  {
    $message_sexe="erreur $sexe";
   
   $error++;
  }
En fait, le problème vient du else if, même si la variable $sexe est bien "boy" ou "girl", le message s'affiche toujours.

J'aimerais que quand $sexe n'est pas égal à "girl" ou "boy", un message d'erreur s'affiche. Mais la condition est toujours vrai, quel est le problème ?

ViPHP
ViPHP | 5924 Messages

22 avr. 2008, 21:03

Euh, c'est tout à fait normal, il fait exactement ce que tu lui demandes.
Tu lui demandes de t'afficher le message si la variable est différente de "boy" ou bien si elle est différente de "girl". Et ca c'est toujours vrai…

Eléphanteau du PHP | 17 Messages

22 avr. 2008, 22:01

mdr merci Sékitoyai, je pensais que ça faisait le contraire quel baka je fais
Bonne soirée et merci :D

EDIT: rectification: j'ai réessayé de modifier mon script, et remplacé "!=" par "==", mais le résultat reste le même le message s'affiche quel que soit le résultat.

EN fait, quand $sexe contient autre chose que "girl" ou "boy", un message d'erreur s'affiche. Mais quelque soit la façon dont je l'écris, cela reste la même chose, le message persiste, même quand $sexe="boy" ou $sexe="girl".

ViPHP
ViPHP | 5924 Messages

22 avr. 2008, 22:31

Exprime ce que tu veux en français, et normalement ça viendra naturellement…

Eléphanteau du PHP | 17 Messages

22 avr. 2008, 22:57

J'ai bien réfléchi au problème comme tu m'as dit, et j'ai enfin trouvé la solution, j'ai remplacé le or de ma condition par un and, et sa a fait exactement ce que je voulais

merci encore et bonne soirée :D

ViPHP
ViPHP | 5924 Messages

22 avr. 2008, 23:04

C'était cela.
Content que tu aies trouvé par toi même :)