当验证用户的所有凭据时,我试图在控制器的 codeigniter 中设置一个会话。我的登录控制器方法中有此代码。方法 ' login_check
' 由 form_validation 的 set rules 方法作为回调函数调用。我尝试了所有可能的方法,但由于某种原因,我无法设置会话,根据 CI 的手册,这应该是一项直接的任务
注意:会话在 autoload.php 中自动加载
$this->form_validation->set_rules('password', 'password', 'trim|required|callback_login_check');
public function login_check($password) {
$this->load->library('session');
//Field validation succeeded. Validate against database
$username = $this->input->post('username');
$this->load->model('industry_person');
//query the database
$query = $this->industry_person->check_login($username, $password);
if (!$query) {
$this->form_validation->set_message('login_check', 'Invalid username or password');
return false;
$this->index();
} else {
$data = array(
'username' => $username,
'is_logged_in' => true
);
if (!$this->session->set_userdata('logged_in', $data))
echo "error setting session";
}
}
当我输入正确的凭据并且它们在数据库中匹配时,我会收到输出为“错误设置会话”。