You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Codeigniter 3 登录成功设置用户名session及登出清除session的方法

CodeIgniter 3 登录Session设置与清除方案

前置准备

使用Session前需要先加载Session库,推荐在application/config/autoload.php配置自动加载,全局调用更方便:
找到配置项$autoload['libraries'],修改为:
$autoload['libraries'] = array('session');
也可以在对应控制器方法中手动加载:$this->load->library('session');

登录成功设置Session

你当前的checkLogin方法仅返回布尔值,建议调整为返回用户数据,方便存储更多用户标识信息,修改逻辑如下:

调整校验登录方法

public function checkLogin($username, $pass){
    $hash =sha1($pass);
    $this->db->from('Users');
    $this->db->where('username', $username);
    $this->db->where('password', $hash);

    $query=$this->db->get();
    
    if($query->num_rows() == 1){
        // 登录成功返回用户完整数据
        return $query->row_array();
    }else{
        return false;
    }
}

修改登录处理方法增加Session写入逻辑

public function dologin(){
    $this->load->helper('url');
    $this->load->model('user_model');
    $username = $this->input->post("username");
    $pass = $this->input->post("password");

    $user_info = $this->user_model->checkLogin($username, $pass);
    if ($user_info) {
        // 自定义需要存储的Session字段
        $session_data = [
            'is_login' => true,
            'username' => $user_info['username'],
            'user_id' => $user_info['id'] // 关联用户表主键ID,后续业务调用更方便
        ];
        // 写入Session
        $this->session->set_userdata($session_data);
        redirect('messages/index');
    } else {
        redirect('user/login');
    }
}

登出清除Session

在用户控制器新增登出方法,逻辑如下:

public function logout(){
    $this->load->helper('url');
    // 清除当前用户所有Session数据
    $this->session->sess_destroy();
    // 若仅需清除登录相关Session、保留其他业务Session可使用以下写法
    // $this->session->unset_userdata(['is_login','username','user_id']);
    redirect('user/login');
}

后续业务需要校验登录状态时,直接读取Session判断即可:

// 未登录跳转登录页
if(!$this->session->userdata('is_login')){
    redirect('user/login');
}

内容的提问来源于stack exchange,提问作者user14648299

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 23:24:03