PHP Post vars to third party

时间:2012-07-24 19:21:15

标签: php post

我正在尝试在php中获取一些变量,并将用户重定向到第三方网站,并将变量作为post vars发送。我知道使用cookie可能会更容易,但第三方已经设置好处理帖子。有没有人对如何做到这一点有任何建议?

5 个答案:

答案 0 :(得分:2)

您可以使用几种技巧。一个是迭代POST变量并添加到表单并使用Javascript onLoad重新提交表单。

<html>
    <body onload="document.forms[0].submit()">
        <form action="new-location.php" method="post">
            <?php foreach( $_POST as $key => $val ): ?>
                <input type="hidden" name="<?php echo htmlSpecialChars( $key, ENT_COMPAT, 'UTF-8' ) ?>" value="<?php echo htmlSpecialChars( $val, ENT_COMPAT, 'UTF-8' ) ?>">
            <?php endforeach; ?>
        </form>
    </body>
</html>

另一个选择是使用PHP和cURL并将数据发送到远程站点:

url_setopt($ch, CURLOPT_POSTFIELDS, $_POST);

http://www.php.net/manual/en/function.curl-setopt.php

答案 1 :(得分:1)

在PHP页面中,使用cURL打开与第三方网站的连接并使用此功能:

curl_setopt($Curl, CURLOPT_POST, 1); 
curl_setopt($Curl, CURLOPT_POSTFIELDS, 'field1=allo&field2=fsdfsd');

第三方将收到请求,同时还有一个真正的POST请求。您还可以从第三方网站上阅读答案。

答案 2 :(得分:0)

需要从用户浏览器发送帖子。一种常见的方法是使用一个中间页面,其中包含一个隐藏输入元素的表单,其中包含您要发布的变量,然后使用Javascript在加载时自动提交表单。

答案 3 :(得分:0)

一些谷歌搜索表明除了可怕的形式之外,cURL是要走的路。我不是专家,但是这个链接http://www.electrictoolbox.com/php-curl-form-post/和php cURL参考应该会有所帮助。

答案 4 :(得分:0)

信息不足,但也许您可以借助javascript(jQuery)

使用表单发送
<script>
$(function(){
    $('#form').submit();
});
</script>
<form action="external.url/page.php" action="post" id="form">
<input type="hidden" name="variable" value="value" />
</form>