36 CRUD - UPDATE de datos de un usuario especifico en el SISTEMA VETERINARIO(PHP y MySql)FullStack
Duración: 16 minDescripción
🎬 Lección 36: Finalización del CRUD - UPDATE en PHP y MySQL 🔄
El video concluye la funcionalidad de edición (UPDATE) del módulo de usuarios, enfocándose principalmente en la lógica condicional para el manejo de la contraseña y la corrección de errores de seguridad.
1. Lógica Condicional para la Contraseña 🔒
El punto central del video es gestionar el escenario en el que el administrador solo quiere actualizar el nombre o el cargo, sin cambiar la contraseña:
- Validación de Igualdad: Primero, el código verifica si los campos de la nueva contraseña son iguales. Si no lo son, muestra un mensaje de error y redirige al formulario de edición. [03:12]
- Validación de Vacío (NO Actualizar): Antes de ejecutar la consulta, se añade una condición principal (if) que pregunta si el campo de contraseña está vacío. [06:33]
- Si está vacío: Se ejecuta una consulta UPDATE que omite el campo password. De esta manera, solo se actualizan el nombre, el cargo y la fecha de modificación, manteniendo la contraseña anterior. [06:50]
- Si NO está vacío: Se ejecuta la consulta UPDATE que incluye el campo password, asumiendo que el usuario desea cambiar la contraseña. [08:30]
2. Ejecución y Corrección de Seguridad 🛡️
- Preparación y Ejecución: Se preparan los parámetros (bindParam) y se ejecuta la sentencia SQL para ambas consultas.
- Encriptación de Contraseña (Corrección): Durante las pruebas, el instructor detecta que la contraseña se estaba guardando en la base de datos sin encriptar (en texto plano) cuando se actualizaba. [11:16]
- Se corrige esto aplicando la función de encriptación (password_hash) a la contraseña antes de incluirla en la consulta UPDATE, asegurando que el dato se guarde de forma segura. [12:00]
- Mensajes y Redirección: Si la actualización es exitosa, se utiliza una sesión para mostrar un mensaje de suceso ("Se actualizó de la manera correcta") y se redirige a la vista principal de usuarios. [09:02]
3. Ajuste de la Vista (update.php) ✅
Para que la lógica condicional funcione correctamente y permita actualizar otros campos sin tocar la contraseña:
- Se elimina el atributo required de los campos de contraseña en el formulario de la vista update.php. [14:56]
- Esto permite al usuario enviar el formulario con los campos de contraseña vacíos, activando la lógica de "no actualizar contraseña" en el controlador.
Resultado:
Con la implementación de la lógica condicional y la corrección de seguridad, la funcionalidad UPDATE queda totalmente operativa, permitiendo:
- Actualizar el nombre, cargo y contraseña.
- Actualizar solo el nombre y/o cargo sin modificar la contraseña. [15:08]
El video concluye anunciando la próxima y última acción del CRUD: Eliminar (DELETE). [15:49]
Lecciones
Apoya este proyecto
Si te gusta nuestro contenido, ¡apóyanos con una donación!
Donar por Airtm Donar por Binance¡Gracias por tu apoyo! ❤️