0

我尝试将数据从 php 文件传递​​到另一个带有 header 函数的 php 文件。像那样:

header("location:login.php?userName=$username"); 

(该行出现在第一个 php 文件中。)问题是数据出现在第二个 php 文件的 url 中。像 GET。我尝试寻找一些例子但没有成功。我在寻找如何使它像 POST?

4

3 回答 3

7

你不能。如果您重定向,您将始终收到 GET 请求。

一个可能的解决方案(如果目标脚本在同一个域上)是使用 PHP 会话将数据存储在服务器上。

于 2012-05-30T13:44:51.763 回答
5

最初建议使用CURL,我现在认为它可能不是最好的解决方案。如果您只是想在脚本之间保存或传递数据,您可能需要查看 Sessions,它允许您在脚本之间设置和保存数据。

例如:

脚本 1

session_start();

$_SESSION['userName'] = $username;

脚本 2

session_start();

if (isset($_SESSION['userName']))
    $username = $_SESSION['userName'];

echo $username;

这将成功地在两个脚本之间传递 $username 的值。只需将任何变量放入 $_SESSION 数组,它们将在您的脚本中可用。

  • 一定要包括 session_start(); 在每个脚本的顶部
  • 还要查看session_set_cookie_params()以确保您的会话可通过您的域使用和/或不与其他站点的会话冲突。
于 2012-05-30T13:46:10.090 回答
0

您可以使用 PEAR 出色的HTTP_Request2包来发出 POST 请求

于 2012-05-30T13:46:21.187 回答