【问题标题】:Posting variables from PHP to another PHP without page redirect在没有页面重定向的情况下将变量从 PHP 发布到另一个 PHP
【发布时间】:2011-10-25 08:44:31
【问题描述】:

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

【问题讨论】:

    标签: php post redirect


    【解决方案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-Data 发送到此脚本,它将发送到 http://www.example.com/Target.php

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

    编辑:

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

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

    这样做后,您必须更改上面示例中的行:

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

    需要改成

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

    【讨论】:

    • 如何检索 Target.php 中的变量?我可以做一个 $_REQUEST['target'] 但是对于变量名 'target' 我应该用什么替换它?
    • 我明白了。所以如果我没记错的话,我在$curlHandler = curl_init();之前声明所有的POST变量?
    • 是的,但是看我上次的编辑,没有必要将它填入 $_POST ;-)
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      您可以使用php curl function 将您的变量发布到另一台服务器

      【讨论】:

        【解决方案4】:

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

        【讨论】:

        • 是的。但在这里我试图将变量从我的 PHP 传递给另一个。我没有使用 javascript
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-05
        • 1970-01-01
        • 1970-01-01
        • 2014-09-24
        • 1970-01-01
        相关资源
        最近更新 更多