【问题标题】:cookie issue in IE only仅 IE 中的 cookie 问题
【发布时间】:2012-07-30 21:20:38
【问题描述】:

我有这个用于创建 cookie 的代码

这在 firefox 和 crome 浏览器中有效,但在 IE 中它会一次又一次地创建 cookie

if (!isset($_COOKIE["cook"])) {
    $expire = time() + 60 * 60 * 24 * 30 * 2;
    $data = array(
        "ip" => $_SERVER['REMOTE_ADDR'],
        "browser" => $_SERVER['HTTP_USER_AGENT'],
        "create_time" => $now
    );
    $result = $db->insert("cookies", $data);
    $cookie_id = $db->lastid;
    $cookie_id = my_encrypt($cookie_id);
    setcookie("cook", $cookie_id, $expire,"/","localhost");
} else {
    $cookie_id = $_COOKIE["cook"];
}

每次我访问页面时它都会创建新的 cookie

【问题讨论】:

  • 刚刚尝试了您的代码,但无法重现问题!我用的是 IE9
  • 谁能帮忙解决这个问题>\?

标签: php internet-explorer cookies cross-browser


【解决方案1】:

省略domain 参数setcookie()

【讨论】:

  • 是的,我删除了域参数,但现在我无法注销
  • 当“注销”表示:删除cookie时,删除cookie时也要省略域。
  • 实际上我正在使用 cookie 存储一些其他数据和会话来记录和注销...
  • 会话通常也使用cookie,我猜session.cookie_domain的值是 localhost 。当脚本在本地主机上运行时,使用ini_set() 并将此值设置为空字符串。
猜你喜欢
  • 2016-03-11
  • 1970-01-01
  • 1970-01-01
  • 2011-04-09
  • 2023-03-21
  • 2016-05-12
  • 1970-01-01
  • 2012-07-19
  • 1970-01-01
相关资源
最近更新 更多