jueves, 3 de mayo de 2012

Envió y recepción de datos

étodos GET y POST
Son métodos que nos permiten pasar variables de una página a otra, capturar datos ingresados por los usuarios, hacen lo mismo y sirven para lo mismo, se diferencian en la forma de extraer los datos.
GET.-  consigue los datos a través de la URL
Ejemplos:
1.- Creamos nuestra página index.php, la cual va a tener dos cajas de texto y un botón.
2.- creamos otro archivo .php llamado mostrar.php, el cual va capturar los datos de nuestra index.php y mostrarlos.
Código de index.php
<html>
     <head><title>Mi Web</title></head>
      <body>
            <form action="mostrar.php" method="get">
            Nombres <input type="text" name="nombres"><br>
            Apellidos <input type="text" name="apellidos"><br>
            <input name="Enviar" value="Enviar"><br>
            </form>
     </body>
 </html>

Código de mostrar.php
<?php
     echo $_GET['nombres']."<br>";  // nombres es el name de la caja de texto
     echo $_GET['apellidos'];  // apellidos es el name de la caja de texto
?>
Al dar clic en el botón envía podemos darnos cuenta que la URL  muestra los datos que se  ingresamos en las cajas de texto.

POST.- Oculta los valores que pasamos de una página a otra, esto lo hace más seguro.
Ejemplo:
Para este ejemplo cambiamos en nuestra index.php en la propiedad method del formulario (form1) el get por post.
Código de index.php
<html>
     <head><title>Mi Web</title></head>
       <body>
             <form action="mostrar.php" method="post">
             Nombres <input type="text" name="nombres"><br>
             Apellidos <input type="text" name="apellidos"><br>
             <input name="Enviar" value="Enviar"><br>
             </form>
       </body>
 </html>
En nuestro código de mostrar.php cambiamos la forma de capturar los datos de $_GET a $_POST.
Código de mostrar.php
<?php
      echo $_POST['nombres']."<br>";  // nombres es el name de la caja de texto
      echo $_POST['apellidos'];  // apellidos es el name de la caja de texto
?>
Al dar clic en el botón Enviar nuestra URL no mostrara los datos enviados a mostrar.php, ya que la captación de los valores se la hace de forma oculta.

En unos casos es conveniente usar el GET y en otros casos en método POST.
GET más rápido, POST más seguro, por ejemplo en donde tengamos que administrar contraseñas utilizamos el método POST para que se capte de forma oculta

 REQUEST

 Explicación
     Es una variable "superglobal" ó global automática. $_REQUEST es una matriz asociativa que consiste en el contenido de $_GET, $_POST, y $_COOKIE, es decir, está disponible en todos los ámbitos a través de un script.

  Ejemplo: Cree un formulario sencillo que contenga las variables manipuladas por los métodos GET, POST y la variable COOKIE.
  Un formulario sencillo:
    
NAME : EMAIL :
  Cuando el usuario llena el formulario y hace clic en el botón de enviar el formulario se envía. Codificación para crear un formulario sencillo

<?php
setcookie("user", "Alex");
foreach($_REQUEST as $val)
{
   echo"$val";
   echo"<br>";
}
?>
<form action="request.php?age='25'&city='cbe'" method="POST">
Name: <input type="text" name="name">
Email:<input type="text" name="mail">
<input type="submit" value="Submit">
</form>


En el código de formulario anterior, las variables presentadas tales como "name" y "mail" son manejadas por el método POST como hemos mencionado method = POST.

  Las variables como "age" y "city" se pasan a través de la url por lo que sólo se pueden acceder por el método GET y aquí cookie se establece para la variable "user" con valor "Alex" utilizando la función setcookie.

  Guarde el código de seguridad con el nombre getvariable.php.

  Cuando el usuario introduce los valores para name y email y hace clic en el botón submit, las variables con los valores se envían a request.php.

  Aquí las variables manejadas por diferentes métodos se imprimen. Así, la variable $_REQUEST es unas matriz asociativa para obtener los valores de las variables de POST, GET y COOKIE.

RESULTADO:
     
12907422288274629676

No hay comentarios:

Publicar un comentario