POSTリクエストでGETスタイルのURLにアクセスするとどうなりますか?
質問
display.php
というページがあり、ユーザーが display.php?page = 3
を表示しているとします。ユーザーがPOSTリクエストを介して投票するなどのアクションを実行できるようにしてから、ユーザーがアクセスしていたページに戻すようにします。したがって、 display.php?page = 3
に対してPOSTリクエストを行うと、ページ情報もスクリプトで使用できるようになりますか?
解決
単純な答えは「はい」です。 GETスタイルのURLをPOSTフォームの送信URLとして使用できます。フォームが送信されると、PHPは通常の方法でPOSTとGETの両方の情報を利用できるようになります。
これは、これを行うべきであると言うことではありませんが、動作します。
他のヒント
PHPでは、特別なグローバル配列からリクエスト変数を取得できます:
PHPでは、特別なグローバル配列からリクエスト変数を取得できます:
<?php
//vote.php
$page_number = (int) PHPでは、特別なグローバル配列からリクエスト変数を取得できます:
PHPでは、特別なグローバル配列からリクエスト変数を取得できます:
<*>
「ポスト後リダイレクト」を探しているようですが、display.phpとvote.phpを別々のファイルに分けることをお勧めします。投票は次のようになります。
<*>
サニタイズされていないフォームデータを盲目的に受け入れることは、アプリにとって危険な場合があることに注意してください。
編集:一部の人々は、両方のケースを処理するために$ _REQUESTを使用するのは悪い形だと考えています。危険なのは、POSTを期待しているときにGETを受け取った場合にエラーを通知することです。通常、GETは表示用に予約され、POSTは変更(作成/更新/削除操作)用に予約されています。これが本当に問題かどうかは、アプリケーションによって異なります。
GET['page'] (for GET requests)
PHPでは、特別なグローバル配列からリクエスト変数を取得できます:
<*>
「ポスト後リダイレクト」を探しているようですが、display.phpとvote.phpを別々のファイルに分けることをお勧めします。投票は次のようになります。
<*>
サニタイズされていないフォームデータを盲目的に受け入れることは、アプリにとって危険な場合があることに注意してください。
編集:一部の人々は、両方のケースを処理するために$ _REQUESTを使用するのは悪い形だと考えています。危険なのは、POSTを期待しているときにGETを受け取った場合にエラーを通知することです。通常、GETは表示用に予約され、POSTは変更(作成/更新/削除操作)用に予約されています。これが本当に問題かどうかは、アプリケーションによって異なります。
POST['page'] (for POST requests)
PHPでは、特別なグローバル配列からリクエスト変数を取得できます:
<*>
「ポスト後リダイレクト」を探しているようですが、display.phpとvote.phpを別々のファイルに分けることをお勧めします。投票は次のようになります。
<*>
サニタイズされていないフォームデータを盲目的に受け入れることは、アプリにとって危険な場合があることに注意してください。
編集:一部の人々は、両方のケースを処理するために$ _REQUESTを使用するのは悪い形だと考えています。危険なのは、POSTを期待しているときにGETを受け取った場合にエラーを通知することです。通常、GETは表示用に予約され、POSTは変更(作成/更新/削除操作)用に予約されています。これが本当に問題かどうかは、アプリケーションによって異なります。
REQUEST['page'] (for either)
「ポスト後リダイレクト」を探しているようですが、display.phpとvote.phpを別々のファイルに分けることをお勧めします。投票は次のようになります。
<*>
サニタイズされていないフォームデータを盲目的に受け入れることは、アプリにとって危険な場合があることに注意してください。
編集:一部の人々は、両方のケースを処理するために$ _REQUESTを使用するのは悪い形だと考えています。危険なのは、POSTを期待しているときにGETを受け取った場合にエラーを通知することです。通常、GETは表示用に予約され、POSTは変更(作成/更新/削除操作)用に予約されています。これが本当に問題かどうかは、アプリケーションによって異なります。
REQUEST['page'];
vote_for_page($page_number); //your voting logic
header('Location: display.php?page=' . $page_number); //return to display.php
「ポスト後リダイレクト」を探しているようですが、display.phpとvote.phpを別々のファイルに分けることをお勧めします。投票は次のようになります。
<*>
サニタイズされていないフォームデータを盲目的に受け入れることは、アプリにとって危険な場合があることに注意してください。
編集:一部の人々は、両方のケースを処理するために$ _REQUESTを使用するのは悪い形だと考えています。危険なのは、POSTを期待しているときにGETを受け取った場合にエラーを通知することです。通常、GETは表示用に予約され、POSTは変更(作成/更新/削除操作)用に予約されています。これが本当に問題かどうかは、アプリケーションによって異なります。
GET['page'] (for GET requests)
PHPでは、特別なグローバル配列からリクエスト変数を取得できます:
<*>
「ポスト後リダイレクト」を探しているようですが、display.phpとvote.phpを別々のファイルに分けることをお勧めします。投票は次のようになります。
<*>
サニタイズされていないフォームデータを盲目的に受け入れることは、アプリにとって危険な場合があることに注意してください。
編集:一部の人々は、両方のケースを処理するために$ _REQUESTを使用するのは悪い形だと考えています。危険なのは、POSTを期待しているときにGETを受け取った場合にエラーを通知することです。通常、GETは表示用に予約され、POSTは変更(作成/更新/削除操作)用に予約されています。これが本当に問題かどうかは、アプリケーションによって異なります。
POST['page'] (for POST requests)
PHPでは、特別なグローバル配列からリクエスト変数を取得できます:
<*>
「ポスト後リダイレクト」を探しているようですが、display.phpとvote.phpを別々のファイルに分けることをお勧めします。投票は次のようになります。
<*>
サニタイズされていないフォームデータを盲目的に受け入れることは、アプリにとって危険な場合があることに注意してください。
編集:一部の人々は、両方のケースを処理するために$ _REQUESTを使用するのは悪い形だと考えています。危険なのは、POSTを期待しているときにGETを受け取った場合にエラーを通知することです。通常、GETは表示用に予約され、POSTは変更(作成/更新/削除操作)用に予約されています。これが本当に問題かどうかは、アプリケーションによって異なります。
REQUEST['page'] (for either)
「ポスト後リダイレクト」を探しているようですが、display.phpとvote.phpを別々のファイルに分けることをお勧めします。投票は次のようになります。
<*>サニタイズされていないフォームデータを盲目的に受け入れることは、アプリにとって危険な場合があることに注意してください。
編集:一部の人々は、両方のケースを処理するために$ _REQUESTを使用するのは悪い形だと考えています。危険なのは、POSTを期待しているときにGETを受け取った場合にエラーを通知することです。通常、GETは表示用に予約され、POSTは変更(作成/更新/削除操作)用に予約されています。これが本当に問題かどうかは、アプリケーションによって異なります。
はい、GETメソッドには、リクエストメソッドに関係なく、常にURLパラメーターが格納されます。次のようなシンプルなページで試すことができます:
<form action="test.php?a=b" method="post">
<input name="a"/>
<input type="submit"/>
</form>
<pre>
POST:
<?php print_r(はい、GETメソッドには、リクエストメソッドに関係なく、常にURLパラメーターが格納されます。次のようなシンプルなページで試すことができます:
<*>POST); ?>
GET:
<?php print_r(はい、GETメソッドには、リクエストメソッドに関係なく、常にURLパラメーターが格納されます。次のようなシンプルなページで試すことができます:
<*>GET); ?>
</pre>