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

Gestion des choix multiples

  • Formulaire HTML :
    • Entités input (type="checkbox) partageant le même attribut name
    • name="cadeau[]" : les [] indiquent la mémorisation des informations dans un tableau
    • Les valeurs associées à chaque case à cocher sont individuelles
    <form action="coursPHP46.php" method="post" target="ongletCible">
    <p>Nom : <input type="text" name="nom" size="10" /> <br />
    Cadeaux : <br />
    Livre  <input type="checkbox" name="cadeaux[]"
                     value="livre" checked="checked"  <!-- précoché -->
    Tee-shirt <input type="checkbox" name="cadeaux[]"
                        value="tee-shirt" />
    Sac <input type="checkbox" name="cadeaux[]"
                  value="sac" checked="checked"  <!-- précoché -->
    Sweat  <input type="checkbox" name="cadeaux[]"
                     value="sweat" /></p>
    <p><input type="submit" name="enregistrement" value="Envoyer" /></p>
    </form>
  • Affichage dans le navigateur :

    Nom :
    Cadeaux :
    Livre Tee-shirt Sac Sweat

  • Fichier coursPHP46.php
    <?php
        echo('Nom : '.$_POST['nom']." <br />");
        if (isset($_POST['cadeaux']) and is_array($_POST['cadeaux'])) {
        $cadeaux = $_POST['cadeaux']; // pour alléger l'utilisation de la variable
        echo('Liste des cadeaux:<ul>');
        foreach($cadeaux as $elem) {
            echo("<li> $elem </li>\n");
        }
        echo("</ul>\n");
    }
    ?>
  • Résultat :
    Nom : Toto
    Liste de cadeaux :
    • livre
    • sac