SELFHTML

Achim Schrepfer:
Exploitation facile des cases à cocher (checkbox) de formulaires HTML grâce à PHP

Page d'information: vue d'ensemble

vers le bas Achim Schrepfer
vers le bas Remarques sur ce thème
vers le bas Exemple avec explications
vers le bas Exemple en ligne

vers le bas 

Achim Schrepfer

Adresse électronique: adresse électronique selfeature@speedesign.de
URLde son site: page en langue allemande http://www.speedesign.de/

Il s'agit ici d'un article traduit de l'allemand par la rédaction de SELFHTML actuel. Veuillez poser vos questions relatives à cet article uniquement à son auteur, prenant compte que celui-ci ne maîtrise peut-être pas la langue française!

vers le hautvers le bas 

Remarques sur ce thème

Quand vous désirez ou devez mettre en œuvre dans un formulaire de nombreuses cases à cocher, il vous faut constater que leur évaluation est souvent une tâche laborieuse. Si vous travaillez avec PHP, l'évaluation de cases à cocher peut être sensiblement simplifiée.

Un petit exemple concret: Vous désirez établir un formulaire de commande de voiture. Le formulaire comprend également, outre les éléments de saisie de texte et les champs de liste, de nombreuses cases à cocher pour les options par exemple. Derrière chaque case à cocher se trouve quelque chose comme "airbag côté passager", "phares anti-brouillard", "télécommande radio" entre autres.

Affecter un nom propre à chaque case à cocher distincte et les vérifier ensuite représenterait un travail non négligeable. Grâce à PHP, vous pouvez regrouper les cases à cocher dans un groupe cohérent et affecter à tous les champs <input> l'attribut name avec le même nom. Pour ce faire, il vous suffit d'adjoindre au nom une paire de crochets ([]). Le code HTML pour la boite à cocher donnerait alors ceci: <input type="checkbox" name="options[]" value="Airbag">.

Quand vous envoyez un formulaire avec des cases à cocher ainsi nommées à un script PHP, l'intrpréteur PHP écrit les valeurs des cases à cocher choisies dans un tableau du même nom que les cases à cocher. Leurs valeurs peuvent alors être exploitées commodément.

L'exemple suivant montre comme il est facile d'utiliser de cette façon autant de cases à cocher que vous le désirez:

vers le hautvers le bas 

Exemple et explications

Exemple

      1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
      2 <html>
      3 <head>
      4         <title>Exploitation facile des cases à cocher avec PHP</title>
      5 </head>
      6
      7 <body>
      8
      9 <form action="checkbox.php">
     10 <input type="hidden" name="envoi" value="yes">
     11 <input type="text" name="voiture"><br>
     12 <input type="checkbox" name="options[]" value="Injection au méthane">&nbsp;Injection au méthane<br>
     13 <input type="checkbox" name="options[]" value="Trois roues de secours">&nbsp;Trois roues de secours<br>
     14 <input type="checkbox" name="options[]" value="Miroir de courtoisie dans le coffre">&nbsp;Miroir de courtoisie dans le coffre<br>
     15 <input type="checkbox" name="options[]" value="Ventilation des rotules (côté conducteur)">&nbsp;Ventilation des rotules côtés conducteur)<br>
     16 <input type="checkbox" name="options[]" value="Kit James-Bond ">&nbsp;Kit James-Bond <br>
     17 <input type="submit">
     18 </form>
     19
     20 <?php
     21       $envoi = $_GET['envoi'];                //aiguilleur
     22       $voiture = $_GET['voiture'];            //Nom de la voiture
     23       $options = $_GET['options'];            //Contenu des cases à cocher
     24
     25         if ($envoi == 'yes') {
     26              $options_text = implode(', ',$options);
     27
     28                 echo '<h1>L\'auto de vos rêves &quot;'.$voiture.'&quot;:</h1>';
     29                 echo '<p>options:<br><br>'.$options_text.'</p>';
     30         }
     31 ?>
     32
     33 </body>
     34 </html>

Explications:

Aux lignes 9 à 18 un formulaire HTML classique où un champ texte (ligne 11) est défini ainsi que cinq cases à cocher (lignes 12 à 16). Le champ caché "envoi" à la ligne 10 sert uniquement d'"aiguilleur" pour une exploitation ultérieure. Au premier appel du fichier, le formulaire est sorti tout à fait normalement. Après l'envoi du formulaire $envoi == 'yes' est vrai et le bloc compris entre les lignes 26 et 29 est exécuté. C'est la ligne 26 qui est la plus importante ici. Dans $options est sauvegardé en fait un tableau qui grâce à la commande PHP implode et un signe de séparation (en l'occurrence ", ") est ajouté en tant que chaîne de caractères. Aux lignes 28 et 29 le résultat est sorti en HTML.

Attention:

Dans l'exemple, la vérification du formulaire qui s'impose ainsi que la codification des entrées en HTML ont été omises intentionellement de façon n'y mettre que l'essentiel. L'exemple est également être consulté en ligne à l'adresse mentionnée ci-dessous.

vers le hautvers le bas 

Exemple en ligne:

Les liens suivants sont recommandés pour mieux comprendre l'exemple ci-dessus ou pour apprendre d'autres possibilités ou détails.

Page d'information: connexion exigée exemple en ligne

vers le haut

© 2001-2005 Seite Informations