Php 模型中的Codeigniter静态变量
一旦用户登录-我希望我的所有模型都知道用户的id。即使以后调用它们 我曾想过使用静态变量,但它似乎不起作用Php 模型中的Codeigniter静态变量,php,codeigniter,logging,model,static,Php,Codeigniter,Logging,Model,Static,一旦用户登录-我希望我的所有模型都知道用户的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 exte
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;
}
}
初始化会话
$this->load->library('session');
用户登录后,将userdata保存在会话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
获取会话用户数据
print_r($this->session->userdata('userdetails')); //get userdetails from session
要从会话中销毁userdetails,请使用
$this->session->unset_userdata('userdetails');
如果你想了解更多有关会话的信息,请阅读此
为什么你不使用会话…?仅仅基于会话数据让用户进入系统不是有安全风险吗?不。您可以使用$config['sess\u encrypt\u cookie']=TRUE来保护它$config['sess_use_database']=TRUE@马说了这一切…: