注销在代码点火器中不起作用



嗨,伙计们,我正在尝试在我的 codigniter 中使用注销代码,因此由于某种原因它无法正常工作。

这是我的注销代码:

public function Logout() {
$this->Login_model->saveLogout();
$this->session->sess_destroy();
redirect('Login');
}

这是我的模型代码:

public function saveLogout() {
$recordId=$this->session->userdata('user_id');
$ipaddress = $this->input->ip_address();
$dataLog = array(
'userid' => $recordId,
'entertime' => time(),
'ip' => $ipaddress,
'log_operation' => 'Logout'
);
$dataUser = array(
'previous_visit' => time(),
'lastip' => $ipaddress
);
$this->db->insert('log_table', $dataLog);
$this->db->set($dataUser); //value that used to update column  
$this->db->where('id', $recordId); //which row want to upgrade  
$this->db->update('users');  //table name
}

当我单击注销时,它显示以下错误

Column 'userid' cannot be null
INSERT INTO `log_table` (`userid`, `entertime`, `ip`, `log_operation`) VALUES (NULL, 1534252667, '::1', 'Logout')

谁能帮我什么问题

提前谢谢。

当你在没有任何条件的情况下编写$this->session->sess_destroy();时,它会在执行其他之前销毁会话。与已发送的标头相同

像这样做

在控制器中

public function Logout() {
$return = $this->Login_model->saveLogout(); # alter
if(!$return)
{
echo "went wong"; die;
}
else
{
$this->session->sess_destroy();
redirect('Login');
}
}

在模型中

public function saveLogout() {
# your model code
return true; # add this
} 

相关内容

  • 没有找到相关文章

最新更新