将变量从PHP发布到另一个没有页面重定向的PHP

时间:2011-10-25 08:44:31

标签: php post redirect

我有2个PHP脚本,一个驻留在服务器A上,另一个驻留在服务器B上。我需要将PHP A通过POST接收的变量传递给PHP B,而不需要重定向页面。我怎么能这样做?

4 个答案:

答案 0 :(得分:1)

您可以使用curl,

$curlHandler = curl_init();

    $curlOpts = array(
            CURLOPT_URL => "http://www.example.com/Target.php",
            CURLOPT_FRESH_CONNECT => true,
            CURLOPT_HEADER => false,
            CURLOPT_POSTFIELDS => http_build_query($_POST, "", "&"),
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_USERAGENT => "MyScript/0.1"
             );
     curl_setopt_array($curlHandler, $curlOpts);

     if (false===($responseString=curl_exec($curlHandler))) {

           exit("0 - No connection to server.");
     }

    echo $responseString;

如果您将POST数据发送到此脚本,它会将其发送到http://www.example.com/Target.php

如果获得$_POST["Foo"] = 10,则会将$_POST["foo"] = 10发送给Target.php。 它使用具有相同名称和值的所有Post变量。

编辑:

如果你想发送一些vars,你可以这样做:

$vars = array("key" => "value", 
              "key2" => "value2",
              ...
             );

完成后,您必须更改上面示例中的行:

CURLOPT_POSTFIELDS => http_build_query($_POST, "", "&"),

需要更改为

CURLOPT_POSTFIELDS => http_build_query($vars, "", "&"),

答案 1 :(得分:0)

通过在PHP脚本中执行POST请求。关于如何做到这一点有很多教程(例如this one)。您只需将POST参数值以这种方式传输到第二台服务器,就不需要页面重定向。

答案 2 :(得分:0)

您可以使用php curl function将变量发布到其他服务器

答案 3 :(得分:0)

你知道jquery吗?它有一种简单的方法来完成你想要的。这很容易学习。请查看此示例http://net.tutsplus.com/tutorials/javascript-ajax/submit-a-form-without-page-refresh-using-jquery/