【发布时间】:2013-06-23 20:55:11
【问题描述】:
我正在为我的网站实现密码更改功能。不幸的是,它不起作用。
在 .html 文件中我得到了代码:
<form method='post' >
<td>Old Password:</td>
<td><input name='oldpw' type='password' required='required'/></td>
<tr>
<td>New Password:</td>
<td><input name='newpw' type='password' required = 'required' /></td>
<tr>
<td>Confirm Password:</td>
<td><input name='conpw' type='password' required = 'required' /></td>
<td>
<input type='submit' value='Change Password' />
</td>
</tr>
</form>
在 account.php 文件中我写了这个:
if (isset($_POST['newpw'])){
$pw=$dbc->query("select passwort from kundenaccount where accname= '" . $_SESSION['accname'] . "';")
$row = $pw->fetch_object()
$pawo = $row->passwort
if (md5($_POST['oldpw']) == $pawo){
if ($_POST['newpw']==$_POST['conpw']){
$dbc->query("UPDATE accname SET passwort='" . md5($_POST['newpw']) . "' WHERE accname='" . $_SESSION['accname'] . "';")
}
else { echo "Passwords do not match" }
}
else { echo "Wrong password entered"}
}
有人看到我的错误吗?几天以来我一直在尝试解决这个问题..
希望任何人都可以提供帮助。
谢谢
【问题讨论】:
-
不要以纯文本或 md5 格式存储密码。你也可以尝试删除你在任何地方不应该使用的@。你应该处理错误,而不是压制它们。
-
您的表单没有操作
-
第一步,STOP 使用
@抑制错误。如果代码不起作用,那么不要做相当于把手指塞进耳朵里然后“啦啦啦啦”的做法。 -
@user2067005:没有必要。如果未指定任何操作,则表单将提交到加载表单的 url。
-
@Marc B 表单不在同一页面上。那么他的 .html 是如何知道准确发送到 account.php 文件的,请告诉我
标签: php change-password