PHP如何将数据发送到另一个带有标题的页面(重定向)

PHP如何将数据发送到另一个带有标题的页面(重定向),php,request,session-variables,Php,Request,Session Variables,在我的网站中,索引将重定向到一个控制器,该控制器将访问DAO,并需要在变量中设置数据以显示在视图中。如何设置这些数据?美元会议是最好的方式吗 我尝试了$\u请求,并提出以下建议: (Index.php) 您回答了自己的问题,$\u会话会更好 您还可以按此处所述取消设置所有$\u会话变量 如前所述,变量是您正在寻找的解决方案。重要的是要包括session_start()位于需要访问会话变量的每个PHP页面顶部。看看这一点,这将有助于解决您的问题: Index.php <?php $_REQU

在我的网站中,索引将重定向到一个控制器,该控制器将访问DAO,并需要在变量中设置数据以显示在视图中。如何设置这些数据?美元会议是最好的方式吗

我尝试了$\u请求,并提出以下建议:

(Index.php)


您回答了自己的问题,$\u会话会更好

您还可以按此处所述取消设置所有$\u会话变量

如前所述,变量是您正在寻找的解决方案。重要的是要包括
session_start()
位于需要访问会话变量的每个PHP页面顶部。看看这一点,这将有助于解决您的问题:

Index.php

<?php
$_REQUEST['test'] = "TEST!!!!";
$redirect = "controllers/controllerIndex.php";
header("location:$redirect");
<?php
    session_start();
    $_SESSION['test'] = "TEST!!!!";
    $redirect = "controllers/controllerIndex.php";
    header("location:$redirect");
    exit();
?>

Controller.php

<?php
    session_start();
    echo $_SESSION['test'];
    ...
?>

使用
$\u SESSION
可能是最好的解决方案,但另一个选项是只需将参数添加到
头()
url中,它们将在$\u GET数组中传递

$redirect = "controllers/controllerIndex/test";
header("location:$redirect");
或者没有框架概念

header("Location: xxx.php?test");

您需要会话,而不是
$\u请求
您可以使用$\u会话,只要确保启动会话,就像Fred建议的那样,使用会话。或者,如果您不想泄露Cookie(嘿嘿),请添加一个查询字符串并使用
$\u GET
,具体取决于您发送的数据,您需要使用会话,或者只需将数据附加到URL。。。e、 g.
$redirect=“controllers/controllerIndex.php?test=test!!!!
然后使用
$\u GET['test']
。您最好使用会话。搜索并替换
$\u session
$\u sessionn
=>
$\u session
-必须使用大写。否则,将引发未定义的
$\u变量通知。
$redirect = "controllers/controllerIndex/test";
header("location:$redirect");
header("Location: xxx.php?test");