2011-06-10 11 views
0

私はこれが初めてです。私はちょうどカールを発見した。 私は何かが欠けているように見えます。PHP CURLフォーム提出後にターゲットURLに移動

ここにそのアイデアがあります。

  1. HTMLページには、ユーザーが[サブミット]をクリックした後にPHPファイル(order.php)にPOSTする非表示フィールドが1つあるフォームがあります。

  2. order.phpは、異なるPHPファイル(ordercheck.php)

  3. ordercheck.phpがポストされたデータを使用する他のパラメータや投稿それらの束を生成します。

これはほとんど動作します。

しかし、問題は、ブラウザがまだアドレスフィールドにorder.phpを表示していることです。

order.phpがPOSTされた後、ブラウザがordercheck.phpに移動する方法はありますか?

最終的に、私はorder.phpから別のサーバー(paypalのwebscr)に移動したいので、単にデータを処理するだけでは十分ではありません。実際にデータを投稿して、新しいURLに移動する必要があります。通常のフォーム送信の場合と同じです...

お願いします!

答えて

2

yesが単にIdはおそらくカール要求が成功したことを確認するためのチェックは、ユーザーをリダイレクトするPHPコードの中にヘッダを追加しますので

header("Location: newPage.php"); 

のようなカール要求した後、リダイレクトを追加します。

あなたのカールの要求が$ chのような変数で初期化されるならば、ちょうどsomethignなどを行います。

if ($ch){ 
    header("Location: newPage.php"); 
} 

これはカールリクエストが真reutrnedと完了を確認してくださいウィル。

+0

ありがとうございます。しかし何らかの理由で、ヘッダ情報を変更できません - すでにorder.phpによって送られたヘッダです。エラーは、ordercheck.phpの出力後に表示されます(基本的に$ _POSTの値をエコーし​​ます) – unomyname

+0

あなたはこれをどうやって行うことができるか考えています。あなたが理想的な方法ではないにもかかわらず本当の迅速な修正が必要な場合は、フォームに移動したいページにメタリフレッシュタグを置くことができます。しかし、次のように:http://www.pageresource.com/html/metref.htmしかし、私はよりスリックな方法を考えることができるかどうかを確認するだろう – azzy81

+0

それについて考えると、ヘッダーがすでにメッセージが送信されている可能性があります設定または設定されていないこのページを参照してくださいhttp://php.net/manual/en/function.curl-setopt.php – azzy81

関連する問題