当用户忘记密码时,会向他的电子邮件帐户发送一封电子邮件,其中包含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表单。