ProgramacionWeb - Ayuda al webmaster
No has iniciado sesión
Conectar al sistema | Registrar usuario
Categorías Articulo
 
6 votos
Utilización básica de formularios
 
 
Utilizar formularios es una forma de dinamizar nuestro sitio. Sus bases son muy sencillas, pero puede llegar a ser muy potente también. Requiere tanto conocimientos de HTML como de PHP, ambos en niveles básicos. Este artículo se divide en dos partes: la primera, pasar variables a la URL mediante HTML; la segunda, obtener esas variables mediante PHP.

ArribaTabla de contenido

ArribaPasando variables a la URL

En este paso utilizaremos exclusivamente HTML para crear el formulario. Podemos colocar el código en cualquier archivo, un .html está bien.

Empezamos con el código del formulario:
 
000 
<form name="microsano" action="microsano.php" method="get">
 
El parámetro "name" indica el nombre del formulario; "action" el archivo al cual se enviará los datos del formulario para ser procesados, en este caso "microsano.php", pero puede ser cualquier otro con extensión .php; y "method" es la forma de enviar estos datos, en este caso utilizaremos "get" para enviarlos por la URL.

Una vez abierto el formulario, podemos colocar algún input para que ingresen un texto, por ejemplo el nombre de la persona:
 
000 
<input type="text" name="nombre" value="" />
 
Ese código mostrará un campo de texto; el nombre de variable que contendrá el dato enviado para ese campo será "nombre"; y el valor inicial lo dejaremos vacío.

Luego, para darle más dinamismo aún, colocaremos un select, donde podrán elegir el valor de una lista predefinida por nosotros. En este caso preguntaremos la edad:
 
000 
001 
002 
003 
004 
005 
<select name="edad"> 
 <option value="18">18 años</option> 
 <option value="19" selected="selected">19 años</option> 
 <option value="20">20 años</option> 
 <option value="21">21 años</option> 
</select>
 
El nombre de la variable que incluye este dato, será "edad", como lo indicamos en el parámetro "name". Incluimos cuatro opciones para elegir su edad, se puede añadir tantas como sea necesario, simplemente agregando otro "<option value="22">22 años</option". Al option que le agreguemos el parámetro "selected="selected" será el que aparecerá inicialmente seleccionado.

El visitante ya ingresó su nombre y edad, pero aún no tenemos esos datos, permanecen en su navegador. Así que le daremos la posibilidad de que nos envíe dichos datos:
 
000 
<input name="submit" type="submit" value="Enviar" />
 
Si al input le ponemos como tipo "submit", se transformará en un botón para enviar el formulario. En vez de "Enviar", se puede poner cualquier otro texto.

Sólo falta cerrar el formulario:
 
000 
</form>
 
Veamos como nos quedó el formulario:
 
000 
001 
002 
003 
004 
005 
006 
007 
008 
009 
<form name="microsano" action="microsano.php" method="get"> 
<input type="text" name="nombre" value="" /> 
<select name="edad"> 
 <option value="18">18 años</option> 
 <option value="19" selected="selected">19 años</option> 
 <option value="20">20 años</option> 
 <option value="21">21 años</option> 
</select> 
<input name="submit" type="submit" value="Enviar" /> 
</form>
 
Un código muy simple que le permitirá al visitante enviarnos su información. Incluímos el código en un archivo .html, por ejemplo llamado "formulario.html" y lo guardamos.

ArribaObteniendo variables de la URL


Ahora viene la parte con PHP, en la cual obtendremos las variables de la URL y las utilizaremos para imprimirlas en la página.

Creamos un archivo .php, con el nombre que le indicamos al parámetro "action" del formulario, como recordarán en este ejemplo es "microsano.php". Luego de ello, si accedemos a formulario.html y enviamos el formulario, nos lleva a un archivo llamado microsano.php?nombre=philippe&edad=18&submit=Enviar; analizándolo: tenemos la variable "nombre" (en este caso con el valor philippe), la variable "edad" (con el valor 18) y la varible submit, que no nos interesa. Ahora veamos como obtener dichos valores en la página mediante PHP.

Con el siguiente código especificaremos que queremos obtener variables GET, lo colocaremos al principio del archivo microsano.php:
 
000 
001 
002 
<? 
!$HTTP_GET_VARS 
?>
 
Luego, diremos cuáles valores obtener de la URL y los pasaremos a variables comunes para facilitar su manejo:
 
000 
001 
<? $_GET['nombre']=$nombre?> 
<? $_GET['edad']=$edad?>
 
Obtuvimos el valor "nombre" y "edad" y los pasamos a dos variables: $nombre y $edad.

Lo que resta es muy sencillo, un simple "echo:", pero lo mezclaremos con texto:
 
000 
Hola <? echo"$nombre"?>, tu tienes <? echo"$edad"?> años.
 
El resultado en este caso sería: Hola Philippe, tu tienes 18 años.

Así queda el archivo microsano.php entonces:
 
000 
001 
002 
003 
004 
005 
<? 
!$HTTP_GET_VARS 
?>
 
<? $_GET['nombre']=$nombre?> 
<? $_GET[‘edad’]=$edad?> 
Hola <? echo"$nombre"?>, tu tienes <? echo"$edad"?> años.
 

ArribaConclusiones


Como habrán notado, es muy fácil pasar variables por la url para imprimirlas en una página. Además del ejemplo, se puede jugar mucho con formularios y hacer herramientas útiles. Un ejemplo de lo que se puede hacer con esto y un par de elementos más, es mi herramienta para verificar posiciones en Google: http://www.microsano.org/microsano/bigdaddy.html

Una demostración de este ejemplo se puede ver en http://www.microsano.org/programacion/formulario.html

Muy sencillo y a la vez práctico. Te animo a que sigas buscando información sobre PHP en la red.

Datos del Autor
Philippe Portes (Uruguay)
Webmaster de Microsano.org
 
 
Comentarios
10/11/07 Comentario 685
hola,
el tutorial esta muy bien para un prinsipiante en php.
pero tiene un error el "microsano.php" y es este:
esta haci:
 
000 
001 
002 
003 
004 
005 
<?  
!$HTTP_GET_VARS  
?>
  
<? $_GET['nombre']=$nombre?>  
<? $_GET[‘edad’]=$edad?>  
Hola <? echo"$nombre"?>, tu tienes <? echo"$edad"?> años.
 
y deveria se haci:
 
000 
001 
002 
003 
004 
005 
<?  
!$HTTP_GET_VARS  
?>
  
<? $_GET['nombre']="$nombre"?>  
<? $_GET[‘edad’]="$edad"?>  
Hola <? echo"$nombre"?>, tu tienes <? echo"$edad"?> años.
 
ok??
13/09/09 y otra cosa..
creo que este es otro error: <? $_GET[‘edad’]="$edad"; ?>


[‘edad’] es incorrecto pues supongo que ['edad'] es lo correcto,
por las comillas...
aun asi cuando hago el submit
solo sale el echo y no se capturan los valores del primer doc. :S

07/01/10 Comentario 1420
Hola muy bueno el curso!
La razon por la que el codigo no funciona es esta:
 
000 
$_GET['nombre']=$nombre:
 
en lugar de esta
 
000 
$nombre=$_GET['nombre'];
 
Saludos y espero que les sea util
 
Resolver dudas
Si tienes problemas o dudas con el contenido del artículo no dudes a preguntar en los foros de PHP de Programación Web indicando el artículo al que te refieres.