如何在PHP中更新密码

时间:2014-09-04 14:41:08

标签: php mysql function passwords

这是functions.php

function updatePassword($id,$npassword)
{
if(mysql_query("UPDATE `users` SET `password`='".$npassword."'  WHERE `id`=".$id))
    return true;
 else
    return false;
}

这是setting.php

<div class="settingform">
 <form action="setting.php?update=password" method="post">
 <h2>Past Password:</h2> <input type="password" maxlength="100" name="p1"     value="" /><br />
<h2> New Password:</h2> <input type="password" maxlength="100" name="p2" value="" /><br />
 <input type="submit"name="newpasswordSubmit" value="Save" /><br /><br />

                    </form> 
                <?php 

                    if(isset($_GET['update']) && $_GET['update']=="password")
                     {
                   $ppassword =   trim(mysql_real_escape_string(md5($_POST['p1'])));
                        $npassword = trim(mysql_real_escape_string(md5($_POST['p2'])));

                        $errors = array();
                         if(strlen($npassword)>100)
                            $errors = "your EMAIL is too long";
 if($ppassword !== $password) 
                            $errors = "Password did not match";

                        if(empty($errors))
                        {

强文本if(updatePassword($ settingUsersData ['id'],$ npassword))                                 echo“更新!”;

                            else
                            echo "An Error Has Occurred!";
                        }
                        else 
                            foreach ($errors as $e) 
                                echo $e."<br/>";
                    }
                ?>  
            </div>

1 个答案:

答案 0 :(得分:0)

我认为问题在于您的更新功能 从字段名称中删除引号。

function updatePassword($id,$npassword)
{
 $sql = "UPDATE users SET password='".$npassword."' WHERE id=".$id);
 $result=mysqli_query($connection, $sql)
 $affected_rows=mysqli_affected_rows($result);
 if($affected_rows==1){
   return true;
 }else{
   return true;
  }   

}

我无法在代码中看到您调用此函数的位置。必要时调用该功能。 (请不要使用mysql。自PHP 5.5.0起,它已被弃用,将来将被删除。)