按逻辑,一旦用户退出,他们就无法再次进入系统,直到他们再次登录。 我使用登录用户的一些会话数据和cookie,我想在用户注销时删除此会话数据和cookie。 我用
delete_cookie("cookie_name");
$this->session->sess_destroy();
并设置$config['sess_time_to_update']
ro 0
但是这不起作用,会话数据和cookie没有删除。 一旦用户注销,我可以做什么来删除所有会话数据和cookie。
答案 0 :(得分:0)
$this->session->sess_destroy();
应删除所有会话数据。你怎么知道会话数据没有被删除。就在sess_destroy()之后;尝试回应其中一个会话数据。
echo $this->session->userdata('item_name');
同样的方法是在删除像这样的cookie之后使用echo -
echo get_cookie('cookie_name');
我相信,这是用户如何保持登录的逻辑。您可能没有检查登录用户是否存在会话。您应该检查用户访问的每个页面(方法)的会话和cookie。最好的方法是将checker函数放在构造函数中。
答案 1 :(得分:0)
试试这个 -
http://php.net/manual/en/function.setcookie.php
// unset cookies
if (isset($_SERVER['HTTP_COOKIE'])) {
$cookies = explode(';', $_SERVER['HTTP_COOKIE']);
foreach($cookies as $cookie) {
$parts = explode('=', $cookie);
$name = trim($parts[0]);
setcookie($name, '', time()-1000);
setcookie($name, '', time()-1000, '/');
}
}