我对使用PHP的网络表单有疑问。我确定它非常明显但无法找到问题。
我想要做的基本上是在表单上的字段中输入一个数值,然后将该值发送到mysql数据库,请求链接到该值的记录,
我遇到的问题是,当我点击“提交”时,该值未正确显示。按钮,但将采用先前查询提交的先前值。
例如,我想要检索一个有' id' 1.进入' 1'进入该领域(该字段的id是' identry'),但是我收到错误。该错误基本上表示我没有在' id'中输入值。由于某种原因。然后我再次访问搜索字段,输入值' 2',然后点击“提交”#39;。然后,我得到一个结果,它刚刚使用' id' ' 1' (以前的查询!!!!)
任何想法??
这是我的表格代码.....
<form id="form1" name="form1" method="post" >
<table width="400" border="0">
<tr>
<td width = "150" ><div align="right">HPOV reference </div></td>
<td width = "150"><label>
<input name= "identry" type="text" id="identry" />
</label></td>
<td width = "100"><label>
<div align="left">
<input name="Submit" type="submit" onclick="MM_openBrWindow('HPOVwindow.php?id=<?php echo $_POST['identry']; ?>','','toolbar=yes,width=1000,height=1000')" />
</div>
</label></td>
</tr>
</table>
</div>
</form>
我认为它是如何在第一个实例中提交变量但无法找到如何执行此操作的。
答案 0 :(得分:2)
您在提交表单时发布了上一个条目。
在将数据发送到服务器之前,PHP无法处理客户端上的数据。
这一行:<?php echo $_POST['identry']; ?>
告诉PHP填写发布给它的值,这将是前一个条目。你的意思是:document.getElementById("identry").value
编辑:因此输入值的行看起来像这样:
<input name="Submit" type="submit" onclick="MM_openBrWindow('HPOVwindow.php?id=" + document.getElementById("identry").value + "','','toolbar=yes,width=1000,height=1000')" />
然后尝试以下方法:
<form id="form1" name="form1" method="post" >
<table width="400" border="0">
<tr>
<td width = "150" ><div align="right">HPOV reference </div></td>
<td width = "150"><label>
<input name= "identry" type="text" id="identry" />
</label></td>
<td width = "100"><label>
<div align="left">
<input name="Submit" type="submit" onclick="submitForm();" />
</div>
</label></td>
</tr>
</table>
</div>
<script>
function submitForm() {
window.open('HPOVwindow.php?id=' + document.getElementById("identry").value,'','toolbar=yes,width=1000,height=1000');
return false;
}
</script>
</form>