我有一個PHP網站,我維護,我已經證實,這工作在一個點。
我們有一個網站利用登錄系統,它將登錄的用戶信息存儲在$_SESSION['user']
變量中。當點擊/logout.php時,該網站用於註銷用戶,該用戶基本上刪除了該部分的會話,然後header()
重定向到主頁。
截至最近,/logout.php文件與session_start()
在頂部不知何故沒有看到會話信息時print_r()
用來輸出它用於調試目的。
如果我轉到另一個頁面,我會看到會話信息很好,但不在註銷頁面......這正是我無法刪除會話信息的原因,因爲它無法訪問。
我以爲$_SESSION
是全球網站,直到瀏覽器被關閉。我從來沒有遇到過這種情況,並且我知道會話實例是在這個頁面上啓動的,所以很奇怪它沒有向我顯示會話數據。
任何想法?我完全沉迷於這一個!
代碼:/logout.php
<?
#session_start() is inside this file
require_once($_SERVER['DOCUMENT_ROOT'].'/includes/config.php');
unset($_SESSION['user']);
header("location: /");
exit();
?>
的$_SESSION['user']
的檢查是站點範圍和需要不同的東西,當我打電話給其下的各種項目。其他人建立了這個網站,我試圖調試爲什麼它突然沒有爲他們工作。
僅供參考 - 我可以正確地看到此logout.php頁面上的其他環境變量,如$ _SERVER []和其他。由於某種原因,我似乎無法訪問$ _SESSION []變量。這真的很奇怪。 – 2010-03-02 02:12:31
可以提供用於session_start()(以及周圍)的代碼,以及訪問$ _SESSION ['user']以用於工作和非工作(logout.php)頁面的代碼嗎? – 2010-03-02 02:13:17