Manual de PHP: Utilizando Formularios para el envío de datos
De Foros del Web
Contenido |
Gran parte del trabajo que harán nuestros programas será procesar información que los usarios ingresen a través de formularios HTML, con esos datos podemos realizar operaciones en el momento o guardarlos a bases de datos por ejemplo.
Vamos a ver cómo deben estar estructurados los formularios y luego explicaremos la conexión con nuestros programas en php, la base de un formulario es la siguiente:
<form action="programa.php" method="post" id=”formulario”> Nombre: <input type="text" name="nombre" /> Edad: <input type="text" name="edad" /> <input type="submit" /> </form>
En este ejemplo, la etiqueta <form> sirve para armar el formulario en HTML, dentro de ésta etiqueta estamos utilizando action para indicar que toda la información sea enviada al archivo llamado programa.php y por último method es para especificar de qué forma será enviada esa información para lo cual hay dos formas, GET y POST.
$_GET y $_POST
Cuando utilizamos $_GET dentro del php y el formulario, la información que enviamos será visible por cualquier persona pues es mostrada en la barra de direcciones, por lo que no debemos utilizar éste método para enviar contraseñas o información sensible. Una limitante de GET es que solo puede enviar hasta 100 caracteres.
Comparado a $_POST, la información enviada por esta forma es invisible pues no se muestra cuando se envía y prácticamente no hay un límite en cuanto a tamaño se refiere.
Es recomendable utilizar el segundo método cuando vamos a enviar información que por ejemplo va a ser almacenada en una base de datos y ya no va a ser modificada, o cuando vamos a enviar un formulario de contacto por ejemplo, y utilizamos GET cuando la información puede cambiar en algún momento, por ejemplo, si estamos buscando algo en Google puede ser que los resultados no son los que necesitemos entonces regresamos a la pantalla anterior para modificar la información.
Ejemplos de envío de información mediante GET
Realicemos el primer ejemplo creando un archivo llamado formulario.php con el siguiente contenido utilizando el método GET:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Formulario</title> </head> <body> <form action="programa.php" method="get" id=”formulario” name=”formulario”> Nombre: <input type="text" name="nombre" id="nombre" /> Edad: <input type="text" name="edad" id="edad" /> <input type="submit" value="enviar" name="enviar" id="enviar" /> </form> </body> </html>
Y creamos un archivo llamado programa.php con lo siguiente
<html> <body> Bienvenido <?php echo $_GET['nombre'];?>. <br /> Tu edad es: <?php echo $_GET['edad'];?> años. </body> </html>
Ahora abrimos en el navegador formulario.html, ingresamos la información que se nos pide y veremos cómo nuestro programa procesa los datos.
A simple vista podemos entender bastante bien cómo funciona, como vemos al utilizar $_GET['nombre']; lo que hacemos es capturar el campo llamado nombre del formulario:
<input type="text" name="nombre" id="nombre" />
Y lo mostramos utilizando echo tal como aprendimos a imprimir en pantalla las variables.
- Captura de pantalla*
En el ejemplo anterior la barra de direcciones luciría de la siguiente forma:
http://localhost/programa.php?nombre=Juan&age=25
Ejemplos de envío de información mediante POST
Ahora veamos cómo funciona POST, en donde al enviar la información la barra de direcciones quedaría como
http://localhost/programa.php
Crear un archivo llamado formulario.html
<html> <body> <form action="archivo.php" method="post" id=”formulario”> Nombre: <input type="text" name="nombre" /> Edad: <input type="text" name="edad" /> <input type="submit" /> </form> </body> </html>
Y otro llamado programa.php:
<html> <body> Bienvenido <?php echo $_POST["nombre"]; ?>,<br /> Tu edad es: <?php echo $_POST["edad"]; ?> años. </body> </html>
Como vemos cuando en el formulario utilizamos method=”get” en la programación también debemos utiliza $_GET, igual para post, sin embargo también existe $_REQUEST que puede obtener la información de los formularios sin importar qué metodo se utiliza, ejemplo:
Bienvenido <?php echo $_REQUEST["nombre"]; ?>,<br /> Tu edad es: <?php echo $_REQUEST["edad"]; ?> años.
Este artículo es parte del Manual de PHP.
- Manual Básico 1 » Qué es PHP - Requisitos para iniciar a programar con PHP - Sintaxis de programación - Nuestro primer programa en PHP - Variables - Tipos de Datos - Operadores - Condicionales - Bucles - Ejercicios Prácticos
- Manual Básico 2 » Funciones - Utilizando Formularios para el envío de datos - $_GET y $_POST - Tipos de control para los formularios
- Manual Bases de Datos » Introducción a las bases de datos - MySQL
- Agregar al FAQ » PHP: Instrucciones para agregar una pregunta al FAQ de PHP
- Ir al Foro de PHP
