【问题标题】:PHP: getting session variable from included file [closed]PHP:从包含的文件中获取会话变量[关闭]
【发布时间】:2013-01-05 21:31:45
【问题描述】:

我想知道这是否有问题?

我正在包含一个具有会话变量的文件,但我试图从包含的文件中获取该会话变量,但它没有通过?

index.php

<?php 
session_start();
session_regenerate_id();
ob_start(); // Initiate the output buffer
include("file.php");
echo $_SESSION['name'];
?>

文件.php

$_SESSION['name'] = "Andrew";

我的index.php 文件没有回显任何内容。

谢谢

【问题讨论】:

  • 我忘了说我在index.php的开头添加了session_start
  • 希望您也忘记将&lt;?php 添加到file.php 的开头,这让我明白您在此处发布的代码非常好。不是问题。我们现在可以结束您的问题了吗?
  • 实际上,我想出了我的答案。我想关闭它
  • @andrewliu:在下面添加答案并接受它。您发布的代码也对我有用:codepad.viper-7.com/HLb9h8 - 这正是我的意思。
  • 它有效,如果你知道答案并且如果它在下面,那么请接受它

标签: php session include session-variables


【解决方案1】:

添加

session_start();

在文件的开头

并添加

<?php

到文件.php

因为没有

<?php

file.php 被读取为 html

【讨论】:

  • 请查看我的更新,我已经在开头添加了我忘记提及的内容
【解决方案2】:

您使用SESSION 变量的每个文件都必须包含这个

session_start(); 

在顶部

【讨论】:

  • 请查看我的更新,我已经在开头添加了我忘记提及的内容
【解决方案3】:

创建文件 bootstrap.php(或您选择的任何名称)并在开始时将这个文件包含在其他文件中。在 bootstrap.php 中,您将有两种可能的解决方案:

  1. session_start();

  2. ini_set('session.auto_start', 1);

在文件的开头。你也可以在你的 php.ini 中写这行:

session.auto_start on

尝试删除 session_regenerate_id()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-06
    • 1970-01-01
    • 2017-12-17
    • 2014-08-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-20
    • 1970-01-01
    相关资源
    最近更新 更多