Php Codeigniter-检查会话是否存在时出现未定义索引错误

Php Codeigniter-检查会话是否存在时出现未定义索引错误,php,codeigniter,Php,Codeigniter,检查会话是否存在时,我遇到一个未定义的索引错误。该错误仅在会话不存在时发生 创建会话的控制器: $data = array( 'email' => $this->input->post('email'), 'is_logged_in' => TRUE ); $this->session->set_userdata($data); redirect('site/index'

检查会话是否存在时,我遇到一个未定义的索引错误。该错误仅在会话不存在时发生

创建会话的控制器:

$data = array(
                'email' => $this->input->post('email'),
                'is_logged_in' => TRUE
            );

$this->session->set_userdata($data);
redirect('site/index');
进行检查的控制器:

$is_logged_in = $this->session->userdata['is_logged_in']; // error occurs here

if(!isset($is_logged_in) || $is_logged_in !== TRUE)
{
    $data['main_content'] = 'login_form';
    $this->load->view('includes/template', $data);
}
我已确保已加载会话库

$this->session->userdata['is_logged_in'];
应该是

$this->session->userdata('is_logged_in');
区别在于
()
而不是
[]
,因为userdata是一个函数,而不是数组

根据文件

应该是

$this->session->userdata('is_logged_in');
区别在于
()
而不是
[]
,因为userdata是一个函数,而不是数组

根据文件


您将方法视为关联数组。在codeigniter
userdata
中,是一个函数,返回传递给它的索引值。所以你的台词是:

$is_logged_in = $this->session->userdata['is_logged_in'];
应该是:

$is_logged_in = $this->session->userdata('is_logged_in');

将方法视为关联数组。在codeigniter
userdata
中,是一个函数,返回传递给它的索引值。所以你的台词是:

$is_logged_in = $this->session->userdata['is_logged_in'];
应该是:

$is_logged_in = $this->session->userdata('is_logged_in');

确切的错误消息是?确切的错误消息是?获取会话数据的另一种方法是使用以下语法
$this->session->is\u logged\u
如果该键与
$this->session->userdata('is_logged_in')中出现的键不同,则返回NULL
获取会话数据的另一种方法是使用以下语法
$this->session->is\u logged\u
如果该键与
$this->session->userdata('is_logged_in')中出现的键不同,则返回NULL