- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 会话处理 课程描述 在Web应用程序中,会话是客户端用户与服务器之间交换数据的过程。通过会话可以实现页面之间的参数传递。本章将介绍PHP会话处理中使用的Cookie、URL重写和Session等技术。 本章知识点 8.1 什么是会话处理 8.2 Cookie的应用 8.3 Session的应用 8.1 什么是会话处理 8.1.1 问题的提出 8.1.2 解决方案 8.1.1 问题的提出 在第1章中已经介绍过超文本传输协议(HTTP),它定义了通过互联网传输数据的规则。HTTP是一种无状态的协议,也就是每次请求都是独立的,和之前或之后的请求无关。这就意味着如果后续处理需要前面的信息,则必须重传数据,这样可能导致每次连接传送的数据量增大。 例如,在网上商城系统中,有一些页面(比如发表评价页面、购买商品页面)需要用户登录后才能浏览。但在打开这些页面时系统并不知道访问者之前是否登录过,于是就可能出现要求用户重复登录的情况。 由于HTTP无状态而造成的问题 8.1.2 解决方案 1.Cookie Cookie存在如下缺陷 ? Cookie的数据大小是由限制的,大多数浏览器只支持最大为 4096 字节的 Cookie。有时不能满足需求。 ? 客户端可以禁用或清空Cookie,从而影响程序的功能。 ? 当多人共用一台计算机时使用Cookie可能会泄露用户隐私,带来安全问题。 2.Session(会话) Session可以保持网站服务器和网站访问者的交流,访问者可以将数据保存在网站服务器中。为了区分不同的访问者,网站服务器为每个网站访问者都分配一个会话编号SID,一个访问者在Session中保存的所有数据都与他的SID相关联。在访问者打开的所有页面中,都可以通过SID设置和获取Session数据,因此通过Session可以实现个页面间的数据共享。用户在任意一个页面登录后,都可以将登录标记和登录用户名保存在Session变量中。这样在其他页面中就可以获知用户已经登录了,从而避免重复登录。 使用Cookie和Session技术的解决方案 8.2 Cookie的应用 8.2.1 Cookie的工作原理 8.2.2 设置Cookie数据 8.2.3 读取Cookie数据 8.2.4 删除Cookie数据 8.2.5 在用户身份验证时使用Cookie 8.2.1 Cookie的工作原理 Cookie是Web服务器存放在用户硬盘的一段文本,其中存储着一些“键-值”对。每个Web站点都可以在用户的机器上存放Cookie,并可以在需要时重新获取Cookie数据。通常Web站点都有一个Cookie文件。 Cookie的工作原理 8.2.2 设置Cookie数据 可以使用setcookie()函数设置Cookie数据,语法如下: bool?setcookie?(?string?$name?[,?string?$value?[,?int?$expire?= 0?[,?string?$path?[,?string?$domain?[,?bool?$secure?= false?[,?bool?$httponly?= false?]]]]]] ) 参数说明如下: ? name,Cookie的名字。 ? value,Cookie的值。 ? expire,Cookie的有效期,单位为秒。 ? path?,Cookie的服务器路径,此目录下的网页都能访问该cookie。 ? domain,Cookie的域名,此域名下的网页都能访问该cookie。 ? secure,规定是否通过安全的HTTPS连接来传输cookie。 ? httponly,如果设置为TRUE,则只能通过HTTP访问Cookie,不能使用脚本语言(例如JavaScript访问Cookie)。如果设置为FALSE,则没有此限制。 如果设置Cookie数据成功,则函数返回 true,否则返回 false。 提示 Setcookie()函数会发送网页头信息给客户端浏览器,浏览器会根据这些信息设置本地cookie,而html标签是网页正文,因此必须在头信息发送完之后才能发送,也就是说setcookie()函数必须在html之前才能正常工作。 【例8-1】 setcookie()函数的示例。 ?php $value = my cookie value; // 发送一个简单的 cookie setcookie(TestCookie,$value, time()+60*60*24*30); ? html body ... /body /html 8.2.3 读取Cookie数据 在PHP中,可以使用$_COOKIE数
您可能关注的文档
- PHP和MySQL Web应用开发第9章MySQL数据库管理.ppt
- PHP和MySQL Web应用开发第10章在PHP中访问MySQL数据库.ppt
- PHP和MySQL Web应用开发第11章二手交易市场系统.ppt
- (数据库应用基础VFP)第1章VisualFoxPro6.0数据库系统概述.ppt
- Premiere Pro第1章 PremiereProCS5基础.ppt
- (数据库应用基础VFP)第2章VisualFoxPro6.0基础知识.ppt
- (数据库应用基础VFP)第3章数据库与表.ppt
- (数据库应用基础VFP)第4章查询与视图.ppt
- (数据库应用基础VFP)第5章报表与标签设计.ppt
- Premiere Pro第2章 影视剪辑技术.ppt
最近下载
- 2025年医疗器械经营质量管理制度、工作程序文件目录.pdf VIP
- 浅谈小学数学核心素养之运算能力.pdf VIP
- 2023年我国蚕桑产业发展态势与未来发展建议.docx VIP
- 电力变压器声纹检测技术导则.docx VIP
- 调度员考核管理细则梳理.docx VIP
- 《建设工程施工合同》GF2024—0201.docx VIP
- 会计师事务所的执业质量控制制度.pdf VIP
- 2021《森林消防队伍基础设施、装备及制度建设标准》.pdf VIP
- 《水利水电工程单元工程施工质量验收评定标准-地基处理与基础工程》(SL 633-2012).pdf VIP
- (高清版)-B-T 2423.18-2021 环境试验 第2部分:试验方法 试验Kb:盐雾,交变(氯化钠溶液).pdf VIP
文档评论(0)