8

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

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

我发现cookie在浏览器关闭后过期。我想让它坚持很长时间。我该怎么做。请提出您的建议。

谢谢

4

4 回答 4

8

如前所述,检查 cookie 是否真的在您的浏览器中设置(您的语法似乎正确)。

只要您设置了 Cookie,它们就会一直存在。除非有特定的到期要求(通常要短得多),否则我一直使用一年作为一个周期。

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

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

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

于 2012-11-22T21:39:18.540 回答
3

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

于 2015-06-18T10:24:43.853 回答
3

让我们更好地理解 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
于 2020-07-20T05:33:11.017 回答
0

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

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

于 2021-01-14T07:54:26.910 回答