1. PHP的COOKIE cookie 是一种在远程浏览器端储存数据并以此来跟踪和识别用户的机制。PHP在http协议的头信息里发送cookie, 因此setcookie() 函数必须在其它信息被输出到浏览器前调用,这和对header() 函数的限制类似。1.1 设置cookie: 可以用setcookie() 或setrawcookie() 函数来设置cookie。也可以通过向客户端直接发送http头来设置. 1.1.1 使用setcookie()函数设置cookie: bool setcookie( stringname [, stringvalue [, int expire [, s 【PHP Session与Cookie详解】 PHP中的Session和Cookie是两种常用的身份验证和用户状态管理机制,它们各有特点,适用于不同的场景。 1. PHP的Cookie Cookie是一种在用户浏览器端存储数据的技术,用于跟踪和识别用户。当PHP应用需要设置Cookie时,会通过HTTP头部信息将其发送给浏览器。因此,`setcookie()`函数必须在任何其他输出内容之前调用,这与`header()`函数的限制相同。 1.1 设置Cookie 设置Cookie通常有两种方法:使用`setcookie()`或`setrawcookie()`函数,以及直接通过HTTP头信息传递。 1.1.1 `setcookie()`函数设置Cookie ```php setcookie($name, $value, $expire, $path, $domain, $secure, $httponly); ``` - `$name`:Cookie的名称。 - `$value`:Cookie的值。 - `$expire`:Cookie的有效期,以Unix时间戳表示。 - `$path`:Cookie的有效路径,默认为当前目录。 - `$domain`:Cookie的有效域名,包括顶级域。 - `$secure`:若设为1,则Cookie仅在HTTPS连接上有效。 - `$httponly`:若设为1,则禁止JavaScript访问Cookie。 示例: ```php $value = 'something from somewhere'; setcookie('TestCookie', $value); setcookie('TestCookie', $value, time() + 3600); // 有效期1小时 setcookie('TestCookie', $value, time() + 3600, '/~rasmus/', '.example.com', 1); // 有效目录,有效域名 ``` 1.1.2 使用`header()`设置Cookie ```php header("Set-Cookie: name=$value[path=$path[;domain=xxx.com[; ]]"); ``` 这里的参数与`setcookie()`函数相同。 1.2 读取Cookie 使用PHP内置的超全局变量`$_COOKIE`可直接获取浏览器端的Cookie值。 1.3 删除Cookie 将Cookie的有效期设置为过去的时间,并将其值设为空,即可删除Cookie。 ```php setcookie('name', '', time() - 1); ``` 1.4 常见问题及解决 - 错误提示可能由于在调用`setcookie()`之前有输出或空格,确保无BOM签名,或使用`ob_start()`函数。 - `$_COOKIE`受`magic_quotes_gpc`配置影响,可能自动进行转义,需要根据情况进行处理。 1.5 Cookie的工作原理 - a) 服务器通过HTTP的Set-Cookie头将Cookie信息发送给客户端。 - b) 下次客户端请求服务器时,会在HTTP头中自动包含Cookie信息供服务器读取。 2. PHP Session Session是另一种持久化用户状态的方法,它将数据存储在服务器端,每个用户都有独立的Session ID,通过这个ID在服务器端找到对应的数据。 2.1 启动Session 使用`session_start()`启动Session。 2.2 存储和读取Session数据 ```php $_SESSION['key'] = 'value'; // 存储数据 $value = $_SESSION['key']; // 读取数据 ``` 2.3 结束Session 使用`session_destroy()`结束Session,清除所有Session数据。 2.4 注意事项 - Session依赖于Cookie(默认情况下),若用户禁用Cookie,Session可能无法正常工作。 - 为确保Session安全,应定期清理Session垃圾,避免过多的Session数据占用服务器资源。 总结,Cookie和Session都是PHP中管理用户状态的重要工具。Cookie适合存储小量、非敏感数据,且适用于不需要服务器存储的简单应用场景;而Session则更适合存储大量、敏感数据,且能确保数据安全性,但服务器端资源消耗相对较大。选择合适的方法取决于具体的应用需求。




















- 粉丝: 4
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 大数据的来源与价值.ppt
- 2023年电大数据库系统及应用形考册第8章习题与参考答案.doc
- ABC酒店管理系统数据库设计说明书.doc
- 2023年java计算机二级考试笔记.docx
- 第10章-综合布线工程实例.ppt
- 大学cad实训心得体会.doc
- Python数据科学速查表 - Keras.pdf
- 2023年网络管理员实习报告范文总结报告模板.doc
- excel表格复制到ppt边线看不到.pdf
- IBM-CBM预研报告(推荐文档).ppt
- 2023年软件考试网络工程师章节复习.docx
- 2022软件工程师个人工作总结.docx
- 2022通信求职信_.docx
- Windows系统安全管理.pptx
- 本科毕业论文基于单片机的直流电机PWM调速控制系统设计.doc
- 区域性家电零售商电子商务策划草案(1).docx



评论0