28 CRUD - CREATE para el REGISTRO de USUARIOS en el SISTEMA VETERINARIO(PHP y MySql)FullStack

Duración: 25 min
Módulo: 👤 CRUD Completo de Usuarios (Gestión de Datos) Lección 3 de 12

Descripción

🎬 Lección 28: CRUD - CREATE para el Registro de Usuarios 💾

Esta lección une el formulario creado en el video anterior con la lógica de negocio para insertar nuevos registros en la tabla tb_usuarios.

1. Configuración del Formulario (Front-end) ⚙️

En la vista admin/usuarios/create.php, se definen los parámetros para el envío de datos:

  • Método de Envío: Se establece el method="POST" en la etiqueta <form> para enviar los datos de forma segura, ya que incluye información sensible como contraseñas. [03:06]
  • Destino (Action): La acción (action) apunta al nuevo controlador: app/controllers/usuarios/create.php. [02:11]
  • Nombres de Campos: Se agregan atributos name a todos los inputs (como nombre_completo, email, password, password_verify y cargo) para que el controlador pueda recibir la información. [03:30]

2. Creación y Recepción de Datos (Controller) 📨

Se crea el archivo app/controllers/usuarios/create.php, el cual maneja la lógica de inserción:

  1. Conexión a la Base de Datos: Se incluye el archivo de configuración (config.php) para establecer la conexión PDO. [05:25]
  2. Recepción de Variables: Se capturan los datos del formulario en variables PHP utilizando el array $_POST. [06:40]

3. Verificación de Contraseñas y Encriptación 🔒

Antes de la inserción, se realiza la validación y el encriptado de la contraseña:

  • Verificación: Se utiliza una sentencia if para asegurar que el valor de $password sea idéntico al valor de $password_verify. Si no coinciden, se muestra un error. [10:17]
  • Encriptación: Si las contraseñas son iguales, se encripta el valor de la contraseña antes de guardarlo en la base de datos, utilizando la función password_hash() con el algoritmo PASSWORD_DEFAULT. [24:20]

    PHP

    $password = password_hash($password, PASSWORD_DEFAULT);

4. Inserción en la Base de Datos (PDO) ➕

Se prepara y ejecuta la consulta SQL para el registro:

  1. Preparación de la Consulta: Se define la sentencia INSERT INTO especificando los campos a registrar. [12:43]
  2. Parámetros: Se utiliza la técnica de parámetros de consulta (:nombre_completo, :email, etc.) en lugar de concatenar variables directamente en el SQL. Esto previene ataques de inyección SQL. [16:09]
  3. Asignación de Parámetros: La función bind_param() de PDO enlaza las variables PHP (incluida la contraseña ya encriptada) con los parámetros definidos en la consulta. [17:09]
  4. Ejecución: Finalmente, la función execute() ejecuta la sentencia, registrando el nuevo usuario de forma segura. [20:03]

Resultado: Los usuarios se registran exitosamente con su contraseña encriptada. Se identifica que la fecha de creación se está enviando de forma manual y se menciona que este campo se automatizará en el siguiente video. [21:32], [25:01]