81 – CONTROLLER PARA REGISTRAR CLIENTES en el sistema con BD (👨💻PHP y MYSQL💻)

Duración: 16 min
Módulo: Gestión y Flujo de Clientes Lección 1 de 7

Descripción

🎓 Lección 81: Controlador para Registrar Clientes (PHP & MySQL)

Esta lección es crucial ya que aborda el registro permanente de la información del cliente, separando este proceso de la generación temporal del ticket. El objetivo es que los datos del cliente (nombre, NIT/CI y placa) se almacenen en la tabla clientes para que, en futuras visitas, el sistema los reconozca automáticamente.

🛠️ Proceso de Limpieza y Preparación

Antes de iniciar la codificación, el instructor realiza una limpieza completa de las tablas de prueba para garantizar un entorno de simulación limpio [03:15]:

  • Tabla mapeos: Se ejecuta un UPDATE general para cambiar el estado de todos los cubículos de "Ocupado" a "Libre" (estado_espacio = 'Libre'), restaurando el parqueo a su estado inicial [02:08].
  • Tabla clientes y tickets: Se vacían completamente utilizando la función "Vaciar" (Truncate/Empty) para empezar desde cero.

⚙️ Implementación del Registro de Clientes

La lógica de registro se integra en la secuencia de eventos que se dispara al presionar "Imprimir Ticket":

Tarea PrincipalDescripción
Controlador NuevoSe crea el archivo controller_registrar_clientes.php dentro del directorio /clientes/ [04:20].
Secuencia de EjecuciónLa llamada a este nuevo controlador se inserta como el segundo paso en la secuencia del script jQuery. Esto asegura que el cliente se registre antes de que se actualice el estado del cubículo y se genere el ticket [03:41].
Variables EnviadasSe envían tres variables al nuevo controlador a través del método GET: nombre_cliente, nit_ci, y placa_auto [05:46].
Registro en BDEl controlador recibe las variables y ejecuta una sentencia INSERT INTO en la tabla tabla_clientes [07:27], guardando el cliente de forma permanente.

Exportar a Hojas de cálculo

🐛 Corrección de Errores

Durante las pruebas, se detecta un error de mapeo de variables que impide el registro en la tabla clientes.

  • Problema: Los nombres de las variables enviadas desde el front-end no coincidían exactamente con los nombres esperados en el código de inserción del controlador, causando un fallo [09:39].
  • Solución: Se corrigen los nombres de las variables de las columnas (nombre_cliente y nit_cliente) en el controlador para que coincidan con la estructura de la tabla y los datos enviados [10:02].

✅ Resultado Final

Tras las correcciones, se realiza una simulación exitosa. Al ingresar un nuevo vehículo:

  1. Se registra al cliente en la tabla clientes [12:05].
  2. Se actualiza el estado del cubículo a "Ocupado" en la tabla mapeos [12:12].
  3. Se genera el ticket en la tabla tickets y se imprime [12:18].

El sistema ahora está completo en su proceso de ingreso inicial, con todos los datos guardados de forma persistente.

💾 Actualización de GitHub

La lección concluye con la realización de un commit con el mensaje: "Hemos añadido controlador para registrar clientes" [14:14].