Page 1 sur 1

problème avec une condition

Posté : 22 avr. 2008, 20:39
par toshiro92
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 ?

Posté : 22 avr. 2008, 21:03
par Sékiltoyai
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…

Posté : 22 avr. 2008, 22:01
par toshiro92
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".

Posté : 22 avr. 2008, 22:31
par Sékiltoyai
Exprime ce que tu veux en français, et normalement ça viendra naturellement…

Posté : 22 avr. 2008, 22:57
par toshiro92
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

Posté : 22 avr. 2008, 23:04
par Sékiltoyai
C'était cela.
Content que tu aies trouvé par toi même :)