0

php 无法访问我的 tmp 目录。因此,会话无法真正起作用(而且它们不会),但在这种情况下,它们会出于某种未知原因而起作用。

这是场景,

我有一个页面 index.php 验证用户凭据并设置会话变量并将用户重定向到 panel.php

if($verified)
{
$_SESSION['unid']=$unid;
$wel="Welcome :";
$_SESSION['una']=$user;
$_SESSION['level']=$lev;
$_SESSION['pas']=$pass;
$_SESSION['wel']=$wel;
header("location:panel.php");
}

在 panel.php 我有代码,

<?php
ob_start();
if(session_id()==''){
session_start();
}

if($_SESSION['una'] == "")
{
header("location:index.php");
}

当我通过 index.php 登录时,虽然无法读取会话数据,但 panel.php 会像正常会话一样打开

刷新页面时,会话消失并且页面重定向!

对这种行为有什么解释吗?

PHP V5.3.10

4

1 回答 1

0

您总是需要session_start()在页面开始时调用。它实际上并没有启动一个新会话,而是初始化会话,包括加载会话变量。这通常是您要做的第一件事,而且通常不仅是在您当前的 panel.php 中那样的条件下。

于 2013-06-30T23:22:48.177 回答