0

そのため、ユーザーがすべての情報を登録する登録ページがあり、[送信]をクリックすると、フォームのアクションがに設定されaction="Scripts/Insert.phpます。

挿入は、入力されたすべての情報を取得してデータベースに挿入するだけです。その後、私は彼らを彼らが支払うことができる別のサイトにリダイレクトする必要があります。しかし、私はいくつかのデータを次のサイトに投稿する必要があります。セキュリティ上の理由から、セッションではなくPOSTを介して送信する必要があります。必要な情報を内部のpost配列に挿入しようとしましたInsert.phpが、リダイレクトするとpost配列がクリアされました。したがって、Insertは次のようになります。

$gen = new Generator();
$_POST["SITEID"] = 3;

//Validation Key Generator
$_POST["TransactionID"] = $gen->keygen(10);
$_POST["Amount"] = 500;
$salt = "somelongstring";
$_POST["VALIDATION_KEY"] = base64_encode(md5($posting_valKey+$_POST["EXT_TRANS_ID"]+$_POST["AMT"]));

//Use PDO to insert previous page form information into the database

header("Location: www.paymentsite.com/index.jsp");

しかし、私が言ったように、投稿は消去されるので、サイトには何も送信されません。では、ここで投稿データを生成してサイトに送信するにはどうすればよいですか?私は、これらの値を持つ非表示のフィールドを持つhtmlフォームをエコーすることで可能な解決策を考えていましたが、それには2つの問題がありました。

  1. 入力値の変数を使用するにはどうすればよいですか?私はこれを行うことができます:

    echo "<input type='hidden' value="$salt" name='salt'>"
    
  2. 次に、フォームを送信するにはどうすればよいですか?

私の解決策がうまくいかない場合は、PHPから別のWebサイトに投稿する他の方法を教えてください。ありがとう。

4

2 に答える 2

2

cURLを調べましたか?

ユーザーを物理的に別のサイトにプッシュする必要がありますか、それともフォーム情報をそこに送信するだけですか?

外部サイトに投稿する必要がある場合は、非表示のフィールドを使用して必要な情報を渡すことができます。アクションパラメータを受信サイトwww.paymentsite.com/index.jspに変更します

ただし、支払いサイトには基本的な統合チュートリアルがあると思います。そうでない場合は、おそらく使用する価値がありません。

明確にするために、ユーザーは送信ボタンをクリックすると、フォームと非表示フィールドの情報を送信します。アクションポイントを受信サイトに設定すると、自動的に受信サイトに移動します。しかし、それは明らかかもしれないので、私はあなたのサイトの実際のニーズに疑問を投げかけます。最初に自分自身に投稿して、取引記録、参照、または受信サイトに必要なものを作成しますか?それで、あなたは支払いをどの口座に入金するか知っていますか?これは、ページが読み込まれる前に実行できますか?

なぜ最初に自分に投稿するのかわからないと思います。あなたがそれであなたの質問を更新し、おそらくあなたが投稿している支払い処理業者が答えを洗練することができるかもしれません

于 2012-10-25T23:37:59.300 に答える
0

さまざまな可能性があります。そのうちの2つはCurlとPeclです。

詳細:http ://www.lornajane.net/posts/2010/three-ways-to-make-a-post-request-from-php

于 2012-10-25T23:37:38.987 に答える