更改mysql中的用户密码,检查旧密码匹配并强制设置新密码?

时间:2013-02-09 01:55:53

标签: php mysql passwords

有人可以帮忙,我有这个更改密码脚本,允许用户更改他们的密码。

目前它允许用户更改密码,不管他们放在旧密码框中的内容。有人可以告诉我如何检查旧密码是否与'ptb_users.password'中存储的密码相匹配?

此外,它目前允许用户将其密码设置为空,有没有办法让我可以输入密码和确认密码字段?

感谢。

<?php
require_once("session.php"); 
require_once("functions.php");
require('_config/connection.php');
?>
<?php 

session_start();

include '_config/connection.php'; 


$password = md5($_POST['password']);
$newpassword = md5($_POST['newpassword']);

$result = mysql_query("SELECT password FROM ptb_users WHERE id=".$_SESSION['user_id']." AND password = '".$password."'");
if(!$result) 
{ 
echo "The username you entered does not exist or old password didn't match"; 
} 
else
{
     $sql=mysql_query("UPDATE ptb_users SET password='$newpassword' WHERE id=".$_SESSION['user_id'].""); 
}
if($sql) 
{ 
    echo "Thank You. Your Password has been successfully changed."; 
}
?>

1 个答案:

答案 0 :(得分:0)

要检索密码并根据查询检查匹配,您可以使用@hexacyanide建议的答案。

要从mysql获取密码字段以更新密码,您需要更改

mysql_query("UPDATE ptb_users SET password='$newpassword'

mysql_query("UPDATE ptb_users SET password='".$newpassword."'