PHP Cookies:如何设置 Cookies 和获取 Cookies

Cookie 不一定是网站的重要组成部分,但可以提供一些“小东西”,使您的网站与众不同。 Cookie 是您保存在客户计算机上的一些小信息,以便您可以在他们下次访问该网站时访问它们。会话 ID 通常也保存在 cookie 中。

那么 cookie 最流行的用途是什么?它们是:

  • 存储用户名/密码信息,以便用户不必在每次访问网站时都登录(“记住我”登录)。
  • 简单地记住用户的名称。
  • 跟踪用户在特定过程中的进度。
  • 记住用户的主题。

设置 Cookie

设置 cookie 需要一个键、一个值和允许 cookie 存在的时间量。

$first_name = 'David';
setcookie('first_name',$first_name,time() + (86400 * 7)); // 86400 = 1 day

在上面,我们将用户的名字设置为“David”(此数据实际上来自表单或数据库,但为了示例的缘故,我们将使用我的名字)。然后,我们使用“first_name”键和值“David”设置一个 cookie,并将其编程为从现在起 7 天后过期。

获取 Cookie 值

现在我们已经设置了 cookie,是时候获取值了假装他们离开了您的网站并在两天后回来)

echo 'Hello '.($_COOKIE['first_name']!='' ? $_COOKIE['first_name'] : 'Guest'); // Hello David!

在上面,我们检查以“first_name”为键的 cookie 是否仍然存在。如果是这样,我们使用他们的名字;如果不是,我们称他们为“客人”。基本 cookie 就是这么简单!

可以使用更具体的指令设置 PHP cookie,包括路径、域、安全和 httponly。

setcookie('first_name',$first_name,time() + (86400* 7),'/~sugar/','davidwalsh.name',true,true);

此 cookie 与上面相同,但我们还告诉 cookie 应用于“davidwalsh.name”域上的“~sugar”目录。它仅用于 SSL 连接,JavaScript 不得使用它。

关于 cookie 的其他一些知识:

  • 虽然您为 cookie 设置了过期时间,但用户可以随时删除 cookie。
  • Cookie 只能由设置它们的浏览器访问(Firefox 和 IE 不共享他们)
  • 用户可以在他们的浏览器中关闭 cookie。
  • 永远不要假设 cookie 存在。
赞(0) 打赏

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏