ForgotPassword PHP和Mysql

时间:2018-01-23 12:58:11

标签: php mysql

我正在用PHP和Mysql编写一个登录表单。

我做了所有事情只是忘记密码无效。

它向我发送电子邮件确认,但不会更新数据库中的密码。

首先是忘记页面,然后发送电子邮件并将我重定向到confirm_pass.html页面,其中是两个密码的表单,并在此页面上执行confirm_pass.php所做的一切,除了更新数据库中的密码。

请帮忙。

 <?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') { 

// Make sure the two passwords match
if ( $_POST['newpassword'] == $_POST['confirmpass'] ) { 

    $new_password = password_hash($_POST['newpassword'], PASSWORD_BCRYPT);

    $email = $mysqli->escape_string($_POST['email']);
    $confirm_code  = md5(rand().$password);

    $result = "UPDATE `mv_db`.`users` SET `password`='$new_password', `confirm`='$confirm_code' WHERE `email`='$email'";

    if ( $mysqli->query($result) ) {
        header("location: login.html");    

    }

}
else {
    $_SESSION['message'] = " The two passwords you entered don't match, try again!";
    header("location: error.php");    
}

}
?>

1 个答案:

答案 0 :(得分:2)

您的$_POST['email']未定义,因为没有&#34;电子邮件&#34; HTML表单中的字段。

因此,数据库中没有更新任何内容,因为没有匹配的记录。