Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/04/2009, 13:23
nicomonjes
 
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 33
Antigüedad: 15 años, 10 meses
Puntos: 1
Problema con checkbox al enviar un formulario en php

Buenas, soy nuevo en forosdelweb y nuevo en php digamos...
y ya tengo mi primer consulta

Mi problema es que tengo un formulario de inscripción a una carrera universitaria que es muy largo y lo he dividido en varias paginas para que el impacto visual no sea tan grande y que el usuario no sienta que va a perder mucho tiempo llenandolo

Del form1 al form2 paso las variables por campos ocultos hidden y asi sucesivamente hasta el form4 que es el que finalmente envía las variables a proceso.php que es quien envia por mail() los resultados.

El problemilla es que tengo barios checkbox por ej en el form1 de esta manera:
Código HTML:
Indique los turnos que cumple la escuela:
<form method="POST" action="form2.php">																				Mañana <input type="checkbox" name="escuela_turno" id="escuela_turno_mañana" value="mañana" />
Tarde <input type="checkbox" name="escuela_turno" id="escuela_turno_tarde" value="tarde" />
Noche <input type="checkbox" name="escuela_turno" id="escuela_turno_noche" value="noche" /> 
el form2 los recibe de esta manera:

Código HTML:
<form method="POST" action="form3.php">	
<input name="escuela_turno" type="hidden" value="<?= $_POST['escuela_turno'] ?>" />

... y luego sigue con sus campos
aqui les pongo un pedazo del proceso.php ya que es muy largo son muchas variables

Código PHP:
<?
// Recepcion de datos
$escuela_nombre=$_POST['escuela_nombre'];
$escuela_antiguedad=$_POST['escuela_antiguedad'];
$escuela_direccion=$_POST['escuela_direccion'];
$escuela_turno=$_POST['escuela_turno'];
// aqui continuan las variables 


// Fin de recepcion de datos

// Accion de envio
//-----------------//
$para='';
$asunto='Nuevo Inscripto';
$mensaje='

Formulario de Inscripcion al Certamen de Valores:

Enviado por: '
.$inscripto_nombre.'

Datos de la escuela:

Nombre de la escuela: '
.$escuela_nombre.'
Antiguedad de la escuela: '
.$escuela_antiguedad.'
Dirección: '
.$escuela_direccion.'
Indique que turno cumple la escuela: '
.$escuela_turno.'
// aqui continuan



'
;
$desde='';
mail($para,$asunto,$mensaje,$desde);
header("location: gracias.php"); 

?>
el problema es que al procesar el envio por php no me llegan todas las opciones que tipeo el usuario sino que solo me llega la ultima que haya seleccionado,
no se si el error es al pasar al form2 las variable toma una sola o bien es proceso.php el que elimina las opciones repetidas, o bien es mail() que no trabaja de ese modo y tenga que ponerle un nombre distinto a cada checkbox

antes cuando lo trabajaba en html y mandaba un formulario por cgi me llegaba por ej:
turno: turno1, turno2, turno3

en cambio ahora solo me llega turno: turno3

Si bien soy muy ignorante en el tema y debería haberlo trabajado con sesiones y bases de datos, lo cual no me parecio necesario ya que mi cliente no necesitara luego los datos sino solo que le lleguen por mail...
Ruego a uustedes paciencia porque soy muy nuevo, espero haber sido claro y agradezco su ayuda.
PD: perdon si no debería haber posteado aqui pero no entiendo muy bien tampoco aun las secciones del sitio.. gracias