Uso de PHP $_POST y $_GET: diferencias y cuándo usar cada método

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 4,01 KB

PHP $_POST y $_GET

PHP $_POST

PHP $_POST

$_POST es ampliamente utilizado para recoger datos de un formulario después de enviar un formulario HTML con method="post". $_POST también se usa ampliamente para pasar variables.

El siguiente ejemplo muestra un formulario con un campo de entrada y un botón de envío. Cuando un usuario envía los datos haciendo clic en "Enviar", los datos del formulario se envían al archivo especificado en el atributo action de la etiqueta <form>. En este ejemplo, indicamos que el propio archivo es el encargado de procesar los datos del formulario. Si desea utilizar otro archivo PHP para procesar los datos del formulario, reemplace ese nombre con el de su elección. Entonces, podemos utilizar la supervariable global $_POST para recoger el valor del campo de entrada:

PHP $_GET

PHP $_GET

$_GET también se puede utilizar para recoger datos del formulario después de enviar un formulario HTML con method="get".

$_GET también puede recoger datos enviados en la URL.

Cuando un usuario hace clic en el enlace "Test $_GET", los parámetros "subject" y "web" se envían a "test_get.php" y, a continuación, pueden acceder a sus valores en "test_get.php" con $_GET.

GET vs. POST

Tanto GET como POST crean una matriz (por ejemplo array(clave => valor, clave2 => valor2, clave3 => valor3, ...)). 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 como POST se tratan como $_GET y $_POST. Estos son superglobales, lo que significa que siempre son accesibles, independientemente del ámbito, 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 la URL.

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

¿Cuándo usar GET?

La 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 puede ser utilizado para el envío de datos no sensibles.

Nota: ¡GET nunca debe utilizarse para el envío de contraseñas u otra información sensible!

¿Cuándo utilizar POST?

La información enviada desde un formulario con el método POST es invisible para los demás (todos los nombres/valores están incrustados dentro del cuerpo de la petición HTTP) y no hay límites en la cantidad de información a enviar.

Por otra parte, POST soporta funciones avanzadas como el envío de datos binarios en múltiples partes y 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 POST para enviar los datos del formulario.

Resumen rápido
  • GET: visible en la URL, ideal para datos no sensibles y páginas que deben poderse marcar o compartir.
  • POST: datos ocultos en el cuerpo de la petición, sin límite práctico de tamaño y adecuado para envío de formularios con información sensible o archivos.

Entradas relacionadas: