OVH Cloud OVH Cloud

fonction if - probleme bete

5 réponses
Avatar
Oliv
Salut,

j'ai un souci tout bête, j'aimerai mettre plusieurs conditions dans mon if,
mais cela ne fonctionne pas, je sais que j'ai pas fait un truc, mais je sais
pas quoi ^^ :)

<?php if($couleur == 1 || $tissu == 1 || $plateaux == 1) { } ?>

j'avais essayé aussi

<?php if(isset($couleur) || isset($tissu) || isset($plateaux)) { } ?>

mais sans résultats.

merci.

5 réponses

Avatar
Marouen
"Oliv @ mobilier-pro.com" a écrit dans le message news:
bonpd4$14f$
Salut,

j'ai un souci tout bête, j'aimerai mettre plusieurs conditions dans mon
if,

mais cela ne fonctionne pas, je sais que j'ai pas fait un truc, mais je
sais

pas quoi ^^ :)

<?php if($couleur == 1 || $tissu == 1 || $plateaux == 1) { } ?>

j'avais essayé aussi

<?php if(isset($couleur) || isset($tissu) || isset($plateaux)) { } ?>

mais sans résultats.

merci.


chanque condition doit être parenthèsée
if( ($couleur == 1)||($tissu == 1)||($plateaux == 1) ) { }

Marouen

Avatar
Jedi121
"Oliv @ mobilier-pro.com" a écrit le 11/11/2003 :
Salut,

j'ai un souci tout bête, j'aimerai mettre plusieurs conditions dans mon if,
mais cela ne fonctionne pas, je sais que j'ai pas fait un truc, mais je sais
pas quoi ^^ :)

<?php if($couleur == 1 || $tissu == 1 || $plateaux == 1) { } ?>

j'avais essayé aussi

<?php if(isset($couleur) || isset($tissu) || isset($plateaux)) { } ?>

mais sans résultats.

merci.


Ca devrait en effet fonctionner... es-tu sûr du contenu de tes valeurs?
Tu peux toujours essayer en remplaçant tes "||" par des "OR"...
Etonnant, peut-être que ton problème ne vient pas de ton test mais
d'ailleurs.

Avatar
marc
Salut,

j'ai un souci tout bête, j'aimerai mettre plusieurs conditions dans mon if,
mais cela ne fonctionne pas, je sais que j'ai pas fait un truc, mais je sais
pas quoi ^^ :)

<?php if($couleur == 1 || $tissu == 1 || $plateaux == 1) { } ?>

j'avais essayé aussi

<?php if(isset($couleur) || isset($tissu) || isset($plateaux)) { } ?>

mais sans résultats.

merci.


Hello,

<?php if($couleur == 1 || $tissu == 1 || $plateaux == 1) { } ?>

est égal à :

<?php if($couleur == 1 or $tissu == 1 or $plateaux == 1) { } ?>

Si tu voulais faire un AND, il fallait utiliser &&, autrment, je n'ai pas
compris !

Marc.

Avatar
CrazyCat
Oliv @ mobilier-pro.com wrote:
<?php if($couleur == 1 || $tissu == 1 || $plateaux == 1) { } ?>
<?php if(isset($couleur) || isset($tissu) || isset($plateaux)) { } ?>


un petit détail: parfois il y a un bug avec le isset(), il vaut mieux le
doubler avec un !=""
par contre, les problemes sur le 1er test, je ne vois pas... à moins que les
valeurs puissent être différente de 1?

--
CrazyCat from C-P-F.org

Avatar
romuald
CrazyCat wrote:

un petit détail: parfois il y a un bug avec le isset(), il vaut mieux le
doubler avec un !=""


Ce n'est pas un bug, une variable peut être settée mais avoir une
valeure nulle ( NULL ) ou être une chaine vide ( "" )

L'utilisation du isset permet d'éviter de génerer un NOTICE
d'utilisation d'une variable non instanciée.

Dans le cas du != "" et pour éviter de générer un NOTICE (même si ce
n'est pas activé dans la conf php ;p), tu peux toujours utiliser empty()

--
Romuald Brunet, ICQ 33033393, http://mog.online.fr

Signature forthcom^W