paso de variables de formulario
Publicado por Roger (2 intervenciones) el 15/09/2004 02:12:43
¿Porqué los INPUT type="checkbox" si estan desmarcados no se pasan como variables al hacer un POST (submit) ?
Me explico. Al hacer el POST del formulario que recoge los datos (donde hay los check también) cargo una pagina PHP que guarda los datos en una tabla mysql. Para recoger las variables del form y trasladarlas a los campos uso:
foreach($_POST as $nombre_campo => $valor){
$asignacion = "\$" . $nombre_campo . "='" . $valor . "';";
eval($asignacion);
}
Así no tengo que definir i inicializar las variables. De todas formas, con los check desmarcados, no se pasa y consequentemente no se definien. Entonces, al hacer el "INSERT INTO tabla (Campo1,Check1) VALUES ('$Campo1','$Check1')" me dice que Check1 no esta definido. Hay que notar que por ejemplo Campo1 puede estar vacío y si se traspasa sin dar problemas.
Observaciones
1) Uso php5 y tengo el global register del php.ini a off (ya se que poniendo a on funciona pero no es la mejor manera)
2) Si defino las variables check en la pagina que guarda (php), me funciona ok, pero debe haber otra manera de hacerse ya que si tengo muchos checkbox no tendria que inicializarlos todos ¿?.
¡Gracias cracks!
Roger
Me explico. Al hacer el POST del formulario que recoge los datos (donde hay los check también) cargo una pagina PHP que guarda los datos en una tabla mysql. Para recoger las variables del form y trasladarlas a los campos uso:
foreach($_POST as $nombre_campo => $valor){
$asignacion = "\$" . $nombre_campo . "='" . $valor . "';";
eval($asignacion);
}
Así no tengo que definir i inicializar las variables. De todas formas, con los check desmarcados, no se pasa y consequentemente no se definien. Entonces, al hacer el "INSERT INTO tabla (Campo1,Check1) VALUES ('$Campo1','$Check1')" me dice que Check1 no esta definido. Hay que notar que por ejemplo Campo1 puede estar vacío y si se traspasa sin dar problemas.
Observaciones
1) Uso php5 y tengo el global register del php.ini a off (ya se que poniendo a on funciona pero no es la mejor manera)
2) Si defino las variables check en la pagina que guarda (php), me funciona ok, pero debe haber otra manera de hacerse ya que si tengo muchos checkbox no tendria que inicializarlos todos ¿?.
¡Gracias cracks!
Roger
Valora esta pregunta


0