我准备升级我的网站,并且在新的更新中,需要新的会话变量user_level。我想知道是否有服务器端,我可以结束所有会议,而不必实际编码任何东西。如果没有,我的意图是测试是否设置了变量,如果不是,我会销毁会话,迫使用户重新登录。 所以这样的事情..如何删除所有会话信息?
if(!$this->session->userdata['user_level'])
{
$this->session->sess_destroy();
}
我准备升级我的网站,并且在新的更新中,需要新的会话变量user_level。我想知道是否有服务器端,我可以结束所有会议,而不必实际编码任何东西。如果没有,我的意图是测试是否设置了变量,如果不是,我会销毁会话,迫使用户重新登录。 所以这样的事情..如何删除所有会话信息?
if(!$this->session->userdata['user_level'])
{
$this->session->sess_destroy();
}
userdata
是function
不是array
读Session docs
试试这个,
if(!$this->session->userdata('user_level'))
{
$this->session->userdata = array();
$this->session->sess_destroy();
}
如果你想unset a single session variable
然后用它像,
$this->session->unset_userdata('user_level');// to remove user_level from session
问题实际上并未删除会话。它确保每个用户都有新的变量,但我不相信有什么办法可以自动删除系统开始正确的所有会话? – user2605381
@ user2605381测试以上我已对其进行了更改。 –
哇。我一直在我的所有代码中以数组的形式访问它。:\为什么它仍然作为一个数组工作呢? – user2605381
我个人会这样做,因为它可以让你做一些事情,例如警告用户他们需要重新登录,因为网站升级。如果您采取了一种替代方法,如只删除所有会话存储(在文件或数据库中),那么您将无法提供更多用户友好的转换。 –
我将如何删除好奇心会话存储?另外,我的网站并不大。只有65个用户(尽管我今天发布了它),所以我认为这不会那么糟糕。 – user2605381