laravel - 身份验证不断要求输入密码
问题描述
所以我创建了一个 Laravel 自定义身份验证,我正处于创建登录表单的阶段,但它突然一直要求填写密码,我已经这样做了,但没有任何反应。
这是我的登录表单:
<form action="{{ route('auth.check') }}" class="log-form" method="post" value="{{ old('email') }}">
@if(Session::get('fail'))
<div class="alert-danger">
{{ Session::get('fail') }}
</div>
@endif
@csrf
<div class="name">
<label for="fname">Email Address</label><br>
<input type="text" id="email" name="email" value=""><br>
</div>
<span class="text-danger">
@error('email') {{ $message }} @enderror
</span>
<div class="name">
<label for="fname">Password</label><br>
<input type="password" id="pass" name="fname" value=""><br>
</div>
<span class="text-danger">
@error('password') {{ $message }} @enderror
</span>
<br><br>
<input type="submit" value="LOG IN" class="log-sub">
</form>
这是我的控制器:
function check(Request $request){
$request->validate([
'email'=>'required|email',
'password'=>'required|min:6|max:16',
]);
$userInfo = Admin::where('email', '=', $request->email)->first();
if($userInfo){
return back()->with('fail', 'We do not recognize your email address');
}
else {
if(Hash::check($request->password, $userInfo->passsword)){
$request->session()->put('LoggedUser', $userInfo->id);
return redirect('admin/dashboard');
}
else {
return back()->with('fail', 'Incorrect password');
}
}
}
解决方案
问题在于您的输入名称。在验证中,您希望有一个名为密码的输入,但是密码输入被命名为 fname,因此验证将始终失败,因为密码字段是必需的。所以而不是:
<input type="password" id="pass" name="fname" value="">
采用 :
<input type="password" id="pass" name="password" value="">
推荐阅读
- javascript - Vue.js 事件传递问题
- python - 迭代numpy数组并保持维度
- sql - sql - 在订单上选择多个最大值
- docker - 在通过 Jenkins 构建时,在尝试连接到 Docker 守护进程套接字时获得权限被拒绝
- vim - Netbeans 11 是否有类似 vi/vim 的编辑器?
- kubernetes - 加密和外部化云中 wso2 API 管理器中存在的密码(Openshift)
- sql-server-2008-r2 - 如何使用 select 语句处理 SQL 2008 r2 中的缺失数据?
- python - 不使用 Turtle 渲染相同的图像
- php - 如何使用 php & mysql Ajax、Jsone 显示公司详细信息的自动显示详细信息
- javascript - AmChart V4:可点击的类别轴标签(堆积柱形图)