2012-10-21 62 views
2

我遇到了使用PHP的Webform的问题。我确定这很明显,但找不到问题。Webform未传递正确的值以搜索MYSQL记录

我得到的是什么问题,我想要做的基本上是输入一个数值到窗体,然后将值到MySQL数据库中的字段,请求链接到该值的记录,

当我点击“提交”按钮时,该值未被正确采用,但会采用先前查询提交的值。

例如,我想检索一个'id'为1的记录。我在字段中输入'1'(该字段的id是'identry'),但是出现错误。这个错误基本上表示出于某种原因,我没有为'id'字段输入值。然后我再次访问搜索字段,输入值'2',然后点击'提交'。然后我得到一个结果,它刚刚访问'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> 

我认为它怎么我提交的变量在一审,但不能找出如何做到这一点。

回答

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> 
+0

+1:非常简短的回答,但真的... – arkascha

+0

只需编辑你的问题,把代码:) – ajacian81

+0

我添加了完整的文件(基本上把提交的功能和测试它,它应该为你工作)。 – ajacian81