petit problème pour transfert de valeurs dans liste à choix multiple

petit problème pour transfert de valeurs dans liste à choix multiple - PHP - Programmation

Marsh Posté le 22-03-2007 à 21:57:47    

bonsoir  
 
voila mon problème j'ai une liste à choix multiple
 

Code :
  1. <h1>Choisissez vos couleurs!</h1>
  2. <form action="choix.php">
  3. <p>
  4. <select name="color[]" size="3" multiple="multiple" >
  5. <option>rouge</option>
  6. <option>noir</option>
  7. <option>bleu</option>
  8. <option>jaune</option>
  9. <option>violet</option>
  10. </select>
  11. </p>
  12. <input type="submit" value"ENVOI"/>
  13. </form
  14. </body>


 
jusque là tout va bien, sauf que mon script PHP ne m'affiche pas mes choix...  

Code :
  1. <?php
  2. $tabcolor=(isset($_POST["color"]))&&$_POST["color"];null;
  3. echo "vos couleurs sont:";
  4. if (!empty ($tabcolor)) {
  5. foreach($tabcolor as $color){
  6. echo $color;
  7.   }
  8.   }
  9. ?>


 
que faire?
 
cdlt,


---------------
blog Bretagne
Reply

Marsh Posté le 22-03-2007 à 21:57:47   

Reply

Marsh Posté le 23-03-2007 à 03:28:28    

Salut
 
Y'a pas de value dans tes options...


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
Reply

Marsh Posté le 23-03-2007 à 09:09:57    

Bonjour,

 

+1 pour les 'value'.

 

D'autre part, cette ligne de code me paraît un peu ésotérique :

Code :
  1. $tabcolor=(isset($_POST["color"]))&&$_POST["color"];null;


Ceci serait peut-être mieux :

Code :
  1. $tabcolor = (isset($_POST["color"])) ? $_POST["color"] : null;
 


Reply

Marsh Posté le 23-03-2007 à 09:52:35    

- tu n'as pas fermé </form ...
- attention si t'es en doctype Strict, le <input> ne peut pas être fils du <form>
- tu n'as pas spécifié la méthode
- perso je forcerais le choix d'une couleur plutôt que 'null' pour éviter un problème potentiel si inclusion d'un fichier...

Reply

Marsh Posté le 23-03-2007 à 11:26:15    

jeca a écrit :

Bonjour,
 
+1 pour les 'value'.
 
D'autre part, cette ligne de code me paraît un peu ésotérique :

Code :
  1. $tabcolor=(isset($_POST["color"]))&&$_POST["color"];null;


Ceci serait peut-être mieux :

Code :
  1. $tabcolor = (isset($_POST["color"])) ? $_POST["color"] : null;



 

Code :
  1. 1.
  2.       $tabcolor = (isset($_POST["color"])) ? $_POST["color"] : null;


 
c'est quoi ce "?" avant post...
 
sinon, j'ai plus d'erreurs mais le script n'affiche rien...


---------------
blog Bretagne
Reply

Marsh Posté le 23-03-2007 à 14:08:52    

le ? est une structure ternaire.
dire :

Code :
  1. if ($a == 'ok')
  2. {
  3.    $b = 5;
  4. }
  5. else
  6. {
  7.   $b = 100;
  8. }


équivaut à :

Code :
  1. $b = ($a == 'ok') ? 5 : 100;


 
une condition est vérifiée, puis l'action ($b =) est exécutée en renseignant la première valeur si vrai, la seconde autrement.


Message édité par NewsletTux le 23-03-2007 à 14:09:17
Reply

Marsh Posté le 23-03-2007 à 14:10:52    

as-tu essayé de faire un print_r($_POST); pour voir ce que tu récupérais du formulaire ?

Reply

Marsh Posté le 23-03-2007 à 14:12:59    

ok merci, pour ton explication trés clair ,j ai corrigé, mais  alors pourquoi mon script ne m'affiche rien?


---------------
blog Bretagne
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed