如何设置持久性cookie

时间:2012-11-22 21:06:43

标签: php cookies

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

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

我发现cookie在浏览器关闭后就会过期。我想让它长久坚持下去。我怎么做。请提出你的建议。

由于

3 个答案:

答案 0 :(得分:5)

正如已经注意到的那样,检查您的浏览器中是否实际设置了cookie(您的语法显示正确)。

Cookie只会在您设置后持续存在。我总是用一年作为一个回合期,除非有特定的到期要求(通常要短得多)。

使用strtotime功能使它们更易于阅读:

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

有很多关于如何在setcookie manual page上使用它们的例子,值得花点时间阅读。

答案 1 :(得分:3)

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

答案 2 :(得分:0)

让我们更好地了解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