通过 session 发送的消息未显示
Message sending through session isn't showing
在我的 laravel-7 应用程序中,我通过控制器在 blade 中发送针对无效登录的自定义消息。但 blade 中未显示消息。如果我做错了什么,也会尾随我。
在 blade
<div class="card-body">
@if(session()->has('message'))
<div class="alert alert-{{session('type')}}">
<li>{{session('message')}}</li>
</div>
@endif
<form action="{{route('login')}}" method="post" class="form">
@csrf
<div class="form-group">
<label for="email">Email address</label>
<input type="email" name="email" class="form-control" id="email" placeholder="Enter email" value="{{old('email')}}">
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" name="password" class="form-control" id="password" placeholder="Password">
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary btn-block">Login</button>
</div>
</form>
在授权控制器中
public function processlogin(Request $request)
{
$this->validate($request,[
'email'=>'required|email',
'password'=>'required|min:6',
]);
$credentials=$request->except(['_token']);
if (Auth::attempt($credentials)){
return redirect()->route('index');
}
$this->setErrorMessage('Invalid Credentials.');
return redirect()->back();
}
在控制器中
public function setErrorMessage($message):void
{
session()->flash($message);
session()->flash('type','danger');
}
您没有命名闪烁的变量 message
。您正在将 $message
的值作为第一个参数传递给 flash
,这是键的名称。
session()->flash('message', $message);
在我的 laravel-7 应用程序中,我通过控制器在 blade 中发送针对无效登录的自定义消息。但 blade 中未显示消息。如果我做错了什么,也会尾随我。 在 blade
<div class="card-body">
@if(session()->has('message'))
<div class="alert alert-{{session('type')}}">
<li>{{session('message')}}</li>
</div>
@endif
<form action="{{route('login')}}" method="post" class="form">
@csrf
<div class="form-group">
<label for="email">Email address</label>
<input type="email" name="email" class="form-control" id="email" placeholder="Enter email" value="{{old('email')}}">
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" name="password" class="form-control" id="password" placeholder="Password">
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary btn-block">Login</button>
</div>
</form>
在授权控制器中
public function processlogin(Request $request)
{
$this->validate($request,[
'email'=>'required|email',
'password'=>'required|min:6',
]);
$credentials=$request->except(['_token']);
if (Auth::attempt($credentials)){
return redirect()->route('index');
}
$this->setErrorMessage('Invalid Credentials.');
return redirect()->back();
}
在控制器中
public function setErrorMessage($message):void
{
session()->flash($message);
session()->flash('type','danger');
}
您没有命名闪烁的变量 message
。您正在将 $message
的值作为第一个参数传递给 flash
,这是键的名称。
session()->flash('message', $message);