Comment vérifier si une case est cochée en PHP ?

Réponses rédigées par Antoine
Dernière mise à jour : 2020-03-01 18:57:17
Thèmes : webmaster - php - checkbox
Question

Comment vérifier si l'une ou l'autre, ou les deux cases sont cochées en PHP ?

<form method="post" action="index.php"> 
<input type="checkbox" name="option1" value="1">Option 1
<input type="checkbox" name="option2" value="2">Option 2
<input type="submit" value="Envoyer le formulaire">
</form> 
Réponse

Le plus simple pour vérifier qu'une case est cochée en PHP est d'utiliser la fonction isset.

Selon que vous utilisez la méthode GET ou POST, vous devez préalablement définir les variables correspondantes aux case à cocher avec $_POST ou $_GET.

$case_1 = $_POST["option1"];
$case_2 = $_POST["option2"];

Il vous suffit ensuite d'utiliser la fonction isset pour déterminer si les variables sont correctement déclarées et est différentes de null.

Dans l'exemple ci-dessous on teste préalablement la méthode utilisée lors de la soumission du formulaire : ici POST.

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") 
{
$case_1 = $_POST["option1"];
$case_2 = $_POST["option2"];

if(isset($case_1) && isset($case_2))
{ 
echo "Les deux cases sont cochées"; 
}  
else if(isset($case_1))
{ 
echo "La case 1 est cochée"; 
}
else if (isset($case_2))
{ 
echo "La case 2 est cochée"; 
}
else echo "Aucune case n'est cochée"; 
}
?>

Remarque : pour des raisons de sécurité vous devez sécuriser les variables de votre formulaire.