Php Codeigniter can';无法从模型中找到set_userdata()
会话库是自动加载的 我的模型:Php Codeigniter can';无法从模型中找到set_userdata(),php,codeigniter,session,Php,Codeigniter,Session,会话库是自动加载的 我的模型: class Login_model extends CI_Model{ function __construct(){ parent::__construct(); } public function validate(){ $username = $this->security->xss_clean($this->input->post('username'));
class Login_model extends CI_Model{
function __construct(){
parent::__construct();
}
public function validate(){
$username = $this->security->xss_clean($this->input->post('username'));
$password = $this->security->xss_clean($this->input->post('password'));
$this->db->where('username', $username);
$this->db->where('password', $password);
$query = $this->db->get('users');
if($query->num_rows == 1)
{
$row = $query->row();
$data = array(
'id' => $row->id,
'first_name' => $row->first_name,
'last_name' => $row->last_name,
'username' => $row->username,
'validated' => true
);
$this->session->set_userdata($data); // ### line 28 ###
return true;
}
return false;
}
}
给出此错误:
致命错误:在中调用未定义的方法会话::set_userdata()
/var/www/codeIgniterTest/_应用程序/models/login_model.php在线
二十八
您是否加载了
会话
库
class Login_model extends CI_Model {
function __construct()
{
parent::__construct();
$this->load->library('session');
}
尝试调试并按检查所有包含的文件
$included_files = get_included_files();
foreach ($included_files as $filename) {
echo "$filename\n";
}
我发现了问题。我创建了自己的会话类,但忘了扩展CI_会话
谢谢你的帮助 确保在配置或当前文件中添加了会话库。您使用的是什么版本的CI?从CI 3(当前的GitHub repo)开始,会话现在是一个驱动程序,而不是一个库。是的,自动加载['libraries']=array('layout','errors','database','session');尝试在
\uu construct()
中加载它,看看是否可以这样工作。。。。调试,就像@pratiknagariya建议的那样。执行var\u转储($this->session)
,如果没有得到任何结果,则不会加载会话库