2つの異なるサーバーがあり、あるサーバーから別のサーバーに投稿データを送信する必要があります。ただし、以下で説明する問題がいくつかあります。まず、それらについて説明します。
- Linux上で実行されているApache+PHPを使用する最初のサーバー。
- 2番目のサーバーはIISを使用しており、Windowsで実行されています。PHPがインストールされています。
さて、これが私がやろうとしていることです:
- 私の最初のサーバーでは、ユーザーがフォームに入力して、同じサーバー内のファイルに送信します。
- そのファイルで、ユーザーが入力したデータを処理し、ユーザーを2番目のサーバーのページにリダイレクトします。このリダイレクトは、POSTリクエストとしてのデータ処理の結果と一致する必要があります。
- まだ私の秒サーバーで、私のユーザーは彼のクレジットカード情報を入力し終えます。その後、支払いを処理します。
- (IISサーバーで)支払いの処理が完了したら、POSTデータ(支払い処理の結果)を追加して、ユーザーを最初のサーバーの別のファイルにリダイレクトします。
ただし、フォームを「エコー」して再度送信せずにユーザーをリダイレクトする方法はわかりません。
私はこのテーマについて多くのことを読み、apacheにcURLを使用して、またはstream_context_create
andを使用して投稿データを送信stream_get_contents
させ、結果を取得することができました。ただし、私がやりたいのは、リクエストをディスパッチして結果を表示するのではなく、投稿データとともにユーザーをリダイレクトすることです。
これはこの質問の複製ではありません。q0987のようにファイルが同じサーバーにないため、ユーザーのセッションにデータを保存できません。
また、関数は応答ヘッダーのみを作成するheader
ため、関数を使用してリクエストを行うことはできません。header
IISサーバーにライブラリ(cURL / libcurlなど)をインストールするための十分な権限がありません。IISのみがVISAnetライブラリへのアクセスを許可されているので、最初のサーバーで支払いを処理できません。また、IISにすべてを配置することはできません。
私はPHPでそれを達成しようとしていますが、私がやろうとしていることが可能かどうかさえわかりません。
ユーザーの履歴(および戻るボタン)が台無しになるため、フォームを書き留めて送信したくありません。