Résumé: dans ce tutoriel, vous apprendrez à utiliser PHP pour traiter un formulaire avec une ou plusieurs cases à cocher.
Une introduction rapide à l’élément case à cocher
Une case à cocher vous permet de sélectionner une seule valeur à soumettre dans un formulaire. Pour créer une case à cocher, vous utilisez l’élément input avec le type checkbox comme suit:
Code language: HTML, XML (xml)
Une case à cocher a deux états : cochée et non cochée.
Si vous cochez la case et soumettez le formulaire à l’aide de la méthode POST, le tableau associatif $_POST contiendra un élément dont la clé est checkbox_name et la valeur est checkbox_value.
Code language: PHP (php)
Cependant, si vous décochez la case et soumettez le formulaire, le $_POST n’aura aucun élément avec la clé checkbox_name. Cela signifie que l’expression suivante renvoie false:
Code language: PHP (php)
Pour vérifier si une case est cochée, vous pouvez également utiliser la fonction filter_has_var() comme ceci:
Code language: JavaScript (javascript)
La fonction filter_has_var() renvoie true si la fonction checkbox_name existe dans la fonction INPUT_POST.
Une case à cocher n’a pas d’étiquette. Par conséquent, vous devez toujours utiliser une case à cocher avec un élément <label> comme ceci:
Code language: HTML, XML (xml)
Dans cet exemple, la valeur de l’attribut for de l’élément <label> est la même que la valeur de l’attribut id de la case à cocher. Lorsque vous associez une étiquette à une case à cocher, vous pouvez cliquer sur l’étiquette pour cocher ou décocher la case.
Une autre façon d’associer une case à cocher à une étiquette consiste à placer la case à cocher à l’intérieur de l’étiquette comme ceci:
Code language: HTML, XML (xml)
Dans ce cas, vous n’avez pas besoin de spécifier id pour la case à cocher et l’attribut for pour l’étiquette.
Un simple exemple de case à cocher PHP
Nous allons créer un formulaire simple avec une case à cocher et un bouton d’envoi.
Tout d’abord, créez le répertoire et la structure de fichiers suivants:
Code language: plaintext (plaintext)
| Fichier | Répertoire | Description |
|---|---|---|
| index.php | . | Contient la logique principale que les charges obtiennent.php ou post.php en fonction de la méthode de requête HTTP |
| en-tête.php | inc | Contient le code d’en-tête |
| pied de page.php | inc | Contient le code du pied de page |
| obtenez.php | inc | Contient le code pour afficher un formulaire avec une case à cocher lorsque la requête HTTP est GET. |
| poste.php | inc | Contient le code pour gérer la requête POST |
| .htaccess | inc | Empêche l’accès direct aux fichiers du répertoire inc |
| style.css | css | Contient le code CSS |
index.php
Ensuite, ajoutez le code suivant au fichier index.php:
Code language: PHP (php)
Le index.php charge le formulaire à partir du fichier get.php si la méthode de requête HTTP est GET. Et il charge le fichier post.php si le formulaire est soumis.
La variable $errors est utilisée pour stocker les messages d’erreur.
en-tête.php
Troisièmement, placez le code suivant dans le fichier header.php:
Code language: HTML, XML (xml)
pied de page.php
Quatrièmement, le fichier footer.php contient les balises englobantes correspondant aux balises d’ouverture du fichier header.php:
Code language: HTML, XML (xml)
obtenez.php
Cinquièmement, créez un formulaire dans le fichier get.php:
Code language: PHP (php)
poste.php
Sixièmement, ajoutez le code suivant au fichier post.php pour assainir et valider les données du formulaire:
Code language: PHP (php)
Résumé
- Utilisez
isset()oufilter_has_var()pour vérifier si une case est cochée ou non.