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 songetypost. - El atributo
nameen 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.