PHP - paso de variables de formulario

 
Vista:

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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:paso de variables de formulario

Publicado por freddy (3 intervenciones) el 16/09/2004 00:11:29
Hola
Creo q primero deberias fijarte si las varibles exiten, o sea, los checbox seleccionados pasaran por el POST, pero los q no esten seleccionados no pasaran y por lo tanto no estan declaradas esas variables, se entiende??

Creo q por alli pasa tu proble
Para ver si una variable existe podes usar

if(isset($_POST["pass"]))
echo "existe la variable"
else
echo "no exite la variable"

Saludos

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:paso de variables de formulario

Publicado por Roger (2 intervenciones) el 16/09/2004 17:15:04
Gracias Freddy pero el tema no me va. A ver, he puesto el código en mi guardar.php y me dice que no existe (sustituyo el "pass" por la variable, claro).
He probado de definir las variables del checkbox antes:

check1="0"
check2="0"
y nada, sin no marco el check2 me dice que no está definido.
Solo me va si las declaro en el guardar.php, cosa que es muy pesado.
A mi realmente lo que me estraña es que para los demas input de type="text" me funciona todo y no informar el campo con algun valor en el formulario, esto es lo que no comprendo...

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar