Los últimos tutoriales de desarrollo web
 

PHP 5 Forma de Manejo


El PHP Superglobals $ _GET y $ _POST se utilizan para recoger form-data.


PHP - Un simple formulario HTML

El siguiente ejemplo muestra un formulario HTML simple con dos campos de entrada y un botón de envío:

Ejemplo

<html>
<body>

<form action="welcome.php" method="post">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>

</body>
</html>
Ejecutar ejemplo »

Cuando el usuario rellena el formulario de arriba y hace clic en el botón de envío, los datos del formulario se envía para su procesamiento en un archivo PHP llamado "welcome.php" . Los datos del formulario se envía con el método POST HTTP.

Para visualizar los datos presentados que podría simplemente eco de todas las variables. El "welcome.php" es el siguiente:

<html>
<body>

Welcome <?php echo $_POST["name"]; ?><br>
Your email address is: <?php echo $_POST["email"]; ?>

</body>
</html>

La salida podría ser algo como esto:

Welcome John
Your email address is [email protected]

El mismo resultado también se podría conseguir utilizando el método GET HTTP:

Ejemplo

<html>
<body>

<form action="welcome_get.php" method="get">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>

</body>
</html>
Ejecutar ejemplo »

y "welcome_get.php" es el siguiente:

<html>
<body>

Welcome <?php echo $_GET["name"]; ?><br>
Your email address is: <?php echo $_GET["email"]; ?>

</body>
</html>

El código anterior es bastante simple. Sin embargo, lo más importante es que falta. Es necesario para validar los datos del formulario para proteger su script de código malicioso.

Piense SEGURIDAD en el tratamiento de las formas de PHP!

Esta página no contiene ninguna validación de formularios, sólo se muestra cómo se puede enviar y recuperar los datos del formulario.

Sin embargo, las páginas siguientes mostrarán cómo procesar las formas de PHP con la seguridad en mente! correcta validación de los datos de forma es importante para proteger su forma de hackers y spammers!


GET vs. POSTAL

Tanto GET y POST crear una matriz (por ejemplo array( key => value, key2 => value2, key3 => value3, ...) ). Esta matriz tiene pares clave / valor, donde las claves son los nombres de los controles de formulario y los valores son los datos de entrada del usuario.

Tanto GET y POST son tratados como $ _GET y $ _POST. Estos son superglobales, lo que significa que siempre son accesibles, independientemente del alcance - y se puede acceder a ellos desde cualquier función, clase o archivo sin tener que hacer nada especial.

$ _GET es un conjunto de variables pasadas al script actual a través de los parámetros de URL.

$ _POST es un conjunto de variables pasadas al script actual mediante el método HTTP POST.


Cuando a usar GET?

Información enviada desde un formulario con el método GET es visible para todos (todos los nombres y valores de las variables se muestran en la URL). GET también tiene límites en la cantidad de información a enviar. La limitación es de unos 2.000 caracteres. Sin embargo, ya que las variables se muestran en la URL, es posible marcar la página. Esto puede ser útil en algunos casos.

GET pueden ser utilizados para el envío de datos no sensibles.

Note: GET nunca deben ser utilizados para el envío de contraseñas u otra información sensible!


Cuándo utilizar la POST?

Información enviada desde un formulario con el método POST es invisible para los demás (all names/values are embedded within the body of the HTTP request) y no tiene límites en la cantidad de información a enviar.

Por otra parte la POST soporta funciones avanzadas como el soporte para la entrada binaria de varias partes, mientras que la posibilidad de subir archivos al servidor.

Sin embargo, debido a que las variables no se muestran en la URL, no es posible marcar la página.

Los desarrolladores prefieren la POST para enviar los datos del formulario.

A continuación, vamos a ver cómo podemos procesar formularios PHP la manera segura!