重複の可能性:
URL から取得したデータをポスト変数に変換するには
$_GET 配列でいくつかの値を受け取りました。ユーザーを別の PHP ファイルにリダイレクトしたいのですが、GET 配列のすべての値を POST リクエストとしてそのファイルに送信する必要があります。これは可能ですか? どうやって?
重複の可能性:
URL から取得したデータをポスト変数に変換するには
$_GET 配列でいくつかの値を受け取りました。ユーザーを別の PHP ファイルにリダイレクトしたいのですが、GET 配列のすべての値を POST リクエストとしてそのファイルに送信する必要があります。これは可能ですか? どうやって?
はい、curl を使用してこれを行うことができます。
curl_setopt($ch, CURLOPT_POST, true);
あなたが必要とするものです。
Curl ライブラリを使用します。ここでサンプルを見つけることができます。
ブラウザに代わって投稿リクエストを行うことはできません。したがって、ユーザーを他のファイルにリダイレクトすることはできず、それが POST 要求であると期待されます。
Arcadien が言ったように、Curl を使用して POST リクエストを作成できますが、リクエストはサーバーからサーバーに送信されるため、ユーザーは何も気付かないでしょう。
実際のリダイレクト (ユーザーのブラウザーが実際に宛先 URLをロードする場所) を行う場合は、javascript を使用するのが最もクリーンな方法だと思います。基本的な考え方は、自己提出フォームを作成することです。すべての get 変数を input type="hidden" としてフォームに事前入力し、それを送信するための小さなアンロード ハンドラーを記述します。
ユーザーエージェントが新しい URL をロードすることを気にせず、他のファイルがサーバー上にあるが、GET ではなく POST でそれらの変数を期待しているだけの場合は、値をコピーしてファイルを含めることができます$_POST = $_GET;