viernes, 17 de mayo de 2013

Como obtener los valores seleccionados de un arreglo de checkbox de un formulario con php

Como leer un arreglo de checkbox con php


Para obtener los valores seleccionados de un arreglo de checkbox en php es necesario que el nombre de los checkbox utilice corchetes "[]" al final para que al hacer el $_GET de php ésta variable pueda ser tomada como arreglo. 

Al hacer el $_GET de php se usa el nombre de la variable sin corchetes.

Si no se usan lo corchetes en el nombre de los checkbox sólo devolverá el primer elemento seleccionado y eso seguramente es lo que los trajo aquí.
 
Les pongo un ejemplo de cómo debe ser colocado el código HTML y cómo debe ser recibido con PHP

Ejemplo.

El código html:


<form method="get">
    <input type="checkbox" name="dias[]" value="Lunes"/> Lunes<br/>
    <input type="checkbox" name="dias[]" value="Martes"/> Martes<br/>
    <input type="checkbox" name="dias[]" value="Miércoles"/> Miércoles<br/>

    <input type="checkbox" name="dias[]" value="Jueves"/> Jueves<br/>   
    <input type="checkbox" name="dias[]" value="Viernes"/> Viernes<br/>  
    <input type="checkbox" name="dias[]" value="Sábado"/> Sábado<br/>
    <input type="checkbox" name="dias[]" value="Domingo"/> Domingo<br/>     
 <input type="submit" value="Guardar" />
</form>


El código php:

$seleccionados = $_GET['dias'];
for($i=0; $i < count($
seleccionados); $i++){
    echo "Días seleccionados " . $
seleccionados[$i] . "<br/>";
}


Espero les sirva.

7 comentarios:

  1. GENIAL! gracias! lo necesitaba mucho.
    aunq lo probé con un foreach, no se, me pareció mejor.

    ResponderBorrar
  2. Ami no me funciona...podrias detallarlo un poco mas ya que soy nuevo en php

    ResponderBorrar
  3. Buenas tardes, pero como hago si necesito los valores tanto seleccionados como no, y a su vez necesito hacer un update en una tabla con esos valores?

    ResponderBorrar
  4. Este comentario ha sido eliminado por el autor.

    ResponderBorrar
  5. COMO SE IMPLEMENTA CON UNA TABLA, LO OCUPO PARA UNA CONSULTA CON MULTIPLES CHECKBOX, AGRADECERIA SU AYUDA, ME GANA LA NOVATEZ..

    ResponderBorrar
  6. Buen ejemplo...tendría la misma solución aplicado en angular?

    ResponderBorrar
    Respuestas
    1. Hola. La verdad no he trabajado con Angular pero supongo que no funciona igual porque Angular está basado en JavaScript.

      Borrar