Mi inserisco nella discussione per dire che non è obbligatorio assegnare un valore di default ad una checkbox. Infatti in fase di validazione, se la checkbox non è stata selezionata il corrispondente elemento nell'array globale $_POST non sarà settato.

Di seguito un esempio per chiarire quanto dico:

codice:
<form method="post" action="">
    <input type="checkbox" name="check">
    <input type="submit" name="invio">
</form>

<?php
if( isset($_POST['invio']) )
    echo  ( isset($_POST['check']) ) ? "cliccato
" : "non cliccato
";
exit;
?>