2013-05-03 131 views
0
  $value = array(
      'id'  => $data['id'] , 
      'username' => $data['username'] , 
      'email' => $data['email'] , 
      'last_ip' => $this->input->ip_address() 

     ); 

     $value = serialize($value); 

     $cookie = array (
      'name' => 'is_logged' , 
      'value' => $value , 
      'expire' => time()+86400 , 

     ); 

     set_cookie($cookie); 

后,我有一个函数用于检查的cookie失去的cookie在关闭浏览器

function get_k(){ 

    $k = get_cookie('is_logged'); 
    var_dump($k); 

} 

,而浏览器仍然是开放的这工作正常登录后,但如果我关闭浏览器,它不工作了

我的配置

$config['cookie_prefix'] = ""; 
$config['cookie_domain'] = ""; 
$config['cookie_path']  = "/"; 
$config['cookie_secure'] = FALSE; 

我工作在本地主机/火狐

+0

您的浏览器配置为在退出时删除cookie吗? – Chad 2013-05-03 12:24:28

+0

您的配置是否设置了配置以在浏览器关闭为真时删除Cookie? – tomexsans 2013-05-03 12:24:48

+0

这可能是这个问题的重复http://stackoverflow.com/questions/6290502/codeigniter-cookie-expiry-problem – 2013-05-03 12:26:27

回答

0

从'expire'值中删除time(),CodeIgniter自动添加它。

'expire'后面还有一个流浪逗号。

+0

我要去尝试它,但如果这是我在浏览器仍然打开时无法访问cookie的问题 – max 2013-05-03 12:30:36

+0

这些都不重要。他为时间增加了一个价值,所以基本上抓住当前时间并增加86400秒。另外,由于您指出的逗号在数组元素的末尾,因此不会导致任何问题。 – Chad 2013-05-03 12:31:19

+0

你会感到惊讶... – Ryan 2013-05-03 12:31:23