Estoy tratando de redirigir a la página anterior con un mensaje cuando hay un error fatal.
App::fatal(function($exception)
{
return Redirect::back()->with('msg', 'The Message');
}
En la vista tratando de acceder al msg con
Sessions::get('msg')
Pero no se hace nada, ¿estoy haciendo algo mal aquí?
s
y agregueuse
donde sea necesario. Aparte de eso, debería funcionar.Respuestas:
Tratar
y dentro de tu vista llama a esto
fuente
return Redirect::back()->with('msg', 'The Message');
cómo obtener el "msg" aquí?Session::has('msg')
Session::has('msg')
y el 'mensaje' no está allí.withErrors('some error')
- debe ser una cadena en lugar de una matriz.Controlador
Espada:
fuente
return redirect()->back()->with('success', 'your message here');
Enfoque alternativo sería
Controlador
Ver
fuente
En Laravel 5.4 lo siguiente funcionó para mí:
fuente
withErrors()
método en el que la respuesta es una matriz con dos elementos:['msg', 'The Message']
. Consulte la API para conocer los parámetros aceptables: laravel.com/api/4.2/Illuminate/Http/…withErrors()
método son una matriz con un elemento que es unkey => value
par, donde el valor es una matriz. 5.4 API: laravel.com/api/5.4/Illuminate/Http/…Tiene un error (falta de ortografía):
Debiera ser:
Creo que ahora debería funcionar, lo hace para mí.
fuente
Simplemente configure el mensaje flash y redirija hacia atrás desde la función de su controlador.
Y luego puede obtener el mensaje en el archivo blade de vista.
fuente
{!! Session::get("msg", '') !!}
debería ser suficiente.get()
ya comprueba si la clave existe y devuelve el valor predeterminado de lo contrario.En Laravel 5.5 :
En la vista usando Blade:
fuente
En laravel 5.8 puede hacer lo siguiente:
y en cuchilla:
fuente
Dejé de escribir esto para laravel a favor del paquete Laracasts que lo maneja todo por ti. Es realmente fácil de usar y mantiene limpio su código. Incluso hay un laracast que cubre cómo usarlo. Todo lo que tienes que hacer:
Tire del paquete a través de Composer.
Incluya el proveedor de servicios en app / config / app.php.
Agregue un alias de fachada a este mismo archivo en la parte inferior:
Tire del HTML a la vista:
Hay un botón de cierre a la derecha del mensaje. Esto depende de jQuery, así que asegúrese de agregarlo antes de su rutina de arranque.
cambios opcionales:
Si no está utilizando bootstrap o desea omitir la inclusión del mensaje flash y escribir el código usted mismo:
Si desea ver el HTML extraído
@include('flash::message')
, puede encontrarlo envendor/laracasts/flash/src/views/message.blade.php
.Si necesita modificar los parciales, haga lo siguiente:
Las dos vistas de paquete ahora se ubicarán en el directorio `app / views / packages / laracasts / flash / '.
fuente
en controlador
Por ejemplo
en el archivo Blade El mensaje se almacenará en la sesión, no en variable.
Por ejemplo
fuente
Para Laravel 5.5+
Controlador:
Espada:
fuente
Me enfrenté al mismo problema y esto funcionó.
Controlador
Ver
fuente
Para laravel 5.6. *
Al intentar algunas de las respuestas proporcionadas en Laravel 5.6. *, Está claro que ha habido algunas mejoras que voy a publicar aquí para facilitar las cosas a aquellos que no pudieron encontrar una solución con el resto de las respuestas.
PASO 1:Vaya a su archivo de controlador y agregue esto antes de la clase:
PASO 2: Agregue esto donde desea devolver la redirección.
PASO 3: vaya a su archivo Blade y edite de la siguiente manera
Entonces prueba y dame las gracias más tarde.
Esto debería funcionar con laravel 5.6. * Y posiblemente 5.7. *
fuente
Para Laravel 3
Solo un aviso sobre @giannis christofakis respuesta; para cualquiera que use Laravel 3 reemplazar
con:
fuente
Laravel 5.6. *
Controlador
Plantilla de cuchilla
Enyoj
fuente
Recibí este mensaje cuando intenté redirigir como:
Cuando la forma correcta es:
fuente
Laravel 5.8
Controlador
Espada
fuente