Soucis avec conditions IF et AND

Petit nouveau ! | 3 Messages

07 sept. 2011, 17:50

Bonjour,

J'ai un formulaire ou l'utilisateur doit faire un choix de type OUI ou NON.
il doit ensuite indiquer un prix. Selon l'option choisit le prix minimum diffère.

Actuellement mon code n'impose qu'un meme prix minimum quelque soit le choix.

Que dois je mettre comme code pour que ca fonctionne ?? (j'ai fais plusieurs tentatives sans succes)

Voici le code de base (Légende : N=Non et Y=Yes. Y est définit ailleurs dans le code mais je copie ici juste l'essentiel pour comprendre):

Code : Tout sélectionner

if(isset($_POST["choix"])){ $form_choix= $_POST["choix"]; } else { $form_choix="N"; }
et

Code : Tout sélectionner

if (!is_numeric($form_price)){ $admitted = 0; echo "<img src='".$livesite."administrator/images/publish_x.png' width='16' height='16' alt='' align='absmiddle' /> <font color='red'><b>".JText::_('entrer une valeur numerique')."</b></font><br />"; } else { if ($form_price < 20){ $admitted = 0; echo "<img src='".$livesite."administrator/images/publish_x.png' width='16' height='16' alt='' align='absmiddle' /> <font color='red'><b>".JText::_('20 Euros prix minimum')."</b></font><br />"; } }
J'ai modifié comme ceci (mais ca ne fonctionne pas :

Code : Tout sélectionner

if (!is_numeric($form_price)){ $admitted = 0; echo "<img src='".$livesite."administrator/images/publish_x.png' width='16' height='16' alt='' align='absmiddle' /> <font color='red'><b>".JText::_('entrer une valeur numerique')."</b></font><br />"; } if ($form_choix="N" AND $form_price < 20){ $admitted = 0; echo "<img src='".$livesite."administrator/images/publish_x.png' width='16' height='16' alt='' align='absmiddle' /> <font color='red'><b>".JText::_('20 Euros prix minimum')."</b></font><br />"; } else { if ($form_choix="Y" AND $form_price < 5){ $admitted = 0; echo "<img src='".$livesite."administrator/images/publish_x.png' width='16' height='16' alt='' align='absmiddle' /> <font color='red'><b>".JText::_('Prix de 5 Euros minimum')."</b></font><br />"; } }

HELP !!

ViPHP
ViPHP | 4039 Messages

07 sept. 2011, 21:33

C'est original.

D'ou te vient l'idée d'utiliser un "AND" ?

Comme tu peux le voir ici, il n'existe pas, mais il y a un autre symbole qui reproduit sa fonctionnalité :wink:
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

07 sept. 2011, 22:39

Sauf que l'opérateur php "AND" existe bien (de même que "OR", hélas). Ils ont une priorité différente de && et || ce qui rend leur utilisation risquée lorsqu'on ne maîtrise pas les priorités.
http://fr.php.net/manual/en/language.op ... ogical.php

Le problème vient surtout des opérateurs d'affectation (=) dans les if, alors qu'il faudrait vraisemblablement utiliser des opérateurs de comparaison (==)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Petit nouveau ! | 3 Messages

08 sept. 2011, 18:48

Merci pour ces réponses qui m'ont permis de résoudre le probleme ! =D>

Je sens que je vais aimer ce forum ! :D