Ver Mensaje Individual
  #4 (permalink)  
Antiguo 05/09/2010, 21:39
Avatar de carlos_belisario
carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 7 meses
Puntos: 461
Respuesta: Formulario Check box en php

Cita:
Iniciado por emprear Ver Mensaje
Luchiok:

El caso es que un checkbox puede tener multiples selecciones y lo expuesto por maycolalvarez no te va a funcionar si hay mas de un checkbox marcado

El form: (mirá los coechetes en el name)

Código HTML:
Ver original
  1. Pastas:<input type="checkbox" value="Pastas" name="comida[]"><br />
  2. Piza:<input type="checkbox" value="Piza" name="comida[]"><br />

El php, con el foreach recorremos el array que componen la variable comida e imprimimos cada uno de los valores marcados, además podrías verificar con empty() si han dejado todo sin marcar

Código PHP:
Ver original
  1. $comida = $_POST['comida'];
  2.  
  3. if(empty($comida){
  4. echo "Debe seleccionar una opción...";
  5. exit();
  6. }
  7.  
  8.  
  9. foreach ($comida $f) {
  10. echo $f."<br />";
  11. }


Saludos
pues la manera que le expusistes es la mas correcta de utilizar el checkbox pero sin embargo la que pus maycolalvares tambien es valida x ejemplo la primera vez q vi html en una pagina no muy buena pero cuando uno esta investigando cree q es la mejor usaban un check para los dias de esta manera
Código HTML:
Ver original
  1. <input type="checkbox" name="lunes" value="lunes"/>
  2. <input type="checkbox" name="martes" value="martes"/>
y funcionaba perfectamente al recibir cada uno por separado claro es mas optimo como lo indicaste trabajandolo como array
Código HTML:
Ver original
  1. <input type="checkbox" name="dias[]" value="lunes"/>
  2. <input type="checkbox" name="dias[]" value="martes"/>
y recibirlo una sola vez y recorrerlo con el foreach pero de las dos formas se puede saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way