我试图重定向到上一页的消息时,有一个致命的错误。
App::fatal(function($exception)
{
return Redirect::back()->with('msg', 'The Message');
}
在视图中尝试访问msg
Sessions::get('msg')
但是什么都没有渲染,是我做错了吗?
我试图重定向到上一页的消息时,有一个致命的错误。
App::fatal(function($exception)
{
return Redirect::back()->with('msg', 'The Message');
}
在视图中尝试访问msg
Sessions::get('msg')
但是什么都没有渲染,是我做错了吗?
当前回答
Laravel 5.6。*
控制器
if(true) {
$msg = [
'message' => 'Some Message!',
];
return redirect()->route('home')->with($msg);
} else {
$msg = [
'error' => 'Some error!',
];
return redirect()->route('welcome')->with($msg);
}
叶片模板
@if (Session::has('message'))
<div class="alert alert-success" role="alert">
{{Session::get('message')}}
</div>
@elseif (Session::has('error'))
<div class="alert alert-warning" role="alert">
{{Session::get('error')}}
</div>
@endif
Enyoj
其他回答
只需设置flash消息和重定向回从你的控制器功能。
session()->flash('msg', 'Successfully done the operation.');
return redirect()->back();
然后你可以在视图刀片文件中得到消息。
{!! Session::has('msg') ? Session::get("msg") : '' !!}
在Laravel 5.5中:
return back()->withErrors($arrayWithErrors);
在使用Blade的视图中:
@if($errors->has())
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
@endif
在叶片
@if(Session::has('success'))
<div class="alert alert-success" id="alert">
<strong>Success:</strong> {{Session::get('success')}}
</div>
@elseif(session('error'))
<div class="alert alert-danger" id="alert">
<strong>Error:</strong>{{Session::get('error')}}
</div>
@endif
在控制器 成功的
return redirect()->route('homee')->with('success','Successfully Log in ');
为错误
return back()->with('error',"You are not able to access");
在laravel 5.8中,你可以做以下事情:
return redirect()->back()->withErrors(['name' => 'The name is required']);
在刀刃上:
@error('name')
<p>{{ $message }}</p>
@enderror
它适用于我和Laravel版本是^7.0
在控制器
return back()->with('success', 'Succesfully Added');
关于Blade文件
@if (session('success'))
<div class="alert alert-success">
{!! session('success') !!}
</div>
@endif
有关文档,请参阅Laravel文档