Ver Mensaje Individual
  #3 (permalink)  
Antiguo 01/05/2016, 05:27
heinther
 
Fecha de Ingreso: junio-2015
Mensajes: 6
Antigüedad: 8 años, 11 meses
Puntos: 0
Pregunta Respuesta: Triple estado en CheckBox

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.