我正在尝试在页面重定向发生之前重置/清除codeigniter中的特定会话值,但它仍然保留会话中的值并且不会清除它。如果我评论重定向页面的代码,那么它会清除会话值。以下是我正在使用的代码:
$this->session->set_userdata('my_session_variable', '');
$this->session->unset_userdata('my_session_variable');
redirect($my_url);
知道如何解决这个问题吗?
答案 0 :(得分:0)
设置会话用户数据
$data = array(
'name' => 'username',
'user_id' => 'someid',
'logged_in' => TRUE,
);
$this->session->set_userdata($data);
取消设置用户数据
$data = array('name', 'user_id', 'logged_in');
$this->session->unset_userdata($data);
redirect($my_url);
答案 1 :(得分:0)
$this->session->unset_userdata('my_session_variable');
......应该有效。只是为了调试并看看发生了什么,你可以这样做:
$this->session->unset_userdata('my_session_variable');
var_dump($_SESSION);
die;
......看看会发生什么。如果按预期方式工作,请在重定向页面的最开头删除die;
添加相同的var_dump()
。
请记住,您始终可以这样做:
unset($_SESSION['my_session_variable']);
...删除会话数据。更多信息here。