Nous en avons déjà parlé dans les 2 pages précédentes : il faut vérifier les données reçues de zones qui ne permettent pas directement de saisir des informations :
Quand ces zones doivent contenir des valeurs numériques, on peut leur appliquer les tests sur les types numériques.
On peut aussi utiliser une autre méthode pour vérifier que les données reçues sont bien dans la plage de celles attendues: mettre les valeurs attendues dans un tableau et tester si la valeur reçue se trouve bien dans le tableau.
Utiliser un tableau avec les valeurs permises fonctionne aussi très bien avec des valeurs numériques qui ne seraient pas consécutives.
Le traitement des zones de cases à cocher est un peu particulier. Si l'utilisateur n'a pas coché la case, aucune information ne sera transmise au serveur et on ne retrouvera rien dans $_POST.
Avant de réaliser des tests sur les valeurs des cases à cocher, il faut donc avant tout savoir si ces valeurs existent dans $_POST (ie si la case à été cochée). En conséquence, on commence par tester avec la fonction isset() si la clé correspondante au nom de la case à cocher (attribut HTML name) se trouve dans le tableau $_POST.
Une fois que l'on est sûr de la présence de l'élément à tester, on peut comparer directement la valeur reçue avec celle attendue.
Comme vous le voyez, la vérification de cases à cocher est une chose un peu pénible et je vous recommande, dans la mesure du possible, de ne pas utiliser ce type de zone de saisie