()消息重新引导Laravel

当发生致命错误时,尝试使用消息redirect到上一页。

App::fatal(function($exception) { return Redirect::back()->with('msg', 'The Message'); } 

在视图试图访问味精

 Sessions::get('msg') 

但是没有任何东西被渲染,我在这里做错了什么?

尝试

 return Redirect::back()->withErrors(['msg', 'The Message']); 

并在你的视图内调用这个

 @if($errors->any()) <h4>{{$errors->first()}}</h4> @endif 

另一种方法是

调节器

 Session::flash('message', "Special message goes here"); return Redirect::back(); 

视图

 @if (Session::has('message')) <div class="alert alert-info">{{ Session::get('message') }}</div> @endif 

Laravel 5:

  return redirect()->back()->with('success', ['your message,here']); 

刀:

 @if (\Session::has('success')) <div class="alert alert-success"> <ul> <li>{!! \Session::get('success') !!}</li> </ul> </div> @endif 

你有错误(拼写错误):

 Sessions::get('msg')// an extra 's' on end 

应该:

 Session::get('msg') 

我想,现在应该是有效的,对我来说是这样。

只需设置闪光消息并redirect到您的控制器function。

  session()->flash('msg', 'Successfully done the operation.'); return redirect()->back(); 

然后,您可以在视图刀片文件中获取消息。

  {!! Session::has('msg') ? Session::get("msg") : '' !!} 

在Laravel 5.4中为我工作:

 return back()->withErrors(['field_name' => ['Your custom message here.']]); 

我停止写这个自己laravel赞成Laracasts包处理这一切为你。 这是非常容易使用,并保持您的代码清洁。 甚至包括如何使用它的laracast 。 你只需要做:

通过Composer拉入包装。

 "require": { "laracasts/flash": "~1.0" } 

在app / config / app.php中包含服务提供者。

 'providers' => [ 'Laracasts\Flash\FlashServiceProvider' ]; 

在底部的同一文件中添加一个门面别名:

 'aliases' => [ 'Flash' => 'Laracasts\Flash\Flash' ]; 

将HTML拉入视图中:

 @include('flash::message') 

消息右侧有一个closuresbutton。 这依赖于jQuery,所以确保在引导之前添加。

可选更改:

如果您没有使用引导程序,或者想要跳过包含闪存消息并自行编写代码:

 @if (Session::has('flash_notification.message')) <div class="{{ Session::get('flash_notification.level') }}"> {{ Session::get('flash_notification.message') }} </div> @endif 

如果你想查看@include('flash::message')引入的HTML,你可以在vendor/laracasts/flash/src/views/message.blade.phpfind它。

如果你需要修改partials:

 php artisan view:publish laracasts/flash 

这两个包视图现在将位于`app / views / packages / laracasts / flash /'目录中。

我面临同样的问题,这工作。

调节器

 return Redirect::back()->withInput()->withErrors(array('user_name' => $message)); 

视图

 <div>{{{ $errors->first('user_name') }}}</div> 

对于Laravel 3

只是一个@giannis christofakis答案; 任何人使用Laravel 3replace

 return Redirect::back()->withErrors(['msg', 'The Message']); 

有:

 return Redirect::back()->with_errors(['msg', 'The Message']); 

当我尝试redirect时,我收到了这条消息:

 public function validateLogin(LoginRequest $request){ // return redirect()->route('sesion.iniciar') ->withErrors($request) ->withInput(); 

当正确的方法是:

 public function validateLogin(LoginRequest $request){ // return redirect()->route('sesion.iniciar') ->withErrors($request->messages()) ->withInput();