2012-04-09 3 views
-1

私はPHPとMySQLで検索フォームを作成し、ページネーションPHPとMySQLでページ作成を使って検索フォームを作成するにはどうすればいいですか?

を行うにしようとしていますので、私はこのようになりますフォームがあります。

<form action="search_results.php" method="post"> 
         <select name="cat" id="cat"> 
          <option>Select Category</option> 
          <?php 
          foreach($categories as $category) { 
          echo "<option value=\"{$category -> name}\">{$category -> name}</option>"; 
          } 
          ?> 
         </select> 
         <select name="sub-cat" id="sub-cat"> 
          <option>Select Sub Category</option> 
         </select> 
         <label>Price Range</label> 
         <input type="text" name="from" placeholder="From" /> 
         <input type="text" name="to" placeholder="To" /> 
         <input type="submit" value="" name="submit" /> 
        </form> 

を私の問題は、私は最初のページを取得するということですそれは任意の

誰もがこの問題を解決する方法のアイデアを持って提出取得していないので、search_result.php

と私は2番目のページ$ _POSTに行くしようとすると、[「提出」]は設定されません問題

事前に感謝します。

答えて

2

あなたは、おそらくフォームのために、あなたが指定した非常に理由で、その後の改ページのリンクのために、この場合にはGETを使用する必要があります。

POSTはGETを濾過し、ハッキングすることができるリソースの要求であるものオフ動作として良好に使用されます。

search_results.php?cat=1&sub-cat=2&page=2 

search_results.php?cat=1&sub-cat=2&page=3 

search_results.php?cat=1&sub-cat=2&page=4 

search_results.php?cat=1&sub-cat=2&page=5 
+0

私はあなたが出て$ _GET –

0

最も簡単な方法は、クエリ文字列での検索情報を持って「次へ」および「前」URLを生成することで、その後、受信ページは$ _GETの代わりに、$ _POSTからそれらを読まなければなりません。 $ _GET配列は、$ _POST配列のように、URLで渡された変数の場合とまったく同じです。

もう1つの方法は、検索情報が隠しフィールドにあるフォームを作成し、javascriptを使用して「次へ」および「前の」リンクにページの値を変更させてから、形。これは、ブックマークの検索ページからユーザーを防ぎ、他の意図しない影響を持っているかもしれませんが、あなたが、あなたが今使っているとまったく同じPOSTベースのコードを使用することができるようになります。

+0

おかげでたくさんでそれを得るために他の方法がないと言っているものから、そう取得使用を回避しようとしていたが、私はこれを使用していないので、あなたが気にしない場合などがありますJavaScriptが –

+2

次および前のベースの基本的なコマンドは 'のdocument.getElementById( 'YourFormId')である。')(提出します。あなたが "javascript form submit"のためにウェブを検索するなら、それを文脈で示す多くのチュートリアルを見つけるでしょう。 – octern

関連する問題