【发布时间】:2013-12-10 20:53:46
【问题描述】:
我正在尝试创建一个 html 表单来更改 php 中的密码。 我的数据库是在easyphp中创建的。
这是我写的更改密码的代码,当我测试它时没有发生任何变化。
<?
$user_name = "root";
$pass_word = "";
$database = "login";
$server = "127.0.0.1";
if(isset($_POST['submit']))
{
$oldpassword = md5($_POST['cur_password']);
$newpassword= md5($_POST['new_password']);
$confirm_password = md5($_POST['confirm_password']);
$usermane = $_SESSION['username'];
$con = mysqli_connect($server, $user_name, $pass_word,$database);
if (!$con)
{
die('Could not connect: ' . mysqli_connect_error());
}
$select=mysqli_query("select * from login where L1='$username'");
$fetch=mysqli_fetch_array($select);
$data_password=md5($fetch['password']);
if($newpassword==$confirm_password && $data_password==$oldpassword)
{
$insert=mysqli_query("update login set L2='$confirm_password' where L1='$username'");
}
if($insert)
{
echo "Password changed";
}
else
{
echo "Password not changed";
}
}
}
mysqli_close($con);
?>
<html>
<head>
</head>
<body>
<FORM NAME ="form1" METHOD ="POST" ACTION ="changepassword.php">
<p>old password<br />
<input type="password" name="current_password" /></p>
<p>New password<br />
<input type="password" name="new_password"/>
</p>
<p>Confirm password<br />
<input type="password" name="confirm_password"/>
</p>
<input name="submit" type="submit" value="Save Password" />
</body>
</html>
请告诉我这里出了什么问题。
谢谢:D
【问题讨论】:
-
您需要进行基本故障排除,隔离问题,然后返回并提出具体问题。转储代码并说它不起作用是不够的。
-
$data_password=md5($fetch['password']); - 密码是否已经写入数据库???如果是,你不需要在这里做 md5
-
你能告诉我你最后发生了什么吗?不更新密码或其他什么?您的文件名也是“changepassword.php”吗?尝试将表单的操作值留空。喜欢 Action=""
-
@leemo - “用 JS 散列它们” 我希望 JS 并不意味着 Javascript
-
这个问题似乎是题外话,因为它是关于基本调试的。