更改旧密码

时间:2016-03-01 06:14:31

标签: php jquery html

嗨,大家好我只是一个新的程序员,你可以帮我这个, 我无法更改密码并继续在回声"密码更改成功";

上说错误

请帮帮我。 谢谢。

<?php

if(isset($_POST["login"]))

    {

        if(!empty($_POST['oldpass']) && !empty($_POST['password']))
            {
                $oldp=$_POST['oldpass'];



                // connection
                $con=mysqli_connect('localhost','root','') or die(mysqli_error());
                mysqli_select_db($con,'databaseprac') or die("cannot select DB");

                // select database
                $query=mysqli_query($con,"SELECT * FROM tblusers WHERE password='".$oldp."'");
                $numrows=mysqli_num_rows($query);




                if($numrows!=0)
                {
                    while($row=mysqli_fetch_assoc($query))
                {
                    $dbpassword=$row['password'];


                    //mysqli_close()
                    }

                    if($oldp == $dbpassword)
                    {

                     $sql="UPDATE tblusers SET password='$oldp' WHERE id='1';
                        $result=mysqli_query($sql);
                        if($result)
                         {
                        echo "<h4>Password Change Successful</h4>";
                        }
                    }
                    } 
                    else {
                        echo "<h4>Invalid Old Password</h4>";
                    }

             } 

                  else {
                      echo "<h4>All fields are required.</h4>";
                  }
          }
?>

4 个答案:

答案 0 :(得分:1)

句子末尾没有"$sql="UPDATE tblusers SET password='$oldp' WHERE id='1';

您还需要在此行中添加$con$result=mysqli_query($sql); 像这样: $result=mysqli_query($con,$sql);

答案 1 :(得分:1)

您错过了implicit

"

提示:您应该阻止$sql="UPDATE tblusers SET password='$oldp' WHERE id='1';

MySQL Injection

答案 2 :(得分:0)

替换以下代码:

 $sql="UPDATE tblusers SET password='$oldp' WHERE id='1';
 $result=mysqli_query($sql);

 $oldp = mysqli_real_escape_string ($con, $row['oldpass']);
 $sql="UPDATE tblusers SET password='$oldp' WHERE id='1'";
 $result=mysqli_query($con,$sql);
  1. 您错过了"
  2. 您没有传递连接字符串。

答案 3 :(得分:0)

  

这是你的代码完全正常工作。

Microsoft.ACE.OLEDB.12.0
  

使用一些文本编辑器,如sublime和任何一个。