Codeigniter无法创建cookie

时间:2011-11-22 00:10:43

标签: php codeigniter cookies setcookie

尝试使用codeigniter创建一个类似2天的cookie -.-(我以前羞于问过这个问题......)

任何人都想解释一下这段代码有什么问题:

    $websiteUrl = preg_replace("/^[\w]{2,6}:\/\/([\w\d\.\-]+).*$/","$1", base_url());
    $this->load->helper('cookie');

    $cookie = array(
               'name'   => 'rememberMe',
               'value'  => $this->encrypt->encode(serialize($serialize)),
               'expire' => (time() + $this->config->item('remember_me')),
               'domain' => '.'.$websiteUrl,
               'path'   => '/',
               'prefix' => 'chv_',
               'secure' => false,
           );

    set_cookie($cookie);

2 个答案:

答案 0 :(得分:0)

$this->input->set_cookie($cookie)

$this是CI实例)

确保$this->config->item('remember_me')> 0


我多次使用CI并且我总是使用原生的setcookie()函数,因为我真的不需要任何框架来设置cookie(这是简单的操作)......但是根据使用CI实例和输入的文档CI->input->set_cookie()应该做的工作。 记住NO FRAMEWORK是100%完美的工作...... 这是唯一的框架......您可以调试逐步的CI代码,看看会发生什么。

(来自评论)

答案 1 :(得分:0)

确保在运行set_cookie之前没有加载额外的空格,这阻止了cookie标头被发送到浏览器。我花了一个多小时来追踪这个问题,发现我在某个地方的一个结束标签的末尾有一个额外的空间。如果您打开E_WARNING,这应该会显示问题。