我想将输入字段中的密码与数据库中的条目进行比较。如果用户输入正确,他将被重定向。如果它的错误什么都不应该发生。
我的控制器中有这个代码:
public function check(check $check){
if (User::where('password', '=', Input::get('password'))->exists()) {
return redirect()->route('site.create');
}
Site::return($request->all());
}
在我看来,这样的事情就是这样:
<div class="form-group row">
<label for="password" class="col-md-4 col-form-label text-md-right">{{ __('please type in your password') }}</label>
<div class="col-md-6">
<input id="password" type="password" class="form-control" name="password" required>
感谢您的一切帮助,我很感激。
答案 0 :(得分:1)
您无法直接比较Laravel中的密码。密码只是一种方法。
Hash::check('plain-text', $hashedPassword);
了解更多信息https://laravel.com/docs/5.6/hashing
$user = User::where('email', '=', Input::get('email'))->first();
if( Hash::check(Input::get('password'), $user->password)){
//passwrd is equal
}
如果您只想查看密码,可以使用Hash
如果您想直接使用密码登录用户。
if (Auth::attempt(['password' => $password])) {
// Password matches and logged in.
}
答案 1 :(得分:1)
尝试使用它:
if (Hash::check('yourpassword', Input::get('password'))) {
return redirect()->route('site.create');
}
您也可以使用:
PHP中的 password_verify()
。请看这个链接:http://php.net/manual/en/function.password-verify.php