20 creación del MÓDULO ROLES del Sistema de Ventas con (PHPyMySql) FullStack

Duración: 8 min
Módulo: 👤 CRUD de Usuarios y Roles (Seguridad Lógica) Lección 12 de 17

Descripción

Lección 20: Creación del Módulo Roles 🧑‍💻

Esta lección marca el inicio de un nuevo módulo, Roles, esencial para establecer los niveles de permiso dentro del sistema. Antes de comenzar, el video aborda una corrección crítica en el módulo de Usuarios.

1. 🐞 Solución de Error Crítico en UPDATE

Se identifica y corrige un error en la funcionalidad de actualización que permitía a un usuario dejar su contraseña vacía o nula al editar sus otros datos (como el nombre o el correo) sin ingresar una nueva contraseña.

  • El Problema: Al actualizar un usuario sin ingresar nada en los campos de contraseña, el código de encriptación procesaba el valor vacío, lo que resultaba en una contraseña encriptada nula (NULL), impidiendo el inicio de sesión posterior [01:44].
  • La Solución (Lógica Condicional): Se implementa una sentencia if en el controlador update_usuarios.php para manejar la lógica de la contraseña:
    • if ($password_use == null): Si la contraseña recibida del formulario es nula (el usuario no la tocó), se ejecuta una sentencia UPDATE que omite la columna de la contraseña, actualizando solo el nombre, el correo y la fecha de actualización [03:01].
    • else: Si la contraseña no es nula (el usuario introdujo un valor), se procede con la validación de igualdad y la encriptación, asegurando que se actualice una contraseña válida y segura [03:34].

2. ➕ Creación y Estructura del Módulo Roles

Una vez solucionado el error, se procede a la creación del nuevo módulo de roles:

  • Habilitación del Menú: Se añade un nuevo elemento al menú de navegación lateral (layout/parte1.php) bajo la etiqueta "Roles" [06:26].
    • Se le asigna un ícono representativo, como fa-address-card [07:02].
  • Estructura de Vistas: Se crea la carpeta roles dentro de la carpeta views y se definen las vistas básicas para gestionar los roles, siguiendo la estructura del CRUD (Crear, Leer, Actualizar, Eliminar):
    • index.php (Listado de roles) [07:35].
    • create.php (Creación de un nuevo rol).
    • update.php (Edición de roles).
    • delete.php (Eliminación de roles).

Esta estructura sienta las bases para comenzar a desarrollar la lógica de permisos y asignación de roles en la siguiente lección [08:05].