LUVEN Taller & Repuestos utiliza un sistema de autenticación basado en sesiones PHP. Cualquier persona puede registrarse de forma gratuita como cliente desdeDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/LVHJ-8/Proyecto_mecanica/llms.txt
Use this file to discover all available pages before exploring further.
Frontend/registro.php. Una vez creada la cuenta, el acceso se realiza desde Frontend/login.php. El sistema distingue automáticamente entre usuarios con rol cliente y usuarios con rol admin, redirigiendo a cada uno a su panel correspondiente después del inicio de sesión.
Crear una cuenta de cliente
El formulario de registro se encuentra enFrontend/registro.php y envía los datos por POST al controlador de autenticación:
usuarios con el rol cliente fijo y la contraseña cifrada con PASSWORD_BCRYPT:
adisionales/auth.php
Frontend/login.php?registro=exito.
Campos del formulario de registro
Nombre completo del usuario. Mínimo 4 caracteres. Campo HTML:
reg-nombre.Correo electrónico. Debe cumplir el formato estándar
[email protected]. Campo HTML: reg-correo.Número de teléfono o celular peruano. Debe contener exactamente 9 dígitos numéricos. Campo HTML:
reg-telefono con maxlength="9".Contraseña de acceso. Mínimo 8 caracteres. Campo HTML:
reg-password.Repetición de la contraseña. Debe coincidir exactamente con el campo
password. Campo HTML: reg-confirmar.Reglas de validación del lado del cliente
Las validaciones se ejecutan enassets/js/validaciones.js antes de que el formulario llegue al servidor. Si algún campo falla, se muestra el mensaje de error debajo del campo correspondiente y se bloquea el envío:
| Campo | Regla |
|---|---|
nombre | No vacío, mínimo 4 caracteres |
correo | Patrón /^[^\s@]+@[^\s@]+\.[^\s@]+$/ |
telefono | Solo dígitos, longitud exacta de 9 |
password | No vacío, mínimo 8 caracteres |
confirmar_password | Debe ser igual a password |
Iniciar sesión
El formulario de login está enFrontend/login.php y envía las credenciales por POST:
Campos del formulario de login
Correo electrónico con el que el usuario se registró. Campo HTML:
log-correo.Contraseña de la cuenta. Campo HTML:
log-password.Campo oculto. Captura la página de origen desde
$_GET['redirigir'] y se propaga al formulario. El controlador auth.php no usa este valor para la redirección: tras un login exitoso, los clientes siempre van a ../index.html y los administradores a ../ADMIN/admin.php.Flujo de autenticación
Búsqueda del usuario
El controlador consulta la tabla
usuarios filtrando por correo:adisionales/auth.php
Verificación de contraseña
Se verifica la contraseña ingresada contra el hash almacenado:
adisionales/auth.php
Creación de la sesión
Si las credenciales son válidas, se guardan tres variables en la sesión PHP:
adisionales/auth.php
Manejo de errores de login
Si el correo no existe en la base de datos o la contraseña no coincide, el controlador redirige de vuelta al formulario con un parámetro de error:?error=1:
Frontend/login.php
Variables de sesión activas
Una vez autenticado, las siguientes variables están disponibles en toda la aplicación:| Variable | Descripción | Ejemplo |
|---|---|---|
$_SESSION['usuario_id'] | ID del usuario en la tabla usuarios | 4 |
$_SESSION['nombre'] | Nombre completo del usuario | "Juan Pérez" |
$_SESSION['rol'] | Rol asignado al momento del registro | "cliente" o "admin" |
Cerrar sesión
El cierre de sesión se realiza visitandoFrontend/logout.php, que destruye la sesión activa y redirige al inicio.
Los usuarios que reservan una cita mediante el formulario en
Frontend/cita.php también obtienen una cuenta de cliente de forma automática. El sistema crea el registro en la tabla usuarios con su nombre, correo, teléfono y contraseña ingresados en el formulario de la cita, asignando el rol cliente. Esto significa que no es necesario registrarse por separado antes de agendar la primera cita.