2

PHP を使用する Web フォームに問題があります。私はそれが非常に明白だと確信していますが、問題を見つけることができません。

私がやりたいことは、基本的にフォームのフィールドに数値を入力することです。フォームはその値を 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>

最初に変数を送信する方法だと思いますが、これを行う方法がわかりません。

4

1 に答える 1

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>
于 2012-10-21T11:36:32.710 に答える