1

我有一个需要提交到两个单独 URL 的表单:一个是用于存储数据的 Google 电子表格,另一个是非现场 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 脚本处理成功重定向,所以我认为它应该被提交到那一秒。有没有办法使用 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 回答