无法在codeigniter中设置构造内的cookie

时间:2012-01-30 19:25:40

标签: php codeigniter cookies constructor setcookie

如果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()它只是一个自定义调试功能。

1 个答案:

答案 0 :(得分:2)

您的set_cookie调用可能会失败的几个原因:

1)当调用set_cookie时,您已经向浏览器输出了一些内容,在这种情况下,您可能会收到“已发送标题”的错误/通知。要解决此问题,请确保在向浏览器发送任何内容之前进行set_cookie调用。

2)如果您正在进行本地开发和测试,“localhost”不被视为有效域,因此不会为其保存任何cookie。解决方法是在主机文件中添加条目,例如:

localhost.dev    127.0.0.1

然后使用该域测试,而不是“localhost”。