PHP での POST 経由のデータのリダイレクトと送信
隠しフィールドを含む HTML フォームをオンライン ゲートウェイに送信する必要があるシナリオでは、明示的な HTML フォームを使用せずにそうしたい場合は、PHP がソリューションを提供します。ただし、PHP のみを使用して POST リクエストを処理する場合は、特定の制限に注意することが重要です。
従来の方法: HTML フォーム経由の POST
POST 経由でデータを送信する標準的なアプローチ
<code class="php"><form action="action.php" method="post"> <input type="hidden" name="id" value="12345"> <input type="hidden" name="name" value="John"> <input type="submit"> </form></code>
純粋な PHP による POST (制限事項)
純粋な PHP を使用して POST リクエストを実行することは可能ですが、考慮すべき制限事項です。 PHP だけでは、ブラウザを介さずに POST 経由でデータを直接送信することはできません。代わりに、代替ソリューションに頼る必要があります。
1 つのアプローチは cURL ライブラリを使用することです。これにより、PHP からの HTTP リクエストが有効になり、PHP コードがブラウザではなくクライアントとして効果的に機能します。
<code class="php">$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://www.provider.com/process.jsp"); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, "id=12345&name=John"); curl_exec($ch); curl_close($ch);</code>
外部ライブラリを使用せずに POST を使用することにこだわる場合は、PHP を使用して事前入力フォームを生成し、JavaScript の window.onload フックを利用してフォームを送信することも実行可能なオプションかもしれません。ただし、このアプローチにはブラウザの互換性とセキュリティへの影響を慎重に考慮する必要があります。
以上が従来の HTML フォームを使用せずに PHP で POST データを送信するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。