30 Mandar RESPUESTA del CONTROLADOR a la VISTA en el SISTEMA VETERINARIO(PHP y MySql)FullStack

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

Descripción

🎬 Lección 30: Respuestas del Controlador a la Vista (Sesiones) 💬

El objetivo principal de esta lección es implementar un sistema robusto y amigable para notificar al usuario sobre el resultado de una acción (como un registro fallido por correo repetido o contraseñas no coincidentes).

1. Implementación de Mensajes con Sesiones 🚀

Para que el mensaje del Controlador se muestre en la Vista después de una redirección, el instructor emplea el concepto de Sesiones de PHP:

  • Creación de la Sesión: En el controlador (create.php), en lugar de simplemente imprimir un echo con el mensaje de error o éxito, el texto se almacena en una variable de sesión (por ejemplo, $_SESSION['mensaje']). [05:37]
  • Redirección: El controlador inicia la sesión (session_start()) y luego redirecciona a la misma vista del formulario (create.php) o a otra vista. [09:36]

2. Mostrar y Destruir el Mensaje (Un Solo Uso) 🗑️

En la vista (create.php), se implementa la lógica para recibir y gestionar el mensaje:

  • Verificación: Se utiliza una sentencia if (isset($_SESSION['mensaje'])) para verificar si existe un mensaje almacenado en la sesión. [07:03]
  • Visualización: Si la sesión existe, la vista utiliza código PHP incrustado para mostrar el mensaje dentro de una alerta de Bootstrap y una alerta de JavaScript (alert()), haciendo que el mensaje sea visible y atractivo. [07:29], [11:00]
  • Eliminación Segura: Para asegurar que el mensaje solo se muestre una vez (al cargar la página después de la redirección), se utiliza la función unset($_SESSION['mensaje']) inmediatamente después de mostrarlo. [14:46]
    • El instructor advierte que no se debe usar session_destroy() ya que esto cerraría la sesión del usuario logueado, lo cual es incorrecto. [14:20]

De esta manera, el mensaje de respuesta se muestra solo una vez y de forma visualmente agradable, mejorando la interacción del usuario con el sistema.