2012-04-03 77 views
0

我對CodeIgniter並不陌生,但我不是專業人士......我仍然習慣它。我很想知道是否有人對如何顯示消息表示會話庫殺死非活動會話時超時的消息有任何意見。Codeigniter會話超時消息

我試圖延長session.php文件庫,並補充說:

// Is the session current? 
    if (($session['last_activity'] + $this->sess_expiration) < $this->now) 
    { 
     $this->sess_destroy(); 
     $this->set_flashdata('timeout_message', "Session Timed Out."); // <--added 
     return FALSE; 
    } 

但是我認爲,當返回FALSE和我的控制器重定向到將顯示提示信息的頁面..閃光燈數據擦除。

任何想法?

+1

您試圖在銷燬它之後使用會話功能。 – 2012-04-03 00:52:32

+0

嗯。沒想到這一點。你認爲我可以使用:'$ this-> sess_create()'後跟set_flashdata方法? – WhiskeyMike 2012-04-03 01:02:15

+0

試一試。但是這打破了破壞會議的目的。 – 2012-04-03 02:55:29

回答

0

我認爲你應該對此稍微改變一下。假設你有一些主控制器,其他所有的東西都是爲了運行某些基礎知識而繼承的,那麼你可以添加一個你所需要的方法的版本。每次用戶請求新頁面時,只需運行上面的檢查。如果失敗,您可以銷燬當前會話(或者運行註銷方法,如果有的話),啓動一個新的,設置flashdata消息並重定向回主頁或任何你想要的地方。這當然會開始一個新的會話,但如果用戶已經註銷並且所有寶貴的會話數據已經丟失,那麼肯定沒關係。