L2 Info : PHP et Programmation Web
 
◃  Ch. 6 Gestion des formulaires  ▹
 

Sélections multiples

  • Formulaire HTML :
    • Élément select avec l'attribut multiple
    • Utilisation des crochets pour le nom de variable name="musique[]"
    • Gestion identique aux checkbox.
    <form action="coursPHP48.php" method="post" target="ongletCible">
    <p>Nom : <input type="text" name="nom"  size="10" /></p>
    <p>Musique : <select multiple="multiple" size="5" name="musique[]">
    	       <option value="Electro" selected="selected"> Electro</option>
                   <option value="Indus"> Indus</option>
                   <option value="Pop" selected="selected"> Pop</option>
                   <option value="Rap" selected="selected"> Rap</option>
                   <option value="Rock"> Rock</option>
                </select></p>
    <p><input type="submit" name="enregistrement" value="Envoyer" /></p>
    </form>
  • Affichage dans le navigateur :

    Nom :

    Musique :

  • Fichier coursPHP48.php
    <?php
        echo 'Nom : '.$_POST['nom'].' <br />';
        if (isset($_POST['musique']) && is_array($_POST['musique'])) {
            $musique = $_POST['musique'];
            echo('Gouts musicaux :<ul>');
            foreach($musique as $elem) {
                echo("<li> $elem </li>\n");
            }
        echo("</ul>\n");
    }
    ?>
    
  • Résultat :
    Nom : Toto
    Gouts musicaux :
    • electro
    • pop
    • rap
  • Si absence de vérification du tableau :
     Warning: Invalid argument supplied
    for foreach() in ./coursPHP48.php on line 18