Otra técnica es usar un campo hidden con el valor por defecto, y el checkbox con el valor real (en caso de estar marcado), ambos exactamente con el mismo name:
Código PHP:
Ver original<input type="hidden" name="foo" value="off">
<input type="checkbox" name="foo" value="on">
De esa forma siempre obtendrás "off" u "on" dependiendo de si se marca el checkbox.