Post, Get y Request son métodos predeterminados en nuestro servidor(HTTP), o sea son funciones privadas del servidor que tengas instalado y los cuales devuelven una variable en formato arreglo asociativo con llave y valor, explicado lo que son esas variable globales de PHP, centraremos nuestra atención en como ser mas practico con esas variables, las cuales son indispensables que sepamos como manejarlas por el bien nuestro, ya que son parte fundamental de nuestra aplicación o pagina web interactiva.
Cuando veamos una variable que tenga $_ significa que es una variable del servidor. Se pueden enviar parámetros a través de formularios o enlaces.
La diferencia entre POST y GET radica en la forma de enviar los datos, mientras que el método GET envía los datos usando la URL, el método POST los envía por la entrada estándar STDIO.
Ejemplo1:
<?php //Imprimir lo que traen todas las variable globales print_r($_REQUEST); //Imprime correctamente Mi script 1 print_r($_POST); //Imprime correctamente Mi script 2 print_r($_GET); // Imprime correctamente Mi script 1 y 2 ?> <html> <head> <title>Programacion.com.py - GET, POST, REQUEST</title> </head> <body> <form action="" method="GET"> <h1> Mi script 1</h1> <input type="text" name="nombre" value=""/> <input type="submit" name="boton" value="Enviar"/> </form> <br /> <form action="" method="POST"> <h1> Mi script 2</h1> <input type="text" name="nombre2" value=""/> <input type="submit" name="boton2" value="Enviar"/> </form> </body> </html>
Como recogemos los valores de GET y POST
Para recoger los valores de un formulario donde se ha usado el método POST se debe escribir:
$variable = $_POST[‘NOMBRE’];
Para recoger una variable enviada por el método GET o por medio de un enlace se hace lo siguiente:
$variable = $_GET[‘NOMBRE‘];
Para recoger ya sea GET o POST se puede utilizar:
$variable = $_REQUEST[‘NOMBRE‘];
Ejemplo2:
form.php
<?php //form.php: uso de formularios y enlace //Fijarte dentro del form, que la acción a realizar es enviar los parámetros a parametros.php ?> <html> <head> <title>Programacion.com.py - GET, POST, REQUEST</title> </head> <body> <form action="parametros.php" method="GET"> <h1> Mi script 1</h1> <input type="text" name="nombre" value=""/> <input type="submit" name="boton" value="Enviar"/> </form> <br /> <form action="parametros.php" method="POST"> <h1> Mi script 2</h1> <input type="text" name="nombre2" value=""/> <input type="submit" name="boton2" value="Enviar"/> </form> <br /> <a href="parametros.php?nombre=programacion&otroparametro=2">Test</a> </body> </html>
parametros.php
<?php //parametros.php //Si existe POST y no está vacio if (isset($_POST["nombre2"]) && !empty($_POST["nombre2"])) { echo $_POST['nombre2']; } //Si existe GET y no está vacio if (isset($_GET["nombre"]) && !empty($_GET["nombre"])) { echo $_GET['nombre']; } //Si existe REQUEST y no está vacio if (isset($_REQUEST["nombre"]) && !empty($_REQUEST["nombre"])) { echo $_REQUEST['nombre']; } //Si existe REQUEST y no está vacio if (isset($_REQUEST["nombre2"]) && !empty($_REQUEST["nombre2"])) { echo $_REQUEST['nombre2']; } //Si queremos preguntar si se presiono el boton enviar de POST if(isset ($_POST['boton2'])){ echo "Se presiono el boton enviar"; } ?>
Los ejemplos prácticamente se explican por si solos, solamente deben de probarlos y van a poder comprender su funcionamiento muy facilmente.
Espero que les sea de utilidad este artículo.
Saludos.