Un checkbox no seleccionado no manda ningún valor como fácilmente puedes comprobar:
Código PHP:
<form method='get' action="">
<input type="checkbox" name="tapiz">
<input type="submit">
</form>
Verás que en la barra de direcciones del navegador sólo aparece
pagina.htm?
a diferencia de
pagina.htm?tapiz=on
cuando lo seleccionas.
No me preguntes por qué es así porque no lo sé. Es cosa del HTML y no de PHP.
Lo que tienes que hacer entonces es preguntar si existe la variable con la función isset.
Por cierto, cuando coloques código trata de poner sólo lo estrictamente necesario. En este caso hubiera bastado la parte de los checkboxes, lo demás sale sobrando y hace que la lectura sea más pesada.
// Saludos