Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在我更新我的用户哈希密码并再次登录后,密码\u需要\u重新设置为false_Php - Fatal编程技术网

Php 在我更新我的用户哈希密码并再次登录后,密码\u需要\u重新设置为false

Php 在我更新我的用户哈希密码并再次登录后,密码\u需要\u重新设置为false,php,Php,我已将带有密码哈希的用户插入数据库并登录 第一次工作密码匹配(例如:$2y$10$QmpJV…) 密码已被重新设置($2y$10$JbcQm…) 将用户重定向到后端页面后 注销并再次登录 但是第二次登录密码\u需要\u重新设置为false,还是我用错了 我希望我的用户密码在登录后更新 为什么它需要重新洗牌?您是否误解了password\u needs\u rehash的用途?password\u needs\u rehash是否用于使密码更强大和最新?为什么需要重新使用?您是否误解了密码\u

我已将带有密码哈希的用户插入数据库并登录

  • 第一次工作密码匹配(例如:$2y$10$QmpJV…)
  • 密码已被重新设置($2y$10$JbcQm…)
  • 将用户重定向到后端页面后
  • 注销并再次登录
但是第二次登录密码\u需要\u重新设置为false,还是我用错了

我希望我的用户密码在登录后更新


为什么它需要重新洗牌?您是否误解了
password\u needs\u rehash
的用途?password\u needs\u rehash是否用于使密码更强大和最新?为什么需要重新使用?您是否误解了
密码\u needs\u rehash
的用途?密码\u needs\u rehash是否用于使密码强大且最新?
if (password_verify($pass, $hashedPassword)) {
                    if (password_needs_rehash($hashedPassword, PASSWORD_DEFAULT)) {
                        $time=date("Y-m-d H:i:s");
                        $newHashedPassword = password_hash($pass, PASSWORD_DEFAULT);
                        $query="UPDATE tbl_user SET pwd=?,last_login=? where id=?";
                        $stmt=$con->prepare($query);
                        $stmt->bind_param("ssi",$newHashedPassword,$time,$id);
                        if($stmt->execute()){
                            $arr=array(
                                'valid' => true,
                                'error' => 'SQL Execute'
                            );

                        }else{
                            $arr=array(
                                'valid' => false,
                                'error' => 'SQL not Execute'
                            );

                        }
                        return $arr;
                    }else{

                            $arr=array(
                                'valid' => false,
                                'error' => 'Password rehash False'
                            );
                            return $arr;

                    }   
                }else{
                    $arr=array(
                        'valid' => false,
                        'error' => 'Password not Verify'
                    );
                    return $arr;
                }