Codeigniter 会话用户数据不显示管理值

Codeigniter 会话用户数据不显示管理值,codeigniter,Codeigniter,在数据库中我有用户名,密码,id,管理员等,但我的管理员值并没有显示。为什么? 因为您已将其设置为 您可以像在另一个控制器上一样访问它 如果您只需要访问 echo$this->session->userdata('username') 然后你只需要把它设置成 $user_data = array( 'admin' => $admin, 'user_id' => $user_id, 'username' => $username, 'logg

在数据库中我有用户名,密码,id,管理员等,但我的管理员值并没有显示。为什么?

因为您已将其设置为

您可以像在另一个控制器上一样访问它

如果您只需要访问

echo$this->session->userdata('username')

然后你只需要把它设置成

 $user_data = array(
    'admin' => $admin,
     'user_id' => $user_id,
    'username' => $username,
    'logged_in' => true
 );

 $this->session->set_userdata($user_data);
确保您有自动加载的会话,以便可以通过网站访问它

config/autoload.php

$autoload['libraries'] = array('session');
在config.php上,确保已设置会话路径和会话文件夹权限0700

$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = APPPATH . 'cache/session/';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
多谢各位。 在模型中,我发现:

    // Log user in
    public function login($username, $password){
        // Validate
        $this->db->where('username', $username);
        $this->db->where('password', $password);

        $result = $this->db->get('users');

        if($result->num_rows() == 1){
            return $result->row(0)->id;
        } else {
            return false;
        }
    }
我改为:

    // Log user in
    function login($username, $password){
        $this->db->select('id,admin,username,password,email');
        $this->db->from('users');
        $this->db->where('username', $username);
        $this->db->where('password', $password);
        $query = $this->db->get();
        if($query->num_rows()==1){
            return $query->result();
        } else{
            return false;
        }
    }

提示:对于非常不安全的密码,不要使用md5。使用php密码散列并验证
$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = APPPATH . 'cache/session/';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
    // Log user in
    public function login($username, $password){
        // Validate
        $this->db->where('username', $username);
        $this->db->where('password', $password);

        $result = $this->db->get('users');

        if($result->num_rows() == 1){
            return $result->row(0)->id;
        } else {
            return false;
        }
    }
    // Log user in
    function login($username, $password){
        $this->db->select('id,admin,username,password,email');
        $this->db->from('users');
        $this->db->where('username', $username);
        $this->db->where('password', $password);
        $query = $this->db->get();
        if($query->num_rows()==1){
            return $query->result();
        } else{
            return false;
        }
    }