0

metodo post get y post em php



metodo post get y post em php

metodo post get y post em php  Lo más habitual es crear formularios de entrada en PHP, y para ello nos podemos valer de los métodos Get y Post.

El funcionamiento de ambos métodos es muy sencillo, enviamos un formulario a un script de php para que la información de nuestro formulario esté disponible en dicho script. De esta forma logramos que nuestro sitio web sea interactivo y que la información que introduzcamos por teclado esté disponible para visualizarla o poderla utilizar.

mas tutoriales de informatica y programacion

Temas mas vistos

Es muy importante saber cómo crear un formulario HTML sencillo para después usar cualquiera de los dos métodos.
Un ejemplo de un formulario sencillo es el siguiente:

    1. <form action=«formulario.php» method=«GET/POST»>
    1. Usuario: <input type=«text» name=«usuario» /><br />
    1. Contraseña: <input type=«password» name=«contrasena» /><br />
    1. <input type=«submit» name=«submit» value=«Enviar» />
    1. </form>
  1.  

Form se trata de una etiqueta que indica que vamos a crear un formulario en HTML. Y dentro de aquí los dos atributos utilizados son:

  • action – el cual nos indica que tipo de acción realizará nuestro formulario, es decir si la información la vamos a enviar a un correo electrónico o a un programa o a una página web.
  • method – es el atributo que definirá qué tipo de método usamos si Get o Post, es decir la forma en que el formulario será enviado. Puede ser GET o POST pero por defecto si no lo indicamos será GET.

Pero ahora bien, ¿Cual es la diferencia entre utilizar el método Post y el método Get?

Empecemos por Get:

Método GET
Lo primero es que en el ejemplo anterior del formulario en method tenemos que poner “get”.
Si enviamos datos a través de Get, la información es enviada en una URL y cuando la página que solicitamos acabe de cargarse los datos que se han enviado son visibles para el usuario, es decir, al introducir los datos de nuestro formulario, en este caso el usuario y la contraseña, dichos datos aparecerán visibles en nuestro navegador de la siguiente forma:
http://miweb.com/for…contrasena=1986Es decir primero aparece el nombre de nuestra página web, acto seguido el nombre del formulario separado por una barra, o sea, la dirección web en sí; y después del signo de interrogación aparecerán lo valores de los campos que hemos introducido por el teclado.

Para acceder a la información enviada a través de get con PHP la forma es la siguiente:

    1. <?php
    1. $usuario = $_GET[‘usuario’];
    1. $contrasena = $_GET[‘contrasena’];
    1.  
    1. echo «Su nombre de usuario es « .$usuario . » y su contraseña es « .$contrasena;
  1. ?>

Tenemos que utilizar la variable $_GET con el nombre del campo que queramos recuperar para recoger la información e introducirla en una variable cualquiera y después ya podemos utilizarla normalmente como cualquier otro tipo de variable.
Se visualiza con echo y se accede o modifica de igual manera que con cualquier otra variable que usemos en php.

La desventaja de utilizar el método Get entonces es que la información que introducimos será visible y no se envía de una manera oculta. Por lo tanto si enviamos datos confidenciales como contraseñas, tarjetas de crédito, etc nuestra información no estará segura.

Otro inconveniente de utilizar Get es que si nuestro formulario tiene muchos campos, todos los valores se irán concatenando en nuestra URL, por lo que nos quedará una dirección en el navegador excesivamente extensa, y sin embargo la longitud máxima soportada es de sólo 2048 caracteres.

Además hay que sumarle que al método get no se le pueden enviar información binaria o documentos, sino que únicamente acepta caracteres codificados en ASCII.

En conclusión podemos decir que el método GET no es muy recomendable en general a no ser que vayamos a enviar información sin importancia o la cual no importa que sea visible para todo el mundo, y que sea poca información.

Método POST

En este caso en el formulario de entrada de HTML tendremos que poner post en vez de get en method. Al contrario que con Get la información que enviamos a través del formulario no viaja por la URL sino que va, encriptada o no, por el cuerpo de la solicitud http.

La forma de utilizar Post en php es la siguiente:

    1. <?php
    1. $usuario=$_POST[‘usuario’];
    1. $contrasena=$_POST[‘contrasena’];
    1.  
    1. echo «Su nombre de usuario es « . $usuario . «y su contraseña es « . $contrasena;
  1. ?>

Igual que hacíamos en Get guardamos en una variable cualquiera el contenido del campo que queramos, pero esta vez a través de $_POST. Funciona exactamente igual a la hora de visualizarlo, modificar la información, etc.

Como ventajas respecto a Get se encuentran:

  • No está la restricción de 2048 caracteres de tamaño que había con Get.
  • La información puede viajar segura si la enviamos a través de algunos protocolos.
  • Además de aceptar caracteres codificados en ASCII también podemos enviar datos binarios.

Método FILES
Con el método Get dijimos que no se podían enviar archivos o datos binarios. Con el método post sí que podemos enviar archivos, pero se trata de una forma especial del método post que se llama FILES ya que el identificador es $_FILES.
Para esto hay que modificar un poco el formulario de entrada de HTML:

    1. <form enctype=”multipart/form-data” action=«formulario.php» method=«post»>
    1. Archivo a subir: <input name=”archive” type=”file”/>
    1. <input type=«submit» name=«submit» value=«Enviar» />
    1. </form>
  1.  

Únicamente hemos introducido en la primera línea la palabra reservada enctype que es un atributo de la etiqueta form que nos indica cómo va a viajar la información al enviarse por el formulario. En dicho atributo hemos puesto multipart/form-data lo que significa que vamos a enviar datos binarios y dentro del formulario en sí, debemos especificar que lo que se va a enviar es un archivo poniendo file en el tipo de input o entrada.
En este caso ya no utilizaremos la variable $_POST sino que debemos usar $_FILES, y al tratar con archivos sí que conviene hacer un tratamiento de errores como en el siguiente ejemplo:

    1. <?php
    1. if ($_FILES[«archivo»][«error»] > 0)
    1. {
    1. echo «Error: « . $_FILES[«archivo»][«error»] . «<br />»;
    1. }
    1. else
    1. {
    1. echo «Nombre: « . $_FILES[«archivo»][«name»] . «<br />»;
    1. echo «Tipo: « . $_FILES[«archivo»][«type»] . «<br />»;
    1. echo «Tamaño: «. $_FILES[«archivo»][«size»] . «<br />»;
    1. echo «Ruta: « . $_FILES[«archivo»][«tmp_name»];
    1. }
    1. ?>
  1.  

dónde:
–>$_FILES[“archivo”][“error”] contiene el código de error que se asocia con el archivo en cuestión.
–>$_FILES[“archivo”][“name”] es el nombre del archivo.
–>$_FILES[“archivo”][“type”] es el tipo del fichero que se envía si es que se proporcionó dicho valor. Este campo no se comprueba del lado del servidor por lo que puede que la información no sea la correcta.
–>$_FILES[“archivo”][“size”] nos indica el tamaño del archivo, siempre expresado en bytes.
–>$_FILES[“archivo”][“tmp_name”] se trata de la ruta o del nombre temporal del archivo donde se almacena el archivo que subimos al servidor.







comparte con tus amigos

codigo fuente

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *