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

时间:2011-09-02 20:05:36

标签: php mysql

当用户忘记密码时,会有一封电子邮件发送到他的电子邮件帐户,其中包含一个链接和令牌(唯一)到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");
    }

2 个答案:

答案 0 :(得分:2)

这是什么?

应该有像

这样的东西
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");

答案 1 :(得分:2)

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