【问题标题】:Redirect post request to get using PHP使用 PHP 重定向 post 请求
【发布时间】:2013-01-25 23:06:35
【问题描述】:

我需要一个 PHP 脚本来获取 POST 请求并将其作为 GET 请求重定向到另一个页面,其中包含 URL 中的所有参数。

这可能吗?

【问题讨论】:

  • 你为什么要做这样的事情?为什么不首先使用 GET?
  • 因为发出请求的应用程序不是我的,所以我无法更改。
  • 但是您至少拥有接收请求的应用程序,不是吗?那么为什么需要将用户重定向到别处呢?

标签: php http post get


【解决方案1】:

您可以使用函数http_build_query()$_POST 生成 GET 查询字符串。

然后将其附加到重定向 URL 并使用 header() 和 Location 进行重定向,例如:

$newURL = 'http://example.com/script.php?' . http_build_query($_POST);
header("Location: {$newURL}");

【讨论】:

    【解决方案2】:
    $URL = "http://thatpage.com/thatpage.php?";
    foreach($_POST as $key=>$value) {
        $URL +="$key=$value&";
    }
    

    然后打开那个 $URL 页面

    【讨论】:

    • 与我的解决方案相同;)您不需要迭代和连接字符串,只需使用内部函数即可。
    • @JensPeters,可能是,是的。
    【解决方案3】:

    您需要解析 $_POST 变量以创建完整的 GET URL

    这个问题可以帮助你解析 $_POST 数组 PHP Parse $_POST Array?

    【讨论】:

    • 这样的? foreach($_POST as $name=>$value) { $params=$params. “&”。 $名称。 “=”。 $价值; }
    【解决方案4】:

    类似:

    foreach($_POST as $k => $v)
    {
        $getString .= $k . '=' . $v . '&';
    }
    

    应该以正确的格式格式化 POSTed 变量。

    【讨论】:

    • 糟糕,错过了! ;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多