Manejo de Formularios

Llegamos a una de las partes más importantes del desarrollo backend: procesar la información que te manda un usuario. La mayoría de las veces, esto se hace a través de formularios HTML.

El Formulario HTML

Primero, necesitamos un formulario en HTML. Lo clave acá son tres cosas:

  • El tag <form> que envuelve todo.
  • El atributo action: le dice al navegador a qué archivo PHP mandar los datos cuando el usuario aprieta el botón de enviar.
  • El atributo method: define CÓMO se van a mandar los datos. Las dos opciones son get y post.
  • El atributo name en cada <input>, <textarea>, etc. Este nombre es la clave que vamos a usar en PHP para agarrar el valor.

POST vs. GET

La diferencia es fundamental, prestá atención:

  • POST: Los datos se mandan en el "cuerpo" de la petición HTTP, de forma invisible para el usuario. Es el método que se usa para casi todo: logins, formularios de contacto, cuando creás contenido, etc. Es más seguro y no tiene límite de tamaño.
  • GET: Los datos se mandan a través de la URL. Ya lo vimos en la lección anterior. Se usa para cosas como búsquedas o filtros, donde querés que el estado se refleje en la URL (para poder compartirla, por ejemplo).

Procesando con $_POST

Cuando un formulario se envía con method="post", PHP automágicamente pone todos los datos en una variable especial llamada $_POST. Esto se conoce como una "variable superglobal". $_POST es un array asociativo, donde las claves son los atributos name de tus inputs.

Procesando con $_GET

De la misma manera, si los datos vienen por GET, PHP los pone en la superglobal $_GET. La función isset() es muy útil para chequear si una variable existe antes de intentar usarla.