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.