【发布时间】:2014-09-04 14:41:07
【问题描述】:
这是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>
【问题讨论】:
-
那么……有问题吗?
-
请看一下PHP的函数password_hash(),密码不应该以明文形式存储在数据库中。
标签: php mysql function passwords