25 DESTRUIR SESION de los USUARIOS y reducir codigo en el SISTEMA VETERINARIO(PHP y MySql)FullStack

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

Descripción

🎬 Lección 25: Destruir Sesión y Reducción de Código 🗑️

Esta lección se divide en dos partes principales: la implementación del cierre de sesión seguro y la modularización de la plantilla administrativa para reducir la duplicidad de código.

1. Funcionalidad de Cerrar Sesión (Log Out) 🚪

Se implementa el botón "Cerrar Sesión" para destruir la sesión de usuario activa y garantizar que el panel de administración quede inaccesible hasta un nuevo inicio de sesión.

  • Controlador de Cierre: Se crea el archivo app/controllers/login/cerrar_sesion.php. [01:27]
  • Lógica de Destrucción: Dentro de este controlador, se aplican los siguientes pasos:
    1. Se inicializa la sesión con session_start(). [02:44]
    2. Se verifica si existe la variable de sesión ($_SESSION['email']). [02:57]
    3. Si existe, se utiliza la función session_destroy() para eliminar todos los datos de sesión almacenados. [03:37]
    4. Finalmente, se redirige al usuario a la vista de login (URL/login) mediante la función header(). [03:52]

Con esto, al hacer clic en "Cerrar Sesión", el usuario es inmediatamente deslogueado y cualquier intento de acceder a la ruta /admin lo redirigirá al formulario de inicio. [04:13]

2. Reducción y Modularización de Código (Layouts) ✂️

Para evitar repetir la estructura completa de la plantilla AdminLTE (encabezado, menú, y pie de página) en cada nueva vista, se utiliza la técnica de layouts (plantillas).

  • Carpeta de Layouts: Se crea la carpeta admin/layouts. [06:16]
  • División de la Plantilla: El código del admin/index.php se divide en dos archivos:
    • parte_1.php: Contiene todo el código antes del contenido principal (HTML, CSS, menú, barra de navegación, etc.). [07:33]
    • parte_2.php: Contiene todo el código después del contenido principal (el footer y el cierre de las etiquetas HTML/JavaScript). [08:11]
  • Uso en Vistas: Ahora, en cualquier vista (index.php o futuras), solo es necesario incluir estos dos archivos y colocar el código específico de la página entre ellos: [08:29]

    PHP

    <?php include 'layouts/parte_1.php'; ?>

    <?php include 'layouts/parte_2.php'; ?>

3. Creación del Módulo de Usuarios 🧑‍💻

Se aprovecha la nueva estructura de layouts para crear las primeras vistas del módulo de usuarios:

  • Vistas Creadas:
    • admin/usuarios/index.php: Para mostrar el listado de usuarios 📋. [10:37]
    • admin/usuarios/create.php: Para el formulario de creación de un nuevo usuario 📝. [12:15]
  • Menú Actualizado: Los enlaces en el menú lateral se actualizan para apuntar a estas nuevas rutas, logrando que cada página se cargue manteniendo la misma interfaz administrativa. [10:57], [12:36]