PHP-将表单数据从一个脚本发送到另一个脚本

PHP-将表单数据从一个脚本发送到另一个脚本,php,forms,redirect,curl,send,Php,Forms,Redirect,Curl,Send,我有一个表单将POST数据发送到PHP脚本。处理后,我使用标题(位置:'thankyou.htm”)将用户重定向到感谢页面 我想做的是让PHP脚本将所有表单数据发送到另一个PHP脚本进行进一步处理。如果我在一个脚本中完成所有操作,则由于使用另一个服务器执行PING/POST,需要花费很长时间(7-12秒以上)。请参见下图。 我该怎么做 $email = $_REQUEST["email"]; $name = $_REQUEST["f_name"]; $website = $_REQUEST["

我有一个表单将POST数据发送到PHP脚本。处理后,我使用
标题(位置:'thankyou.htm”)
将用户重定向到感谢页面

我想做的是让PHP脚本将所有表单数据发送到另一个PHP脚本进行进一步处理。如果我在一个脚本中完成所有操作,则由于使用另一个服务器执行PING/POST,需要花费很长时间(7-12秒以上)。请参见下图。

我该怎么做

$email = $_REQUEST["email"];
$name = $_REQUEST["f_name"];
$website = $_REQUEST["website"];
PS-Script2在外部服务器上执行PING操作以验证数据…这需要很长时间。在这过程中,页面正在为用户“加载”…这看起来很糟糕

PSS-我不是程序员-所以我在这里寻求帮助。请提供一些简单的“示例代码”,说明如何将$name、$email和$website从脚本1发送到脚本2

谢谢大家的帮助

PS3为什么要否决这个问题?这是一个合理的问题……我甚至花了30分钟制作了这个图表……:(

您可以在script1中创建一个curl请求,并将数据发送到script2。转发数据后,您可以将用户重定向到Thankyu.htm

您可能希望添加一个图形,让用户知道他们的请求正在被处理(从UI/可用性的角度)



您可以使用include:
include('script2.php')在另一个脚本中运行一个脚本再次阅读,我相信你的问题是时间,而不是功能。对吗?@kainaw-这将使script1从script2执行代码…我想将它们分开以加快速度…而不是包括我可以从script2复制/粘贴代码…不使用AJAX,PHP是“线性的”“。您需要以某种方式将script2和Thankyu结合起来。您可以在Thankyu页面的末尾、开头或Thankyu页面之前包含script2。它是一个需要很长时间才能运行的“大”脚本吗?如果不是,那么只需使用
require_once'script2.php';
(请注意,“谢谢”可能需要是Thankyu.php)仅供参考,更多的上下文是有帮助的。script2做什么?需要很长时间吗?您提到“加快速度”。你在加速什么?@cale_b问题是script2需要7-12秒才能运行。他不想让用户等待。我刚才试图理解cURL,但对我来说没有意义-我不是程序员。你能提供简单的“示例代码”吗如何使用cURL将$name、$email和$website从脚本1发送到脚本2?感谢您的代码-我将继续测试它。在脚本2中-我如何“接受”或“接收”这些变量?与脚本1中相同?
$email=$\u请求[“email”]
…再次感谢这可能需要同样长的时间,因为curl不是异步的,curl\u multi是异步的,但我还没有使用它。有一个示例说明如何异步调用两个curl请求。您可能也会这样做,但会删除一个请求,并让代码运行得更快。是的,它应该接收到与scrip中相同的请求t 1.因此,我根据您的脚本设置了“进一步处理”,并且没有得到
($server\u output==“OK”)
…这是我的脚本2代码(基本上是为了测试它将变量写入CSV文件:
$email=$$$REQUEST[“email”];$name=$REQUEST[“f\u name”];$name=$REQUEST[“f\u name”];$handle=fopen(“emaillist.CSV”,“a”);fputs($handle、$name.'、'$email.'、'.$website.PHP_EOL);fclose($handle);
作为$server_输出返回的是什么?
<?php
// initialize cURL
$ch = curl_init();

// set the options
curl_setopt($ch, CURLOPT_URL,"http://www.myurl.com/script2.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,
            http_build_query(array('name' => $name, 'email' => $email, 'website' => $website)));

// receive server response ...
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// execute the curl request
$server_output = curl_exec ($ch);

// close it
curl_close ($ch);

// further processing ....
if ($server_output == "OK") {
    //redirect to thankyou.htm
} else {
    //tell the user what went wrong, or something.
}

?>