Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales | RSS
Desde 0 | HTML | CSS | ASP | PHP | AJAX | Javascript | Promoción de webs | Rentabilidad de webs
Directorio | Manuales | Scripts | FAQs | Programas | Artículos Copyleft | Actualidad | La Cosecha | Colabora
Registrarse | Vuestras páginas | Foros del web | Lista de correo | Boletín de novedades
Generador METAs | Compras | Busca cursos
Alojamiento | Dominios.es | Micropagos SMS | Buscadores | Patentes, marcas | Creación web | Multimedia | Videos
Desarrollo Freelance | Buscar proyectos | Buscar profesionales | Solicitar desarrollo

Bucle para recibir todas las variables por POST en PHP


Una manera muy rápida de recibir todas las variables de un formulario, enviado por post. Mediante un recorrido genérico del array $_POST, en el lenguaje PHP.


20/11/03 - Vamos a ver una manera muy rápida de recibir todas las variables de un formulario, enviado por post, en el lenguaje PHP. Os aseguro que es una pequeña porción de código que os ahorrará escribir un montón de líneas de código.

Quién no se ha visto alguna vez en la tediosa tarea de recibir un montón de datos de un formulario, asignando una por una todas las variables en PHP? Eso se hacía con líneas como ésta:


$nombre = $_POST["nombre"];
$edad = $_POST["edad"];
$ciudad = $_POST["ciudad"];
....


Si el formulario tuviera 10 elementos no sería muy pesado escribir las 10 líneas de código, pero si fueran 50 o 100 la cosa sería mucho menos agradable. El código que vamos a ver ahora nos solucionará la vida en esos casos.

foreach($_POST as $nombre_campo => $valor){
   $asignacion = "\$" . $nombre_campo . "='" . $valor . "';";
   eval($asignacion);
}


Se realiza un bucle foreach que va recorriendo cada uno de los elementos del post. En cada iteración, se van accediendo a todos los elementos del post y se guarda en $ nombre_campo el nombre del campo recibido por el formulario y en $valor, el valor que se había introducido en el formulario.

Todo lo anterior se deduce de la primera línea. En las siguientes se compone en cada iteración, cada una de las asignaciones que deberíamos haber escrito manualmente. Es decir, en la variable asignación guardaremos una línea de código PHP que realiza la declaración de la variable de formulario dentro de PHP y su inicialización con el valor que se hubiera escrito.

En la siguiente línea, donde está la función eval(), se ejecuta la sentencia generada en el anterior paso. La función eval() de PHP ejecuta el contenido de una cadena de caracteres como si fuera una sentencia PHP. (Podemos ver la documentación de la función eval() en la página de PHP http://es.php.net/manual/es/function.eval.php)

Esperamos que os haya interesado este minúsculo, pero útil, código PHP.

Nota: Se puede consultar otro artículo que hace un recorrido similar, en ese caso para declarar como variables todos los datos recibidos en una fila de un recordset.
Así mismo tenemos un artículo que nos muestra cómo recibir de forma segura los datos de un formulario.

 Seguir navegando a partir aquí:
+ 1 manual relacionado
+ 1 categoria relacionada
+ 6 comentarios (Añadir)
+ 8 comentarios no revisados

 Autoría, licencia y acciones sobre este artículo

Informe de Miguel Angel Alvarez*
Director de DesarrolloWeb.com

Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.

* Para consultas técnicas utilizar la lista de correo.

Versión imprimible Versión imprimible del artículo
Enviar artículo por e-mail Enviar artículo por e-mail
Añadir un comentario al artículo Publicar un comentario del artículo

Manuales relacionados con este artículo
Dentro de Taller de PHP

Categorias relacionadas
A través de las categorías de nuestro directorio se pueden encontrar otro tipo de recursos relacionados con este artículo:
+ Entrar en Scripts en PHP


 Comentarios de los visitantes
Los comentarios de los visitantes son para ampliar la información del artículo. Cualquiera puede participar.
Se muestran 6 comentarios revisados

 Comentario de Gabriel Cambronero
26/11/03 
Excelente aplicación si el caso fuese que enviasemos esos datos por mail, pero para la introducción de esos datos - Suponiendo que son 100 - en una base de datos MySQL ?

 Comentario de Guillermo Gianello
26/11/03 
Una pequeña variante, que por otra parte, nos habilita pasar argumentos incluso con RegisterGlobals=off en phpini.

<?PHP
foreach ($HTTP_SERVER_VARS as $indice=>$cadena) {
$$indice = $cadena;
}
foreach ($HTTP_POST_VARS as $indice=>$cadena) {
$$indice = $cadena;
## echo "$indice = $cadena";
}
foreach ($HTTP_GET_VARS as $indice=>$cadena) {
$$indice = $cadena;
}
foreach ($HTTP_COOKIE_VARS as $indice=>$cadena) {
$$indice = $cadena;
}
?>


ya ni siquiera nos hace falta el eval()

 Comentario de Leonardo Bustamante
26/11/03 
Muy buen apunte Guillermo, pues si alguien me mandara codigo en la variable, facilmente puede cuadrarla para ejecutar codigo en mi maquina

 Comentario de Manolo
27/11/03 
Pues tenemos una utilísima función en php que nos hace este trabajo automáticamente, es la siguiente, y con sólo una línea de codigo:

extract($_POST);

esta crea las variables automáticamente igual que se describe en este artículo. Aparte esta función tiene muchas mas utilidades, mirad, mirad: es.php.net/manual/es/function.extract.php

saludos.

 Comentario de Ramon Sosa
08/12/03 
Efectivamente es más fácil utilizar la función extract, pero para crear una Instrucción MySql, es preferibe conservarlo como array y hacer lo siguiente:
$tabla='tabla';
$arraypost=array();
foreach($_POST as $k => $v) $arraypost[]="$k='$v'";
$sql="INSERT INTO $tabla SET ".implode(', ',$arraypost);

// Utilizar las funciones implode y explode son muy prácticas y se van a ahorrar muchos dolores de cabeza, también el extract es muy bueno...

 Comentario de juancito
13/1/04 
muy bueno para poder evitar escribir todas las variables, es de mucha ayuda para aplicaciones grandes

Añadir un comentario al artículo Añadir un comentario del artículo
 Comentarios sin revisar
Entre los comentarios no revisados puede haber algunos interesantes que se hayan enviado recientemente.
 Se han encontrado 8 comentarios sin revisar

Ver el comentario no revisadoVer los comentarios no revisados
Añadir un comentario al artículo Añadir un comentario del artículo



Enlaces:
Maestrosdelweb
  Ir arriba

Manuales relacionados
+Taller de PHP
Categorías
+Scripts en PHP

Lectura recomendada

Compra este libro en Agapea, la librería urgente a domicilio.

Tienda DesarrolloWeb

DesarrolloWeb.com | Copyright | Anunciese | Acerca de | Datos legales | Contacta | Por GuiarteMultimedia