现在我坚持更新密码区域,我尝试输入新密码,然后点击更新按钮,但是在数据库没有更新的情况下,这里的任何人都可以帮助我在哪里出错?
这是我的更新声明
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {
$updateSQL = sprintf("UPDATE user SET password=%s WHERE password_hidden=%s",
GetSQLValueString($_POST['password'], "text"),
GetSQLValueString($_POST['password_hidden'], "text"));
这是我的表格
<form method="POST" name="form1" action="<?php echo $editFormAction; ?>">
<table border="0" align="center">
<tr>
<td width="130"><span class="style5">New Password</span></td>
<td width="15"><div align="center" class="style5">:</div></td>
<td ><label><input name="password" type="password" id="password" tabindex="1" value="<?php echo $row_chgpswd['password']; ?>" size="20" />
<input name="password_hidden" type="hidden" value="<?php echo $row_chgpswd['password_hidden']; ?>" />
</label>
</td>
</tr>
<tr>
<td height="26"> </td>
<td> </td>
<td><div align="right">
<input type="submit" name="button" id="button" value="Change Password" tabindex="3"/>
</div>
</td>
</tr>
</table>
<input type="hidden" name="MM_update" value="form1">
</form>
答案 0 :(得分:2)
名为emailtm
的输入元素在哪里?在您的表单中,您尚未包含它。所以可能是问题所在。
您尚未包含在表单中,但是您正在通过$_POST
在您的php代码中访问它!
$_POST
是一个关联数组,它包含您通过表单提交的输入元素的名称 - 值对。
答案 1 :(得分:0)
如果您还可以查看apache日志文件以查看是否有任何错误,那将会很棒。不知何故,我发现你需要在查询中用引号括起password和password_hidden的值。
$updateSQL = sprintf("UPDATE user SET password='%s' WHERE password_hidden='%s'",
GetSQLValueString($_POST['password'], "text"),
GetSQLValueString($_POST['password_hidden'], "text"));