1

一旦用户登录 - 我希望我的所有模型都知道用户的 ID。(即使他们稍后被调用)。

我考虑过使用静态变量,但它似乎不起作用

class Base_model extends CI_Model {
    static protected $user_id;
}

class Log_in_model extends Base_model {
    public function log_in(){
        self::$user_id = 69;
    }
}

class A_model extends Base_model {
    public function do_A(){
        echo self::$user_id;
    }
}

class B_model extends Base_model {
    public function do_B(){
        echo self::$user_id;
    }
}
4

1 回答 1

0

初始化会话

$this->load->library('session');

用户登录后,将用户数据保存在会话用户数据中

$newdata = array(
               'username'  => 'USERNAME',
               'email'     => 'EMAIL',
               'user_id'   => 'USERID',
               'logged_in' => TRUE
           );

$this->session->set_userdata('userdetails',$newdata);   //setting data in session with a name userdetails 

获取会话用户数据..

 print_r($this->session->userdata('userdetails'));  //get userdetails from session

从会话使用中销毁用户详细信息..

$this->session->unset_userdata('userdetails'); 

如果您想了解更多关于会话的信息,请阅读此..

http://ellislab.com/codeigniter/user-guide/libraries/sessions.html

于 2012-12-28T11:12:44.597 回答