Formulaire : checkbox envoie 1 si coché et 0 si non
En HTML, pour les checkbox, si la checkbox n’est pas checkée, elle n’envoit rien !
Comment faire pour envoyer quand même zéro lorsque la checkbox n’est pas cochée?
En effet
<?php
echo "vous êtes en train de soumettre un formulaire";
echo '<pre>';
print_r($_POST);
echo '</pre>';
echo $_POST['test'];
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<form action="<?= $_SERVER['PHP_SELF'] ?>" method="post">
<label for="">Checkez SVP</label><br>
<input type="hidden" name="toto" value="0">
<input type="checkbox" name="toto" value="1"><br>
<input type="submit" value="Soumettre">
</form>
</body>
</html>
La solution relativement simple consiste à créer un input de type hidden donc invisible qui contient la valeur à envoyer dans tous les cas. Elle sera écrasée par la valeur de la checkbox quand cette dernière est cochée.
