Codeigniter:当用户登录时,我想保存一个包含电子邮件的cookie。
$cookie = array(
'name' => 'email',
'value' => $email,
'expire' => time()+3600*24*30*30,
//'domain' => '.racebooking.net',
'path' => '/',
'secure' => TRUE
);
$this->input->set_cookie($cookie);
此代码运行后,在Firebug中查看,我可以看到cookie已正确设置。这是我所看到的:
name value domain raw size path expires Security
email [email protected] www.test.racebooking.net 36 B / 07/09/2062 20:50:15 Secure
不幸的是,当我尝试按以下方式检索它时
$this->input->cookie('email', TRUE);
我什么也没得到。Cookie在那里,但是我无法在CI中获得它。知道为什么吗?该网站安装在www.test.racebooking.net
(生产前我用于测试的子域)中
好的,(我认为)我找到了问题!通过设置.racebooking.net
为域,而不是将其保留为空白(因此,自动将其设置为www.test.racebooking.net
),我对其进行了修复。
$cookie = array(
'name' => 'email',
'value' => $email,
'expire' => time()+3600*24*30*30,
'domain' => '.racebooking.net',
'path' => '/',
'secure' => TRUE
);
$this->input->set_cookie($cookie);
现在,我可以检索cookie值了。在“为什么会发生这种情况”问题仍然是开放的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句