第29章 PHP 会话控制:Cookie 详解
一、Cookie 是什么
Cookie 是服务器发给浏览器,保存在客户端本地的小型文本数据。
作用:记录用户信息、记住登录状态、保存浏览偏好、免登录。
二、Cookie 特点
1. 存储在浏览器客户端
2. 大小有限,单个约4KB
3. 可设置过期时间
4. 每次请求浏览器自动携带Cookie到服务器
5. 不安全,可被用户篡改、清除
三、设置 Cookie 语法
php
setcookie(键名, 值, 过期时间, 有效路径, 域名);
四、基础设置示例
php
// 设置cookie,默认浏览器关闭就失效
setcookie('username','zhangsan');
五、设置带过期时间的Cookie
php
// 3600秒 = 1小时过期
setcookie('username','zhangsan',time()+3600);
// 7天有效期
setcookie('nickname','帅哥',time()+7243600);
六、读取 Cookie
通过超全局变量 $_COOKIE
php
echo $_COOKIE['username'];
七、Cookie 路径与域名
1. 有效路径 / :整站所有页面都能用
php
setcookie('name','test',time()+3600,'/');
2. 域名:可设置子域名共享Cookie
八、删除 Cookie
原理:把过期时间设为过去时间
php
setcookie('username','',time()-1);
九、Cookie 数组用法
可以存放数组形式数据
php
// 设置
setcookie('user[name]','张三');
setcookie('user[age]','20');
// 读取
print_r($_COOKIE['user']);
十、Cookie 注意事项
1. setcookie 必须在页面输出之前调用,否则报错
2. Cookie 只能存字符串,自动序列化
3. 用户可手动清空、禁用Cookie,程序要做兼容
4. 敏感数据不能存在Cookie,容易泄露篡改
5. 不能存大数据,只适合存标识、昵称、状态
十一、本章核心总结
1. Cookie 存客户端,由服务器下发、浏览器保存
2. 设置: setcookie() ,读取: $_COOKIE
3. 过期时间用 time()+秒数
4. 删除Cookie:赋值为空,时间设为过去
5. 适合记住登录、偏好设置,不适合存敏感隐私数据

请登录后发表评论
注册
停留在世界边缘,与之惜别