需要验证PHP密码和旧密码

时间:2017-08-27 07:39:25

标签: php mysql

我希望为已登录的用户提供更改密码功能。我有一组代码已经使用MySQLi程序更改密码功能。我希望它改为PDO,我在这里搜索了不同的网站和问题,但它不会起作用。我会在MySQLi程序中向您展示我的代码,我希望它重建为PDO,但我不会显示我尝试过几次的PDO代码,因为我得到了不同的错误,不知何故最终没有错误但没有工作。我很难学习PDO,因为我来自程序,并且想学习PDO,特别是使用准备好的语句。

所以这里是我的更改密码中的代码,使用我想将其更改为PDO的程序没有错误

<?php 
        $conn_db = mysqli_connect("localhost","root","") or die();
        $sel_db = mysqli_select_db($conn_db, "PDOTesting") or die();
        if(isset($_POST['re_password']))
        {
        $old_pass=$_POST['old_pass'];
        $new_pass=$_POST['new_pass'];
        $re_pass=$_POST['re_pass'];
        $chg_pwd=mysqli_query($conn_db, "select * from users where username='$login_session'");
        $chg_pwd1=mysqli_fetch_array($chg_pwd);
        $data_pwd=$chg_pwd1['password'];
        if($data_pwd==$old_pass){
        if($new_pass==$re_pass){
            $update_pwd=mysqli_query($conn_db, "update users set password='$new_pass' where username='$login_session'");
            echo "<script>alert('Changed Password Sucessfully! You will be logged out from this page'); window.location='../session_destroy.php'</script>";
        }
        else{
            echo "<script>alert('Your New password does not match the password confirmation'); window.location='change_password.php'</script>";
        }
        }
        else
        {
        echo "<script>alert('Your old password is incorrect'); window.location='change_password.php'</script>";
        }}
    ?>

我在我的注册表单中使用了password_hash函数来加密我在db中的密码,这里是代码。

$password = $_POST['password'];
$hash = password_hash($password, PASSWORD_DEFAULT);

并在我的登录表单中使用php的 password_verify 功能来验证用户身份并启动会话。

我正在寻找帮助如何将代码更改为PDO,因为每次我更改它时,我总是弄乱代码并得到不同的错误。我已经尝试过搜索一些代码,但我找不到任何符合我代码的代码,当我尝试新代码时,我总是把它搞乱。 将不胜感激任何建议。 提前谢谢。

0 个答案:

没有答案