1

2 つの別々の URL に送信する必要があるフォームがあります。1 つはデータを保存する Google スプレッドシートで、もう 1 つはオフサイトの ASP フォーム ハンドラー スクリプトです。フォーム アクションをいずれかの URL に設定すると、完全に機能します。ただし、両方の URL に送信してから、単純な success.html ページにリダイレクトする必要があります。それらが外部スクリプトでない場合は、AJAX を使用して簡単に実行できますが (記事を参照)、クロスドメインの問題があるため、それはオプションではありません。これが私のコードです:

<form name="apply-now-form" action="somescript.php" method="POST" id="apply-now-form"   class="apply-now-form">
   <label class="form-label" >Full Name</label>
     <input name="FirstName" id="FirstName" type="text">
     <input name="LastName" id="LastName" type="text" >
   <label>Phone Number</label>
     <input name="ResidencePhone" id="ResidencePhone" type="text" > 
   <label>Email Address</label>
     <input name="EmailAddress" id="EmailAddress" type="email" >
</form>

ASP スクリプトは成功のリダイレクトを処理するので、その 1 秒後に送信する必要があると思います。cURL などを使用して、変更されていないフォーム データを PHP を使用して複数の URL に送信する方法はありますか? または、それがオプションの場合はJavascriptですか?ありがとう。

4

2 に答える 2

1

これは CURL で実行できます。

1- Create the data array and serialize it:

$fields = array( $k => $v,...);

 foreach ($fields as $key => $value) {
        $fields_string .= $key . '=' . $value . '&';
    }
 rtrim($fields_string, '&');

2- データを Google に送信します。

  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, 'http://googlesite');
  curl_setopt($ch, CURLOPT_POST, count($fields));
  curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  $result = curl_exec($ch);
  curl_close($ch);

3- データを ASP に送信します。

  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, 'http://aspweb');
  curl_setopt($ch, CURLOPT_POST, count($fields));
  curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  $result = curl_exec($ch);
  curl_close($ch);

4-リダイレクト

 header('Location: http://successpage')

それだけだと思います。

于 2012-11-05T22:51:35.447 に答える
0

あなたはそれに名前を付けました... curlを使用する必要があります! 開始するのに適した場所は、PHP cURL マニュアルです: http://php.net/manual/en/book.curl.php

于 2012-11-05T22:44:09.253 に答える