ホームページ  >  記事  >  バックエンド開発  >  PHP を使用して POST 経由で外部 Web サイトにデータを送信するにはどうすればよいですか?

PHP を使用して POST 経由で外部 Web サイトにデータを送信するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-27 05:09:031084ブラウズ

How can I send data via POST to an external website using PHP?

PHP での POST 経由のデータのリダイレクトと送信

PHP では、ユーザーを外部にリダイレクトする必要がある状況が発生することがあります。 Web サイトにアクセスし、POST 経由でその Web サイトにデータを渡します。 HTML フォームとは異なり、PHP はこの動作をネイティブにサポートしません。

GET と POST

Web 開発では、ソースからデータを送信するための主な方法が 2 つあります。宛先へ:

  • GET: データはクエリ パラメータとして URL に追加され、ブラウザのアドレス バーに表示されます。
  • POST: データはユーザーから隠されて送信されます。

PHP では、ヘッダー関数を使用して GET 経由でデータを送信する簡単な方法が提供されています。例:

<code class="php">header('Location: http://www.provider.com/process.jsp?id=12345&name=John');</code>

PHP による POST

ただし、PHP は、外部ライブラリやブラウザーの操作に依存せずに POST 経由でデータを直接送信することはできません。考えられるアプローチの 1 つは、cURL ライブラリを使用して POST リクエストを行うことです。ただし、これには PHP コードがクライアントとして機能する必要があり、これは必ずしも望ましいことではありません。

代替ソリューションとしては、PHP を使用して HTML フォームを動的に生成し、必要なデータをそれに入力し、JavaScript 経由で送信します。このアプローチにより、PHP でリクエストを直接処理せずに POST を活用できます。次のコードは、この概念を示しています。

<code class="php">// Generate HTML form with hidden fields
$html = '<form action="http://www.provider.com/process.jsp" method="post">';
$html .= '<input type="hidden" name="id" value="12345">';
$html .= '<input type="hidden" name="name" value="John">';
$html .= '<script>document.onload = function() { document.forms[0].submit(); }</script>';</code>

このコードは、ページの読み込み時に指定された URL に自動的に送信される HTML フォームを作成します。この方法はブラウザのサポートに依存していますが、PHP からの POST データ送信が可能になります。

以上がPHP を使用して POST 経由で外部 Web サイトにデータを送信するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。