2012-03-21 47 views
0

我使用$_SESSION创建一个登录系统,它之前的工作,但我因为现在,它不起作用修改的东西...

在login.php中,我得到的与$_POST值:

$_SESSION['id'] = $_POST['id']; 

和后,我用头(Header("Location: panel.php");)检查重定向如果存在一些$_SESSION['id']

if(isset($_SESSION['id'])) 

,当重定向到本页时,$_SESSION上的值为空...

我没有使用session_destroy来做到这一点,有人可以帮助我吗?

PS:我调用session_start()中的所有页面,收录panel.php

+1

你是否记得使用session_start()? – j08691 2012-03-21 15:26:24

+1

您必须调用'panel.php'顶部的'session_start()'以及最初设置会话变量的脚本。 – 2012-03-21 15:27:11

+0

我使用<?php ob_start(); @session_start; ?>在所有页面中... – 2012-03-21 15:31:09

回答

4

你必须每个PHP页面上初始化会话。与session_start()

定义session_start()在每个想要使用会话变量的php页面的顶部。否则会话变量将不起作用

+0

我使用<?php ob_start(); @session_start; ?>在所有页面中... 当我返回登录页面时,没有任何$ _SESSION注册... $ _SESSION仅存在于页面login.php – 2012-03-21 15:39:00

+0

中,它不是@session_start。将函数名更正为'session_start();' – 2012-03-21 15:47:53

+0

我在呼叫帮助之前初始化会话,而不是工作。 – 2012-03-21 15:56:42