He realizado otra prueba y creo que se escapa por algún sitio. He intentado proba a imprimir una de las variables dentro de la función, pero fuera del foreach y no imprime nada, es decir, si hago:
Código PHP:
function VariablesFormulario () {
foreach ($_POST as $campo => $valor) {
$asignacion = "\$GLOBALS['" . $campo . "'] = '" . $valor . "';";
eval($asignacion);
print $asignacion."<br />";
}
echo $nombre;
}
Quitando la impresión de cada $asignacion en el bucle, no imprime nada donde está $nombre.
Sin embargo, si hago:
Código PHP:
function VariablesFormulario () {
foreach ($_POST as $campo => $valor) {
$asignacion = "\$GLOBALS['" . $campo . "'] = '" . $valor . "';";
eval($asignacion);
print $asignacion."<br />";
}
echo $asignacion;
}
Me imprime el último valor recibido, en este caso el de $consulta.
Quizá vayan por ahí los tiros y, aunque se declaren las funciones globales, sólo guarda el valor de la variable $asignacion, es decir, no está guardando nada.
Espero que sirva de algo, aunque me da, que lo que debo plantear visto esto, es quizá enviarlos a un array o algo así.
Saludos-