如果会话存在,Codeigniter 显示控制器

Codeigniter show controller if session exists

我是 codeigniter 的新手,正在学习它。

我有 2 个控制器,第一个称为 main 并响应用户注册/登录,第二个称为 todo 并显示待办事项列表。

现在,如果我访问 localhost/list 我的网站会打开该页面,我应该在哪里编写会话逻辑来测试用户是否已登录?

我的控制器待办事项

defined('BASEPATH') OR exit('No direct script access allowed');

class Lists extends CI_Controller {

public function index()
{
    $this->load->view('lists');}
}

如何使用会话显示它:

if($this->session->userdata('is_logged_in') == 1)

或者我是否必须在每个函数之前放置会话逻辑?

您将会话 $this->session->userdata('is_logged_in') 条件放入 __construct()

像这样:

<?php
class Lists extends CI_Controller {

    public function __construct() {
        parent::__construct();
        if($this->session->userdata('is_logged_in') != 1) { 
            //redirect code here
        }
    }

    public function index() {
        $this->load->view('lists');}
    }
}