15 Como mandar MENSAJES desde el CONTROLADOR en el SISTEMA (PHP y MySql)FullStack

Duración: 9 min
Módulo: 👤 CRUD de Usuarios y UX Avanzada Lección 7 de 17

Descripción

📬 Lección 15: Mensajes de Confirmación y Redirección en Laravel

Título del Video: 15 Como mandar MENSAJES desde el CONTROLADOR en el SISTEMA (PHP y MySql) FullStack

Esta lección aborda cómo mejorar la experiencia del usuario mostrando una confirmación visual después de registrar un nuevo usuario. Esto se logra redireccionando al usuario a la vista del listado y enviando un mensaje flash a través del controlador.

1. 🔄 Redirección Post-Registro

Tras la inserción exitosa del usuario en la base de datos, el objetivo es evitar que el usuario se quede en una "página en blanco" [00:25].

  • Acción del Controlador: En la función store() del UserController, después de $usuario->save();, se reemplaza la respuesta simple por una redirección.
  • Comando: Se utiliza la función return redirect() encadenada al método route() para enviar al usuario de vuelta a la lista de usuarios.

    PHP

    return redirect()->route('admin.usuarios.index');

2. 📧 Envío de Mensajes Flash

Para notificar al usuario sobre el éxito de la operación, se adjunta un mensaje a la redirección. Laravel maneja esto mediante sesiones flash, que existen solo por una solicitud HTTP y se eliminan automáticamente después de usarse.

  • Método with(): Se encadena el método with() a la redirección, pasando una clave y el mensaje.

    PHP

    return redirect()->route('admin.usuarios.index')->with('message', 'Se registró al usuario de la manera correcta');

    • La clave usada en este ejemplo es message [02:23].

3. 🖥️ Recepción y Despliegue en la Vista

La vista del listado de usuarios (index.blade.php) es la encargada de verificar y mostrar este mensaje.

  • Verificación: En la parte superior de la vista, se pregunta si la sesión contiene la clave message que se envió desde el controlador.

    PHP

    @if (Session::get('message'))    @endif

    Esta estructura @if... @endif asegura que el código solo se ejecute si realmente hay un mensaje para mostrar [03:46].

  • Despliegue (Opción 1: Bootstrap Alert): Se utiliza la clase .alert .alert-success de Bootstrap para mostrar un mensaje verde y elegante que confirma la acción.

    HTML

    <div class="alert alert-success">    {{ Session::get('message') }} </div>

    Este método muestra el mensaje dentro del contenido de la página [04:47].

  • Despliegue (Opción 2: Alerta JavaScript): Se puede utilizar una etiqueta <script> para mostrar el mensaje como una alerta emergente clásica de JavaScript, aunque es menos elegante.

    HTML

    <script>    alert("{{ Session::get('message') }}"); </script>

    Este método interrumpe el flujo y es menos moderno [06:48].

En el próximo capítulo se abordará la instalación de SweetAlert2 para reemplazar estas alertas básicas y proporcionar mensajes de confirmación visualmente más impactantes [07:42].