有关如何让用户在身份验证后更改密码的帮助


Help on how to let a user change his password after authentication

当用户忘记密码时,会向他的电子邮件帐户发送一封电子邮件,其中包含resetpassword.php的链接和令牌(唯一的)

当身份验证是正确的,那么他就可以更改密码。我的问题是这是怎么发生的?最简单快捷的方法就是发邮件给他一个新密码,让他通过他的CP修改密码,但这是一个好的用户体验吗?

    $result = mysql_query("SELECT member_id FROM members WHERE forgotpass='$token'");
        if(mysql_num_rows($result) == 1) {
            WHAT GOES HERE?
    }
    else {
        die("Query failed");
    }

这里发生了什么?

应该有类似

的内容
echo 'Your password was mailed to you';
mysql_query("UPDATE members SET password = '".$random_hashed_string."' WHERE forgotpass='$token'");
mail($to, $subject, $message." password:".$random_hashed_string, "From: support@support.com");

您需要创建一个表单来允许用户选择新密码。表单的操作将更新数据库用户记录的密码字段。这可能是一个单独的过程,但您的WHAT GOES HERE?将是一个HTML表单。