会话数组元素以某​​种方式被覆盖

时间:2011-04-30 22:08:59

标签: php session

我正在研究PHP应用程序的问题。由一些元素组成的主页具体处理登录表单。在该文件/元素中,如果按下登录按钮,我尝试登录。如果数据库中没有这样的用户或没有插入信息(这是相同的方式)我在会话数组中设置特定键的特定值直到应用程序结束时,我var_dump数组$_SESSION才能看到它的内容。直到应用程序结束一切都很好,但是在页面第一行后再次加载session_start I var_dump $_SESSION数组时,在页眉中,此特定索引已具有不同的值。我无法理解它的设置。

很抱歉,对于非代码说明,但由于它是商业应用程序,我无法提供任何代码。

更新

index.php - 第一行
require_once( dirname( __FILE__ ) . '/header.php' );

header.php - 第一行 session_start();
var_dump( $_SESSION );

loginForm.php - 设置值的位置 $_SESSION['lverifier'] = 3;
var_dump( $_SESSION );

index.php - 最后一行
require_once( dirname( __FILE__ ) . '/footer.php' );
var_dump( $_SESSION );

1 个答案:

答案 0 :(得分:1)

您必须在之前发布session_start() 才能访问会话变量:

  

当访问者访问您的网站时,PHP会自动检查(如果session.auto_start设置为1)或您的请求(明确地通过session_start()或隐式地通过session_register())是否具体会话ID已随请求一起发送。如果是这种情况,则重新创建先前保存的环境。

[source]