Php 更改密码不起作用

Php 更改密码不起作用,php,html,Php,Html,你能帮我一下我的密码有什么问题吗?我似乎找不到错误。我的问题是新密码没有保存在我的数据库中。我无法使用新密码登录 这是我的php代码 <?php session_start(); $uid = $_SESSION["uid"]; if($uid) { //user is logged in if(isset($_POST["changepwbtn"])) { // check fields $oldpw = $_POST['old_pw']

你能帮我一下我的密码有什么问题吗?我似乎找不到错误。我的问题是新密码没有保存在我的数据库中。我无法使用新密码登录

这是我的php代码

<?php
session_start();
$uid = $_SESSION["uid"];

if($uid)
{
   //user is logged in
   if(isset($_POST["changepwbtn"]))
   {
       // check fields 
       $oldpw = $_POST['old_pw'];
       $newpw = $_POST['new_pw'];
       $renewpw = $_POST['c_npw'];

       //check pw db      
       $sql = "SELECT pazzword FROM customer_info where user_id = '$uid'";
       $run_query = mysqli_query($con,$sql);
       $row = mysqli_fetch_array($run_query);   
       $oldpwdb = $row['pazzword'];

       //check pw   
       if($oldpw==$oldpwdb)
       {       
            //check two new pw
            if($newpw==$renewpw)
            {    
                $query_change = mysql_query("UPDATE customer_info SET pazzword = '$newpw' WHERE user_id = '$uid'");
                session_destroy();
                die("Your password has been changed! <a href='index.php'>Return</a>");    
            }
            else
                die("New passwords doesn`t match!");              
       }
       else
           die("Old password doesn`t match");
   }
   echo"  ";    
}
else
    die("You need to log in!");
?>

您必须将连接对象传递给
mysqli\u查询

$query_change = mysqli_query($con, "UPDATE customer_info SET pazzword = '$newpw' WHERE user_id = '$uid'");

那太糟糕了。很多错误。主要问题是,您的SQL易受SQL注入攻击,而第二个主要问题是您使用的是不推荐的
mysql\u*
函数。首先,您确定
$uid
包含任何数据吗?检查所有保存您喜欢的数据的变量——如果它们这样做了,那么这一切都与查询有关。其次,您的第一个查询是通过
mysqli\uu
执行的,第二个查询是通过
mysql\u
执行的。正如上面提到的Raptor,最好使用
mysqli_*
PDO
。您加密了密码吗?如果是这样,以下条件不会返回真值,因此您的更新查询将不会执行[if($oldpw==$oldpwdb)]1)检查
$\u会话的内容(2)检查
$\u POST
(3)检查代码是否命中您期望的分支(通过打印)。这是一个调试问题。我们不能为你做这件事。