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.