- 1

Portafolio personal con PHP puro: estructura y router propio
01:12 - 2

Construcción de estructura web básica con PHP
05:30 - 3

Vistas parciales en PHP para código reutilizable
08:11 - 4

Integración de Tailwind CSS para mejorar el diseño de menús web
04:06 - 5

Activar botones de menú dinámicamente con PHP
07:08 - 6

Implementación del patrón Front Controller en PHP
09:44 - 7

Conexión a MySQL con PDO y consultas dinámicas en PHP
09:02 quiz de Introducción
Integración de funciones con sistema de sesiones en PHP
Clase 31 de 33 • Curso de PHP Avanzado
Contenido del curso
- 22

Middleware en PHP para proteger rutas con autenticación
07:02 - 23

Refactorización de middleware con clases e interfaces en PHP
05:26 - 24

Vista de inicio de sesión con PHP y control de acceso
07:21 - 25

Validación de credenciales y consultas de usuario en la base de datos
08:55 - 26

Cifrado de contraseñas y gestión de sesiones en PHP
07:31 quiz de Seguridad
- 27

Separación de lógica de autenticación en clases PHP
05:13 - 28

Redirección automática después de enviar formularios
08:05 - 29

Manejo de mensajes flash en PHP con Session Manager
05:50 - 30

Helpers para gestión de sesiones en PHP
08:06 - 31

Integración de funciones con sistema de sesiones en PHP
07:37 - 32

Sistema de redirecciones con mensajes en PHP
06:00 - 33

Middleware para proteger rutas de usuarios logueados en PHP
04:11
Optimizar la gestión de información y errores mediante la integración directa con un sistema de sesiones representa una mejora significativa en la experiencia de usuario y la lógica de programación. En este contenido, aprenderás cómo trabajar con funciones de sesión y validación para recuperar datos de formularios, almacenar mensajes y evitar la pérdida de información importante al detectar errores.
¿Cómo adaptar una función para utilizar sesiones en PHP?
La función old trabajaba originalmente con una variable predefinida llamada post, ahora se modifica para obtener datos directamente desde el sistema centralizado de sesiones. Para ello, se define una llave específica, por ejemplo "old", y se utiliza la función get flash del sistema de sesiones acompañada de un valor predeterminado.
El código adaptado se vería así:
$key = "old" . $key;
sesion()->getFlash($key, $default);
¿De qué manera conservar datos tras la validación del formulario?
Para conservar los datos llenados al regresar al formulario después de una validación incorrecta o redireccionamiento, se utiliza la función de tipo flash. Esto permite almacenar temporalmente los datos ingresados en sesiones, pudiendo recuperarlos fácilmente. El proceso implica:
- Recorrer la información obtenida del formulario.
- Crear un nuevo dato temporal (flash) asignado a una clave específica, como por ejemplo
"_titulo".
Un ejemplo claro sería:
sesion()->flash("all", ["_titulo" => $titulo]);
Este método permite que los datos ingresados sean visibles aún después de una redirección generada por errores o validaciones incorrectas.
¿Cómo manejar eficazmente errores en los sistemas de autenticación?
Para mejorar la experiencia del usuario durante el inicio de sesión, es fundamental proporcionar retroalimentación precisa cuando ocurre un error:
- Si las credenciales son incorrectas, guardar el email ingresado previamente.
- Mostrar al usuario un mensaje claro y específico indicando que la combinación de correo y contraseña puede ser inválida.
El siguiente ejemplo ilustra claramente esta lógica:
if (!autenticar($email, $password)) {
sesion()->flash("errores", ["El correo y la contraseña pueden ser inválidos."]);
sesion()->flash("datos", ["email" => $email]);
return back();
}
¿Qué hacer cuando se envían strings en lugar de arreglos como errores?
Para evitar errores cuando accidentalmente se envían cadenas de texto en lugar de arreglos en el manejo de errores, puedes verificar primero si el valor recibido es un arreglo y, de no serlo, convertirlo en uno:
if (!is_array($errores)) {
$errores = [$errores];
}
¿Cómo prevenir la creación de listas vacías en HTML por errores inexistentes?
Para mantener un código HTML más limpio y profesional, evita generar listas vacías cuando no hay errores. Puedes utilizar una condición sencilla que verifique si los errores existen antes de renderizar la lista:
if (!empty($errores)): ?>
foreach ($errores as $error): ?>
echo $error; ?>
endforeach; ?>
endif; ?>
Esto asegura que tu página permanezca limpia y solo se desplieguen mensajes relevantes al usuario.
Te invitamos a implementar estas técnicas y compartir en los comentarios un sistema similar para mostrar mensajes de éxito después de actualizar o crear algún recurso.