2012年12月10日 星期一

CodeIgniter 真正的使用session存取資料


應該不少人知道CI的$this->session其實他走的cookie。
雖然有聽說未來的3.0版有可能會還原成真實的session。
但是在那之前,我們也許會希望不要受到cookie的容量限制。
以及安全的使用session。
下面這份code,就將他存成psession.php並放在libraries目錄下。
然後設定autoload即可。
使用方式就只是改成$this->psession。
他的用法和原本的$this->session功能是一樣的。
檔名:psession.php
===================================================
<?php
class psession {
    
    function __construct(){
        if(!session_id())
            session_start();
    }
    
    function set_userdata($sessionName,$sessionValue){
        $_SESSION[$sessionName] = $sessionValue;
    }
    
    function userdata($sessionName){
        if(isset($_SESSION[$sessionName]))
            return $_SESSION[$sessionName];
        return FALSE;
    }
    
    function unset_userdata($sessionName = FALSE){
        if($sessionName == FALSE){
            session_destroy();
            return TRUE;
        }
        if(isset($_SESSION[$sessionName])){
            session_unset($sessionName);
            return TRUE;
        }
        return FALSE;
    }
}

?>

===================================================

沒有留言:

張貼留言