私は、フォームを送信した後、ページ区切りで前のページに戻ることができるようにしたいと考えています。通常私は投稿を使用しますが、これはURLに渡されません。postとURL paramsの比較
代わりにgetを使用することをお勧めしますか?
私は、フォームを送信した後、ページ区切りで前のページに戻ることができるようにしたいと考えています。通常私は投稿を使用しますが、これはURLに渡されません。postとURL paramsの比較
代わりにgetを使用することをお勧めしますか?
ページング情報をフォームに保存できないようにするものはありません。たとえば、あなたはである:
http://mysite/list.php?page=3&maxperpage=50
ページ上のリンクが
http://mysite/edit.php?id=8475&page=3&maxperpage=50
フォームに隠されたコントロールとしてページやmaxperpageを保存するためにユーザーをリダイレクトすることができ、それらを毎回リロードます(フォームを表示ポストバックエラーの場合)
<input type="hidden" name="page" value="<?php echo $_REQUEST['page']; ?>" />
<input type="hidden" name="maxperpage" value="<?php echo $_REQUEST['maxperpage']; ?>" />
ポストバックが完了すると、次に、その前のページにリダイレクトするように_POST隠しフィールドを使用します。
header('location: http://mysite/list.php?page='.$_POST['page'].'&maxperpage='.$_POST['maxperpage']);
明らかに、私はそこのような検証に多くのものをスキップしましたので、
私のフォームには十数個のパラメータがあります。 – Paul
これらのページ区切り/フィルター/検索パラメーターを渡すときは、GETを使用し続けますが、編集フォームなどのフォームにアクセスすると、これらのパラメーターをhiddensフィールドにプッシュします。次に、これらの隠しフィールド(保存後など)で完了すると、それらの隠しフィールドをURLに戻して、ユーザーをリダイレクトします。 –
これは、主にどのようなコンテンツをフォームを通過させるかによって異なります。
一般に、フォームにテキストエリアがある場合は、URLの最大文字数に達する可能性が高いとGET経由で送信することをお勧めします。 そして明らかにあなたがファイルを渡すならば、それはPOSTである必要があります。 ああ、明らかに機密データ(ユーザー名/パスワードなど)の場合、GETを使用するのは良い考えではありません。
それ以外の場合は、データをどこでも使用する前に「クリーニング」している限り、GETを使用しても問題ありません。
GETを使用できない場合は、代わりにPOSTを使用することができますが、COOKIEまたはSESSION変数にすべてを保存して、ページネーション/ブレッドクラムの送信後に前のページで取得することができます。形。
アレックスとtanduのコメントに少し拡大:
あなたがデータを送信しているときは、インクルードがサーバー上で状態を変更しますPOSTを使用する必要があります。データを要求したり、サーバーの状態を変更しないままにするその他の操作を実行しているときは、GETを使用する必要があります。
はい、フォームを送信するためにPOSTを使用するのは間違いありません.GETはこの場合はお勧めできません。
その後、ポストがあなたの前のページにリダイレクトされた後、おそらく少し遅れて、ありがとうメッセージを表示します。
あなたはPOST中にフォームを送信し、リダイレクトページに(使用する可能性が...いくつかの中に置くことを忘れないでください['header'](http://uk3.php.net/manual/en/function.header.php))をGET paramsと組み合わせると、ブックマークが可能になります。 – Alex
もちろん。あなたは検索のために 'GET'を使うことができます。 –
どのようなフォームですか?検索フォームやユーザーの詳細などは? – Treffynnon