Tu web de informática

atras

3. Variables $_POST y $_GET

adelante

Muchas personas hubieran preferido dar otras cosas antes que estas variables, pero he preferido darlas ya para que podais ir viendo lo interactivo que puede ser este lenguaje, y para que podais ir haciendo cosillas útiles. Para poder entender hacer este tutorial, sobre todo la parte de la variable $_POST, es conveniente que leais antes cómo crear un formulario en html (menos el apartado de Finalizar el formulario) y el tutorial de los campos de un formulario.

Una vez leído quiero que creeis un formulario que tendrá dos campos, uno llamado nombre y otro llamado apellidos, y que pongais que la página a la que mande sea una con formato php (por ejemplo formulario.php). Además, si os acordais dije en dicho tutorial que hay dos métodos para enviar la información, uno llamado post y otro llamado get, pues bien, usaremos el método get para la variable $_GET y el método post para la variable $_POST.

Variable $_POST

Pues bien, el formulario que pedí que crearais, con el método post, quedaría algo así:

<form action="formulario.php" method="post" enctype="multipart/form-data">
<table width="100%" border="0">
<tr>
<td><div align="right">Nombre</div></td>
<td><input name="nombre" type="text" maxlength="50"></td>
</tr>
<tr>
<td><div align="right">Apellidos</div></td>
<td><input name="apellidos" type="text" maxlength="50"></td>
</tr>
<tr>
<td><div align="right">
<input name="Restablecer" type="reset" id="Restablecer" value="Restablecer">
</div></td>
<td><input name="Enviar" type="submit" id="Enviar" value="Enviar"></td>
</tr>
</table>
</form>

Eso lo pondreis en una página html, con el nombre que querais, y ahora vamos a crear una página llamada formulario.php junto a esa página html y vamos a ponernos a experimentar lo siguiente ahí.

El método post lo que hace es mandar lo que se escribió en los campos a la página indicada en el action del formulario (coloreado de azul en el código de arriba), y los manda en una variable de la forma $_POST["nombredelcampo"]. Estas variables por lo tanto sólo se pueden obtener de un formulario.

Como ejemplo, vamos a poner en la página formulario.php que escriba el nombre y los apellidos que se haya puesto en el formulario, que lo podemos hacer añadiendo a dicha página el siguiente código (las comillas que aparecen tienen un espacio enmedio, para que no aparezcan el nombre y los apellidos pegados):

<?php
echo $_POST["nombre"]." ".$_POST["apellidos"];
?>

Aquí podeis ver lo fácil que es interactuar con el usuario con php. Es muy importante que entendais bien el funcionamiento de esta variable, porque es muy utilizada. Si no veis algo claro recordad que teneis el foro a vuestra disposición para que nos pregunteis.

Variable $_GET

Ahora vamos a cambiar el método del formulario, y vamos a ponerle method="get". También vamos a cambiar las variables $_POST de formulario.php por varibles $_GET, por lo que nos quedaría así:

<?php
echo $_GET["nombre"]." ".$_GET["apellidos"];
?>

Si ahora escribís en el formulario y le dais a enviar, vereis que en la página formulario.php nos sigue apareciendo como antes. Y entonces, ¿en qué se diferencia GET de POST? Pues hay un detalle que puede que se os haya escapado. Mirad la url de la página formulario.php cuando le ha llegado la información GET, y vereis que la url no es formulario.php, sino que es formulario.php?nombre=tunombre&apellidos=tuapellido.

En conclusión, el método get manda la información a través de la url, y esto da una ventaja, que es que la variable GET no requiere de un formulario que le mande información.

Nosotros podemos crear variable GET en una página php desde la url, escribiendo una ? después de la url, y acto seguido las variables igualadas al valor que tomen y separadas por símbolos &. De esta forma, si nosotros queremos crear las variable nombre=Pepito y apellidos=Menganito, pues tenemos que abrir la página formulario.php?nombre=Pepito&apellidos=Menganito. Cuando abrís la url vereis que el código php lo interpreta y lo escribe, aunque no lo haya recibido del formulario.

Es importante también entender la variable GET, aunque para trabajar con MySQL no la usaremos tanto como la variable POST.

Para finalizar os propongo que ya que sabeis usar estas variables le echeis un vistazo a la parte php de un formulario de contacto a ver si sois capaces de entender el código (menos la función mail que no la hemos visto), ya que básicamente consiste en el uso de funciones POST.


  • Autor: Juanma (Administrador de Tu web de informática)

Si tienes alguna pregunta que hacernos tienes el foro a tu disposición.

atras
adelante

Volver a crear webs>>


Creada el 11/10/10 23:33
Copyright © - Todos los derechos reservados - Página creada por Juanma