Pourquoi l'état checkbox n'est pas toujours transmis au script PHP?

J'ai un formulaire HTML:

<form action='process.php' method='post'>
  <input type='checkbox' name='check_box_1' /> Check me!<br>
</form>

Ici est une section du script PHP process.php:

echo (isset($_POST['check_box_1']))?'Set':'Not set';

La sortie du script lorsque la case est

Ensemble

Mais lorsque la case n'est pas définie, la sortie est:

Pas mis

Pourquoi est-ce? Cela semble être une très mauvaise conception parce que mon script PHP vérifie un certain nombre de $_POST variables pour s'assurer qu'ils étaient passés au script. Lorsque le $_POST['check_box_1'] valeur n'est pas définie, alors comment puis-je savoir si le script a échoué à passer le long de la valeur ou de la case était tout simplement pas ensemble?

source d'informationauteur Nathan Osman