php – 重定向HTTP表单帖子

前端之家收集整理的这篇文章主要介绍了php – 重定向HTTP表单帖子前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
一点背景:
我在公共网站上有一个表单需要将数据发布到防火墙后面的Apache服务器上.我不想通过互联网直接访问此虚拟主机.

目前这就是我正在做的事情:我的DMZ中有一个IIS服务器,这个IIS服务器是唯一允许通过防火墙访问apache服务器的IP服务器.作为临时解决方案,我使用“应用程序请求路由”设置IIS,通过IIS将Apache框呈现给Internet.

*我想做什么:*有一些方法来捕获然后传递表单,而不必将Apache框呈现给互联网.这里的诀窍是POST将来自互联网上的任何地方,被IIS服务器抓取,然后从IIS服务器中继到apache框.我已经研究过使用PHP / cURL这样做,但我不确定是否
使用这样的东西可以做到这一点:

<?PHP

$todo = "";

while (list($name,$value) = each($HTTP_POST_VARS)) {
$todo.=$name."=".$value."&";
}

$ch = curl_init('http://mylanserver/capture.PHP');
curl_setopt ($ch,CURLOPT_POST,1);
curl_setopt ($ch,CURLOPT_POSTFIELDS,$todo);
curl_exec ($ch);
curl_close ($ch);
?>

有人能指出我正确的方向吗?谢谢.

我包含的第一个语句工作正常,但没有传递在我的表单上有多个选择选项的值.它只是在字段中填充“数组”.我通过这样做纠正了这个问题:
$postParams = file_get_contents("PHP://input"); 


$ch = curl_init('http://mysite/capture.PHP');
curl_setopt ($ch,$postParams);
curl_exec ($ch);
curl_close ($ch);

然后我需要将客户端重定向到“谢谢”页面,我的后端程序正在发送这些数据,但我无法使cURL与它一起工作,我通过执行标头刷新并将值设置为1.像这样:

header("refresh:1;url=http://mythankyoupage");

谢谢您的帮助!

猜你在找的PHP相关文章