如何在php中将表单变量发送到多个URL(cURL?)

如何在php中将表单变量发送到多个URL(cURL?),php,curl,Php,Curl,我似乎在尝试将表单变量提交到多个URL时遇到了问题。 下面的代码从表单中获取变量并将其存储在php中,然后我尝试将这些变量发送到某些URL(这些变量确实可以通过,我已经测试过了)。我听说cUrl是一种方法,但我不知道它的工作原因是否是我在如何检索响应代码上遇到了难题 <?php $name = $_POST['firstname']; $email = $_POST['email']; $src = $_POST['srcUrl']; $ip= $_SERVER['SERVER_ADDR

我似乎在尝试将表单变量提交到多个URL时遇到了问题。 下面的代码从表单中获取变量并将其存储在php中,然后我尝试将这些变量发送到某些URL(这些变量确实可以通过,我已经测试过了)。我听说cUrl是一种方法,但我不知道它的工作原因是否是我在如何检索响应代码上遇到了难题

<?php

$name = $_POST['firstname'];
$email = $_POST['email'];
$src = $_POST['srcUrl'];
$ip= $_SERVER['SERVER_ADDR'];
$suDate = date('Y-m-d H:i:s');


$data = array(
"fn" => $name,
"src" => $src,
"em" => $email,
"ip" => $ip,
"signupDate" => $suDate
);


$data2 = array(
"firstname" => $name,
"email" => $email,
);

function post_to_url($url, $data) {
$fields = '';
foreach($data as $key => $value) { 
  $fields .= $key . '=' . $value . '&'; 
}
rtrim($fields, '&');

$post = curl_init();

curl_setopt($post, CURLOPT_URL, $url);
curl_setopt($post, CURLOPT_POST, count($data));
curl_setopt($post, CURLOPT_POSTFIELDS, $fields);
curl_setopt($post, CURLOPT_RETURNTRANSFER, 1);

$result = curl_exec($post);

curl_close($post);
}



post_to_url("http://exampleURL.com/page.php", $data);
post_to_url("http://exampleURL2.com/cgi-bin/add.cgi", $data2);



print_r($result);


?>


非常感谢您的帮助。谢谢

在上面提供的代码示例中,$result包含您要查找的响应。要查看变量的完整详细信息,请使用以下命令:

print_r($result);
print\r
在不确定变量的数据类型或可能包含的数据时非常有用<代码>打印\r提供变量的所有可用信息


编辑:同时更改
curl_setopt($post,CURLOPT_post,count($data))
curl\u setopt($post,CURLOPT\u post,1)
CURLOPT\u POST是一个真/假选项()。

在函数中,您有
$result=curl\u exec($POST)
响应就是
$result
数据。因此需要添加
return$return
并使用
$response=post_to_url(…)调用函数并回显响应。

嗨,我已经包括了“打印($result);”为了得到回应,但还是什么都没有显示。我已经更新了代码以反映更改,包括提交到第二个url。它还能用吗?谢谢你的邀请help@DavidMaldonado如果它仍然是空的,那么你不会得到回应。尝试将CURLOPT_POST设置为1,而不是count()。这非常有效,谢谢您的帮助。我还有一个随机的问题,我如何通过随机执行一个“post_to_url”函数来为这个脚本添加更多的内容。即,随机点击脚本并执行函数?谢谢你的帮助