2011-10-04 164 views
0

我試圖控制會話是否開始,並根據它進行重定向,並檢查會話時間,如果它已過期重定向,如果不是 - 繼續。無法讓會話正常工作

我有兩個頁面:

在一個頁面,用戶最初進入了會議並沒有被設定,我有這樣的代碼:

session_start(); 
$_SESSION['timeout'] = time(); 
header('Location: index.php'); 

第二頁我有這樣的:

$inactive = 600; 
if(isset($_SESSION['timeout'])) { 
    $session_life = time() - $_SESSION['timeout']; 
    if($session_life > $inactive) 
     { session_destroy(); header("Location: intro.php"); } 
} 
else { header("Location: intro.php"); } 

它仍然帶給我的第一頁(intro.php)

什麼是錯的智慧我的代碼在這裏?

順便說一句...而不是$ session_life> $ inactive時重定向我想更新會話,以便會話永不過期。有小費嗎?

回答

3

您必須在每個計劃使用會話的頁面中撥打session_start()

所以,只需在你的第二頁上添加一個session_start()(記得在回顯任何輸出之前這樣做),你應該沒問題。

+0

- 我在第二頁上添加了session_start(),但它不起作用。然後,我檢查第二頁,如果會話['超時']設置我想回聲smth,它不回聲。所以也許sessionp ['timeout']沒有設置,或在某處丟失...任何想法? – mrGott