PHP设置cookie

时间:2011-03-20 00:32:04

标签: php cookies

我了解到,当您设置Cookie时,您会给它们一个名称,一个值和一个到期日期。这是我从一本书中得到的一个例子。

setcookie('test', 45, time()(60*60*24));

我理解设置名称的目的,所以我们有办法引用它。我理解设置到期日的目的,但设置值的目的是什么?为什么我们需要设定一个值?

3 个答案:

答案 0 :(得分:2)

该值是您设置cookie的原因:因此,下次浏览器发出请求时,它会重复您之前提供给您的值。

在某些情况下,即使只重复这个名称也会很有用(实质上,你是通过名称的存在与否来获得一位信息)。添加一个值可以保留多个位。

那么为什么要保留名称,无论如何都要有价值?因为具有不同名称的cookie可以具有不同的到期时间,并且因为它可以方便地使应用程序或系统的单独组件具有专用于它们中的每一个的cookie。这样,当您从组件B设置(覆盖)它时,您不需要考虑组件A对cookie值所做的操作。您拥有一个属于您自己的值,并通过其名称进行区分。

为了完整起见,我应该提一下,还可以为每个cookie设置其他cookie属性(即每个不同的名称):

  • 域名(Cookie仅对特定域和子域有效)
  • 路径(cookie仅在特定请求路径及以下位置有效)
  • Secure / HttpOnly(但是,这些cookie没有任何价值)

答案 1 :(得分:1)

Cookie是键=值对。只是cookie的存在可能是有用的(即使没有),但它最终意味着存储可通过键(名称)检索的值。

从技术上讲,您不需要价值或到期日:http://php.net/manual/en/function.setcookie.php

答案 2 :(得分:0)

Cookie的价值。该值存储在客户端计算机上;不要存储敏感信息。假设名称为'cookiename',则通过$ _COOKIE ['cookiename']检索此值

同时检查: PHP setcookie Manual; PHP setcookie Function