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');

ユーザーがログインした後、ユーザーデータをセッションuserdataに保存します

$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 

セッションuserdataを取得します。

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

セッションの使用からuserdetailsを破棄します。

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

セッションについてもっと読みたい場合は、これを読んでください。

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

于 2012-12-28T11:12:44.597 に答える