martes, 30 de septiembre de 2014

PHP (04) Lectura de datos desde WEB (04) Casillas de selección

Vamos a analizar ahora como se recogen los datos de las casillas de selección, esos cuadraditos que hay en muchos formularios:
perro
gato

Recoger este tipo de datos ya tiene una dificultad mayor a la que hemos visto hasta ahora, aunque no deja de ser la misma idea.
Primero se debe de implementar el formulario html:
<html>
<head>
</head>
<body>
 <form method="post" action="miphp.php">
  <p>Indique en que formato tiene experiencia</p>
  <input name="check1" type="checkbox" value="back">back-end
  <input name="check2" type="checkbox" value="front">front-end
  <input type="submit" value="enviar">
  <input type="reset" value="borrar">
 </form>
</body>
</html>


Como podemos observar en este tipo de formulario no hay nada nuevo, tan solo el tipo de input.
A continuación debemos de preparar nuestro archivo php, pero hay que tener en cuenta que hay que controlar si los checkboxs están o no seleccionados para ello, debemos de comenzar a trabajar de nuevo con las estructuras de control de flujo if, de lo contrario nos daría error:
<html>
<head>
</head>
<body>
 <?php
  echo '<h2>Respuesta de PHP</h2>';
  echo '<h3>Usted ha elegido:</h3>';
  if (isset($_REQUEST['check1'])){
   echo '<p>' . $_REQUEST['check1'] . '</p>';
  }if (isset($_REQUEST['check2'])){
   echo '<p>' . $_REQUEST['check2'] . '</p>';
  }
  
 ?>
</body>
</html>

En este ejemplo hemos utilizado la función isset(var) dentro de la condición del if, ya que de este modo controlamos que este o no seleccionado el checkbox. (Para más información de la funcion isset, pincha aquí)

La dificultad aunque creciente sigue siendo muy pequeña, tan solo hay que tener en cuenta que el valor que se recoge es el value del input, que es el que se muestra, y que en los checkbox se pueden seleccionar varias opciones, por lo que para muchas opciones como podrían ser sexo, tramos de edad, rentas, elecciones binarias o excluyentes no nos valdría, para ello se utilizán los radiobuttons, que veremos en el siguiente articulo.

No hay comentarios:

Publicar un comentario