3

此代码适用于除 Internet Explorer 8 以外的所有浏览器

 $this->input->set_cookie(array(
                          'name'   => 'test_cookie',
                          'value'  => 'hello from cookie',
                          'expire' => 360000000,
                          'secure' => FALSE
                          ));

        echo get_cookie('test_cookie');

如何解决这个问题呢?为什么没有set_cookie?

4

3 回答 3

2

我有一个类似的问题,只有 IE 会拒绝接受 cookie。结果发现计算机的时区设置不正确(提前 17 小时,服务器在澳大利亚时设置为美国太平洋标准时间),所以发生的事情是 cookie 立即过期。

于 2013-06-06T05:48:18.767 回答
0

尝试:

echo $this->input->cookie('test_cookie');
于 2013-04-18T09:23:56.983 回答
0

我使用助手中的函数解决了我的问题

function setcookie_ex($name, $value, $expire)
{
    $cookie_path = '/'; $cookie_domain = ''; $cookie_secure = false;

    // Enable sending of a P3P header
    header('P3P: CP="CUR ADM"');

    if (version_compare(PHP_VERSION, '5.2.0', '>='))
       setcookie($name, $value, $expire, $cookie_path, $cookie_domain, $cookie_secure, true);
    else
    setcookie($name, $value, $expire, $cookie_path.'; HttpOnly', $cookie_domain, $cookie_secure);
}
于 2013-04-18T15:30:17.140 回答