2012-03-21 109 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