如果null
,我试图设置一个cookie,但我无法使其工作:
public function __construct()
{
parent::__construct();
if ($this->input->cookie('ff', TRUE) == FALSE)
{
$this->input->set_cookie('ff', 'on', 86500);
dump($this->input->cookie('ff', TRUE));
}
}
我做错了什么?
编辑:dump()
它只是一个自定义调试函数。
您的set_cookie调用可能失败的几个原因:
1) 当调用set_cookie时,您已经向浏览器输出了一些内容,在这种情况下,您可能会收到一条错误/通知,内容为"Headers haven sended"。要解决这个问题,只需确保在向浏览器发送任何内容之前发生set_cookie调用。
2) 如果您正在进行本地开发和测试,"localhost"不被视为有效域,因此不会为其保存cookie。解决方法是在主机文件中添加一个条目,例如:
localhost.dev 127.0.0.1
然后使用该域而不是"localhost"进行测试。