将输入字段的密码与数据库进行比较| Laravel

时间:2018-05-23 07:57:30

标签: php html laravel

我想将输入字段中的密码与数据库中的条目进行比较。如果用户输入正确,他将被重定向。如果它的错误什么都不应该发生。

我的控制器中有这个代码:

   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>

感谢您的一切帮助,我很感激。

2 个答案:

答案 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