Gracias por responder truman.
La verdad que no capto bien la idea que tratas de transmitirme.
En mi caso tengo un checkbox y un label para cada cuadrado (el label lo uso para dibujarlo y el checkbox para enviar la información).
Utilizo el name del checkbox para ver si se ha recibido información del formulario mediante la función isset y el value del checkbox para recibir el dato.
Por alguna razón, si sólo tengo un cuadrado todo lo recibo bien, pero en cuanto pongo dos ya me empieza a dar valores extraños.
Os dejo un ejemplo del código que tengo:
Código PHP:
<?php
if(isset($_POST['iniciar'])){
$i=1;
while($i<3){
if(isset($_POST["option$i"])){
if($_POST["option$i"]=='2'){
echo $i."Está checkeado";
} elseif($_POST["option$i"]=='1') {
echo $i."Está indeterminado";
}
} else {
echo $i."No se ha seleccionado";
}
$i++;
}
for($i=1;$i<3;$i++){
if(isset($_POST["option$i"])){
if($_POST["option$i"]=='2'){
echo $i."Está checkeado";
} elseif($_POST["option$i"]=='1') {
echo "Está indeterminado";
}
} else {
echo "No se ha seleccionado";
}
}
}
?>
<h1>Laberinto</h1>
<form enctype='multipart/form-data' action="triple.php" method="post">
<?php
echo "<div class=a>";
$fila = 1;
while ($fila<3){
echo '<input type="checkbox" name="option'.$fila.'" id="check'.$fila.'"';
if (isset($_POST["option$fila"])){
if($_POST["option$fila"]=='2'){
echo "value ='2' checked ";
} elseif($_POST["option$fila"]=='1'){
echo "value ='1' ";
}
}
echo " />";
echo '<label for="check'.$fila.'"></label>';
$fila++;
}
echo "</div>";
?>
<input class="submit" type="submit" name="iniciar" value="Insertar Laberinto" />
</form>
Sigo buscando soluciones, si encuentro algo que me resuelva esto lo pondré por aquí por si alguien más le ha pasado o le pasa algún día.