如何设置持久性 Cookie



我正在使用这个PHP代码并尝试设置cookie,如下所示:

 setcookie("_GuestID",$userID,time() + (20 * 365 * 24 * 60 * 60));

我发现 cookie 在关闭浏览器后就会过期。我想让它持续很长时间。我能做什么?

如前所述,检查 cookie 是否确实在您的浏览器中设置(您的语法看起来正确)。

Cookie 只会在您设置它们的情况下保留。我一直使用一年作为整数期,除非有特定的到期要求(通常要短得多)。

使用 strtotime 函数使它们更易于阅读:

setcookie( "cookieName1", $value1, strtotime( '+1 year' ) );
setcookie( "cookieName2", $value2, strtotime( '+30 days' ) );

setcookie 手册页上有很多如何使用它们的例子,值得花时间阅读。

没有特殊的方法来设置持久性 cookie。这与设置普通 cookie 的方式相同。具有到期日期的 Cookie 称为持久性。

让我们更好地理解饼干...

有两种不同类型的 Cookie - 会话 Cookie 和持久性 Cookie。

  • 如果 Cookie 不包含到期日期,则将其视为会话 Cookie。会话 Cookie 存储在内存中,从不写入磁盘。当浏览器关闭时,从此以后,cookie将永久丢失。
  • 如果 Cookie 包含到期日期,则将其视为持久性饼干。在到期日指定的日期,饼干将从磁盘中删除
$cookie_name = "Name";
$cookie_value = "Amitesh";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day

使用 strtotime 函数使它们更易于阅读:

setcookie( "cookieName1",123545,time()+(strtotime( '+1 year' )) );

最新更新