PHP cookie 怎么用
打开网页时,你肯定遇到过“记住我的登录状态”的选项,下次再进同一个网站,不用重新输账号密码就能直接进,这背后大多是Cookie在帮忙。很多人听说过PHP能操作Cookie,但具体怎么用,其实没那么复杂,跟着生活化的例子就能快速搞懂。
先搞懂Cookie的核心逻辑:“小纸条”机制
你可以把Cookie想象成网站给用户的一张随身小纸条。当你第一次访问网站时,网站会让浏览器把这张小纸条存在你的电脑/手机里;之后你再访问同一个网站,浏览器会自动把这张小纸条还给网站,网站就能通过纸条上的信息认出你,不用你反复说自己是谁。PHP的作用,就是帮网站写这张小纸条、读这张小纸条,还能让它过期作废。

第一步:用PHP写Cookie,给用户留小纸条
写Cookie用PHP自带的setcookie()函数就行,就像你在小纸条上写字。举个生活化的例子:你开了个小零食店,想给常来的老顾客留个“爱吃薯片”的标记,方便下次推荐。
PHP写Cookie的基本格式是:
setcookie('标记名字', '标记内容', 有效期);
比如你要给用户留“爱吃番茄味薯片”的标记,有效期设为7天(60秒×60分钟×24小时×7天=604800秒),代码就是:
setcookie('favorite_snack', '番茄味薯片', 604800);
实际用的时候,有效期可以按需求调整:如果设成0,就代表浏览器关闭时这张纸条就失效,适合临时用的标记;如果想让Cookie存更久,就把秒数调大,比如存1年就是31536000秒。
要注意一个小细节:写Cookie的代码必须放在网页最顶部,也就是<html>标签之前,不然浏览器会报错,就像你不能在寄信时不填收件人地址,直接塞信封里,肯定会被退回。
第二步:用PHP读Cookie,认出老顾客
当用户下次打开你的网站,浏览器会自动把之前存的Cookie还给你,你只要用$_COOKIE这个变量就能读出来,就像你拿出之前写的小纸条看内容。
还是拿零食店举例,你想根据Cookie内容给用户推荐商品,代码可以这么写:
`php
if(isset($_COOKIE['favorite_snack'])){
$snack = $_COOKIE['favorite_snack'];
echo "欢迎回来!根据你的喜好,给你推荐{$snack}哦~";
} else {
echo "欢迎光临!今天想试试什么零食?";
}
`
如果用户第一次来,Cookie里没有favorite_snack的内容,就会显示“欢迎光临”;如果是老顾客,就能直接看到针对性的推荐,是不是很实用?
第三步:用PHP删Cookie,让小纸条失效
如果用户不想再让你推荐零食,想删掉这张标记的小纸条,你可以用PHP把Cookie有效期设成过去的时间,这样浏览器就会自动删掉这张纸条,就像你把写满内容的小纸条扔进垃圾桶。
删除Cookie的代码很简单:setcookie('favorite_snack', '', time() - 3600);,这里的time()是当前的时间戳,减3600秒就是1小时前,相当于让这张纸条的有效期已经过期,浏览器就会自动删掉它,不会再还给网站。
最后再提醒两个容易踩的小坑:第一,同一个网站的Cookie是共享的,只要你在这个域名下写的Cookie,整个网站都能读;第二,不要在Cookie里存敏感信息,比如密码、身份证号,因为Cookie是存在用户本地的,可能被别人看到,就像你不能在小纸条上写银行卡密码一样。
这样一套下来,PHP操作Cookie的常用场景就都覆盖了,不管是做“记住登录状态”,还是个性化推荐,都能用这个简单的逻辑实现。