Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Codeigniter can';无法从模型中找到set_userdata()_Php_Codeigniter_Session - Fatal编程技术网

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)
,如果没有得到任何结果,则不会加载会话库