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.





Herramientas personales