对成员函数的调用在laravel中的字符串上具有()
我正在进行用户身份验证。当用户提供无效的电子邮件或密码时,我想用一条闪现错误消息将其重定向到对成员函数的调用在laravel中的字符串上具有(),laravel,Laravel,我正在进行用户身份验证。当用户提供无效的电子邮件或密码时,我想用一条闪现错误消息将其重定向到login.blade.php // Auth/LoginController: public function login(Request $request) { $user=User::where('email',$request->email)->first(); if(!is_null($user)) { if($user->statu
login.blade.php
// Auth/LoginController:
public function login(Request $request)
{
$user=User::where('email',$request->email)->first();
if(!is_null($user))
{
if($user->status==1)
{
if(Auth::guard('web')->attempt(['email'=>$request->email,'password'=>$request->password],$request->remember))
return redirect()->intended(route('index'));
}
}
else
{
if(Auth::guard('web')->attempt(['email'=>$request->email,'password'=>$request->password],$request->remember))
{
if(Auth::check())
{
Auth::logout();
}
$user->notify(new VerifyRegistration($user));
session()->flash('success','A new confirmation mail has sent to you...Please check and confirm your email');
return redirect('/');
}
else
{
session()->flash('errors','Password is incorrect!!');
return redirect()->route('login');
}
}
}
else
{
session()->flash('errors','Email or Password is incorrect!!');
return redirect('/login');
}
}
我使用的是默认的laravel。当用户输入错误的密码而不是设置会话闪存消息时,请使用下面给定的代码在else条件下重定向用户
return redirect()->route('login')->with('error','Invalid password.');
在登录模板上,您可以显示以下错误:
@if (session('success'))
<div class="alert alert-success">
<p>{{ session('success') }}</p>
</div>
@endif
@if (session('warning'))
<div class="alert alert-warning">
<p>{{ session('warning') }}</p>
</div>
@endif
@if (session('error'))
<div class="alert alert-error">
<p>{{ session('error') }}</p>
</div>
@endif
@if(会话('success'))
{{session('success')}
@恩迪夫
@if(会话(‘警告’)
{{session('warning')}
@恩迪夫
@if(会话('error'))
{{session('error')}
@恩迪夫
什么不起作用?请清楚一点。当我提供错误的电子邮件或密码时,它不会将我重定向到login.blade.php。它向我显示了错误,“对成员函数的调用在字符串上有()(视图:C:\xampp\htdocs\lsapp\resources\views\auth\login.blade.php)”。异常表示问题来自视图,而不是控制器。您能提供视图的代码吗?这是我的login.blade.php您是对的,但您的答案应该是一条注释,因为它不能解决作者的问题。@KévinBibollet它很可能会解决作者问题,因为作者问题是由login.blade.php
上的$errors
对象为空引起的。因此,$errors->has()
方法返回了一个错误。我认为作者的if条件有问题,因为在大多数情况下,上述语法将flash消息传递给视图@KévinBibolletYes当我写return redirect()->route('login')->with('errorsnew','Invalid password')时它会工作;当我在错误上运行foreach循环时,它会显示错误?如果是,请张贴您收到的错误。