73 Vista general para todos los usuarios del Sistema de Gestión Escolar(PHP y MySql)FullStack

Duración: 11 min
Módulo: 🚦 Autorización de Vistas Lección 4 de 6

¡Contenido Exclusivo!

Adquiere este curso para tener acceso inmediato a esta y a **todas las lecciones Premium**.

Inscribirse Ahora por $20.00 Acceso instantáneo de por vida y código fuente incluido.

Descripción

La Lección 73 se centró en un paso crucial para la experiencia de usuario: personalizar la vista principal (dashboard) para mostrar la información del usuario logueado, sin importar su rol, completando así la visualización de datos de forma genérica.

Aquí tienes el resumen de la implementación:

1. Implementación de la Vista General del Usuario 👤

El objetivo fue asegurar que, al ingresar al sistema, el usuario vea su nombre completo y su rol asignado, resolviendo el problema de que solo se mostraban datos para los roles de Docente o Estudiante.

A. Lógica en el Dashboard (admin/index.php)

Se modificó la estructura condicional en el archivo principal del dashboard para incluir un caso general que aplica a cualquier otro rol que no sea Docente o Estudiante [01:00].

  • Identificación del Rol: Se usa una estructura if/else if para identificar si el usuario es un Docente o Estudiante.
  • Caso General (else): Se introduce una cláusula else que se ejecuta para todos los demás roles (Administrador, Directores, Contador, Secretaria, etc.) [01:29].

B. Consulta de Datos Genéricos 🔎

Dentro de la cláusula else, se ejecuta una consulta específica para obtener los datos de la persona logueada a partir de su correo electrónico (que está en la sesión).

  • Variables de Sesión: Se recupera el correo electrónico del usuario desde la sesión [04:09].
  • Consulta Rápida: Se crea una consulta SELECT en la base de datos para buscar en la tabla usuarios (o tablas relacionadas) y obtener los campos de nombres, apellidos y el nombre_rol, utilizando el correo como condición (WHERE) [04:09].
  • Impresión de Resultados: Se utiliza un bucle foreach para recorrer la única fila de datos devuelta e imprimir en la vista:
    • Nombre y Apellido
    • Rol (ej. "Director Académico", "Contador") [06:39].

C. Resultado Final

El sistema ahora identifica y personaliza correctamente la vista para todos los roles:

  • Director Académico: Muestra su nombre y el rol "Director Académico" [06:39].
  • Director Administrativo: Muestra su nombre y el rol "Director Administrativo" [08:59].
  • Contador: Muestra su nombre y el rol "Contador" [10:20].

2. Pendiente y Próximo Paso 🔜

La lección finalizó señalando una última inconsistencia relacionada con los permisos en las rutas de acción:

  • El Problema Pendiente: Algunos usuarios (como el Administrador) están recibiendo el mensaje de "no autorizado" al intentar acceder a rutas específicas de acción, como /usuarios/listado_usuarios o /personal_administrativo/edit, a pesar de que deberían tener permiso total [08:10].
  • Próximo Paso: La siguiente lección se dedicará a solucionar esta excepción de permisos en rutas que contienen acciones secundarias (como edit.php o create.php), asegurando que los roles de alta jerarquía puedan ejecutar todas las funciones CRUD que les corresponden.