Hola amigo...
Si el checkbox está seleccionado, pasará el valor que tenga en su atributo "value" .. si no está seleccionado no pasara ningún valor (como bien comentas)
Ahora, porque no ese valor lo haces en una condicion?
Ejemplo
Código PHP:
Ver original$check = (!empty($_POST['micheckbox')) ?
$_POST['micheckbox'] : 'Le asignas otro valor' ;
Si tu checkbox fue seleccionado, entonces recogerás el value.. de lo contrario, tu asignas el otro valor que quieres
Es una idea.. igual y no se adapta a tus necesidades, pero quizá te pueda servir
Saludos!