24 SESIÓN de USUARIOS en el SISTEMA VETERINARIO(PHP y MySql)FullStack

Duración: 10 min
Módulo: 🔐 Autenticación, Sesiones y Base de Datos (Back-End Core) Lección 10 de 11

Descripción

🎬 Lección 24: Sesión de Usuarios (PHP y MySql) 🔒

El objetivo de esta lección es asegurar el panel de administración (admin/index.php) para que solo sea accesible después de un inicio de sesión exitoso.

1. Redireccionamiento y Creación de Sesión ➡️

En login_controller.php:

  1. Redirección Exitosa: Si la validación de la contraseña (password_verify()) es exitosa, en lugar de mostrar un mensaje de "Bienvenido", se utiliza la función header('Location: ...') para redirigir al usuario a la ruta del administrador (URL/admin). [01:05]
  2. Redirección Fallida: Si las credenciales son incorrectas, se redirige al usuario de vuelta al formulario de login (URL/login). [02:19]
  3. Inicio de Sesión: Antes de la redirección exitosa, se utiliza session_start() [04:14] y se crea una variable de sesión global llamada $_SESSION['email'] a la que se le asigna el correo del usuario logueado. [04:40]

2. Control de Acceso en el Dashboard 🛑

En admin/index.php:

  1. Inicio de Sesión: Se coloca session_start() al inicio del archivo para poder acceder a las variables de sesión. [05:47]
  2. Validación de Acceso: Se implementa un bloque if/else para verificar si la sesión ha sido creada: [05:55]
    • Condición (if): Se utiliza la función isset($_SESSION['email']) para preguntar si existe la variable de sesión.
    • Acceso Concedido: Si la variable existe (el usuario se ha logueado), se permite la carga del resto del código HTML del dashboard.
    • Acceso Denegado: Si la variable no existe, se ejecuta el mismo header('Location: ...') para redirigir forzosamente al usuario de vuelta a la ruta de login (URL/login), impidiendo la visualización del panel. [07:21]

Resultado Final

Con esta implementación, un usuario ya no puede acceder a la URL URL/admin directamente en el navegador sin haber iniciado sesión previamente. El sistema obliga a pasar por la validación de credenciales. [07:52]

Próximo Paso

El siguiente video introducirá la librería SweetAlert2 para mejorar la experiencia del usuario, permitiendo mostrar mensajes de alerta y notificación más atractivos en lugar de los mensajes básicos de PHP o JavaScript. [09:34]