这次我要学习验证。我不能为我的登录表单执行此操作... 我的代码现在看起来像这样,它只在我有错误时才起作用,但这段代码不想让我的用户登录。我的代码中应该包含哪些内容才能正常工作,为什么它现在不起作用?我也不知道这个验证如何知道应该将哪个电子邮件和密码与登录名以及从哪个表进行比较?我应该在某处添加此信息吗?
public function login(Request $request)
{
$this->validate($request, [
'email' => 'required|max:255|email',
'password' => 'required|confirmed',
]);
return redirect()->intended('/panel');
}
最佳答案
您可以考虑将特征 AuthenticatesUsers
添加到您的 Controller :
class LoginController extends Controller {
use \Illuminate\Foundation\Auth\AuthenticatesUsers; // <- add this line
// ...
}
然后你可以抛出你的 login
方法,一切都会正常。更多信息 here .
但是如果你想建立自己的Authentication系统(我不推荐),你就得多挖。你可以看看here .然后像这样更新你的 Controller :
public function login(Request $request)
{
$this->validate($request, [
'email' => 'required|max:255|email',
'password' => 'required|confirmed',
]);
if (Auth::attempt(['email' => $email, 'password' => $password])) {
// Success
return redirect()->intended('/panel');
} else {
// Go back on error (or do what you want)
return redirect()->back();
}
}
关于php - Laravel 验证登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44889297/