🟢 Módulo 4: Formularios y Métodos HTTP en PHP¶
En este módulo aprenderás a:
✔ Enviar datos con los métodos GET
y POST
.
✔ Validar y limpiar datos para evitar errores y ataques.
✔ Subir archivos con PHP.
✔ Usar sesiones y cookies para recordar información entre páginas.
📌 1. Envío de Datos con GET
y POST
¶
Los formularios HTML pueden enviar datos a PHP mediante los métodos GET o POST.
✉ Diferencias entre GET
y POST
¶
Método | Características | Cuándo usarlo |
---|---|---|
GET |
Envía datos en la URL | Cuando la información no es sensible (ej. búsqueda) |
POST |
Envía datos ocultos | Cuando la información es privada o grande (ej. login) |
🔹 Ejemplo de un formulario con GET
¶
<form action="procesar.php" method="GET">
<label>Nombre:</label>
<input type="text" name="nombre">
<button type="submit">Enviar</button>
</form>
procesar.php
)
✅ Los datos viajan en la URL: procesar.php?nombre=Juan
.
🔹 Ejemplo de un formulario con POST
¶
<form action="procesar.php" method="POST">
<label>Contraseña:</label>
<input type="password" name="clave">
<button type="submit">Enviar</button>
</form>
procesar.php
)
✅ Los datos no aparecen en la URL, son más seguros.
📌 2. Validación y Sanitización de Datos¶
Antes de usar los datos del usuario, debemos validarlos y sanitizarlos para evitar ataques y errores.
🔹 Ejemplo de validación y sanitización¶
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$nombre = trim($_POST["nombre"]); // Quita espacios
$nombre = htmlspecialchars($nombre); // Evita código malicioso
if (!empty($nombre)) {
echo "Hola, $nombre";
} else {
echo "El campo está vacío.";
}
}
?>
htmlspecialchars()
evita ataques XSS convirtiendo caracteres especiales (<
, >
, "
, '
).
📌 3. Subida de Archivos con $_FILES
¶
Podemos permitir que los usuarios suban archivos con PHP.
🔹 Formulario para subir archivos¶
<form action="subir.php" method="POST" enctype="multipart/form-data">
<input type="file" name="archivo">
<button type="submit">Subir</button>
</form>
subir.php
)
<?php
if ($_FILES["archivo"]["error"] == 0) {
$ruta = "uploads/" . $_FILES["archivo"]["name"]; // Ruta destino
move_uploaded_file($_FILES["archivo"]["tmp_name"], $ruta);
echo "Archivo subido correctamente.";
} else {
echo "Error al subir archivo.";
}
?>
move_uploaded_file()
mueve el archivo a la carpeta uploads/
.
📌 4. Manejo de Sesiones y Cookies¶
Las sesiones y cookies permiten recordar datos entre páginas.
🔹 Sesiones (session_start()
)¶
Las sesiones almacenan datos en el servidor.
📌 Iniciar sesión y guardar datos
📌 Acceder a los datos en otra página 📌 Cerrar sesión y eliminar datos🔹 Cookies (setcookie()
)¶
Las cookies almacenan datos en el navegador del usuario.
📌 Crear una cookie que dura 1 hora
📌 Leer una cookie 📌 Eliminar una cookie ✅ Diferencia: Las sesiones almacenan datos en el servidor, las cookies en el navegador.🎯 Resumen del Módulo¶
✔ GET y POST: Métodos para enviar datos de formularios.
✔ Validación y sanitización: Evitar errores y ataques.
✔ Subida de archivos: Permitir a los usuarios cargar archivos.
✔ Sesiones y cookies: Recordar datos entre páginas.