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 存在。