$ _SESSION不会在不同页面上获取数据

时间:2012-10-19 13:18:06

标签: php session

出于某种原因,我无法使用$_SESSION - 变量将某个日期从一个页面转到另一个页面。

在我的index.php页面上是一个用户可以登录的表单 我从(session_start()文件中的inc_admin.php)开始:

require_once '../includes/php/inc_admin.php';

if ($_GET['page'] == 'login') {
    $action = loginUser($_DB, $_POST['firstname'], $_POST['password']);
}

if(isset($_SESSION["user"])) {
    $action .= header('Location: ../admin/index.php');
}

echo $action;

loginUser - 函数确实设置了$_SESSION

$user = Leaders::getLogin($_DB, $firstname, $password);
if(!empty($user)) {
    $_SESSION["user"] = $user;
}

并且应该如此,当用户使用正确的数据提交表单时,他将被重定向到../admin/index.php页面。但是,如果我选择var_dump($_SESSION),该页面会告诉我此变量为NULL

我还需要做些什么才能确保使用$_SESSION

在网页上传输数据

3 个答案:

答案 0 :(得分:2)

每个页面都需要以

开头
session_start();

它恢复以前创建的会话

答案 1 :(得分:1)

确保每次重新加载页面时都在某处调用session_start(),否则服务器将无法获取会话详细信息。

答案 2 :(得分:0)

调用“ session_start();”在页面上的任何输出之前(甚至在发送任何Header()之前)。最好将它放在页面的最顶层。