![PHP程序设计基础第8章-会话管理_第1页](http://file4.renrendoc.com/view/0543908dbb384aec22df4bee20dce8b7/0543908dbb384aec22df4bee20dce8b71.gif)
![PHP程序设计基础第8章-会话管理_第2页](http://file4.renrendoc.com/view/0543908dbb384aec22df4bee20dce8b7/0543908dbb384aec22df4bee20dce8b72.gif)
![PHP程序设计基础第8章-会话管理_第3页](http://file4.renrendoc.com/view/0543908dbb384aec22df4bee20dce8b7/0543908dbb384aec22df4bee20dce8b73.gif)
![PHP程序设计基础第8章-会话管理_第4页](http://file4.renrendoc.com/view/0543908dbb384aec22df4bee20dce8b7/0543908dbb384aec22df4bee20dce8b74.gif)
![PHP程序设计基础第8章-会话管理_第5页](http://file4.renrendoc.com/view/0543908dbb384aec22df4bee20dce8b7/0543908dbb384aec22df4bee20dce8b75.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
会话管理第八章目录01Web交互03Cookie技术02HTTP协议04Session技术01Web交互1.Web表单交互当用户在网站上填写了表单后,需要将数据提交给网站服务器对数据进行处理和保存。通常变淡都会通过method属性指定提交方式,当表单提交时,浏览器就会按照置顶的方式发送请求。例如,当提交方式为POST时,浏览器发送POST请求,当提交方式为GET时,浏览器发送GET请求。01Web交互当PHP收到赖在浏览器提交的数据后,会自动保存到超全局变量中。超全局变量是PHP预定义好的变量,可以在PHP脚本的任何位置使用。常见的超全局数组变量有$_POST、$_GET等,通过POST方式提交的数据会保存到$_POST中,通过GET方式提交的数据会保存到$_GET中。01Web交互2.URL参数交互当表单以GET方式提交时,会将用户填写的内容放在URL参数中进行提交。URL:http://localhost:8080/huihua/1.php?username=111&password=222上述URL中,“?”后面的内容为参数信息。参数是由参数名和参数值组成的,中间使用等号“=”进行连接。多个参数之间使用“&”分隔。01Web交互注意:在实际开发中通常都不会使用GET方式提交表单,因为GET方式提交的数据在URL中是可见的,并且传送的数据大小有限制。GET方式更多是用在获取信息时传递一些参数。02HTTP协议当浏览器提交表单后,PHP直接通过$_POST数组就可以获取表单数据了,非常方便。那么,为什么浏览器与Apache、PHP这几种不同的软件能够如此紧密协同地工作呢?这是因为它们都遵守了HTTP协议。超文本传输协议(HyperTextTransferProtocol,HTTP)是浏览器与Web服务器之间数据交互需要遵循的一种规范。是一种基于“请求”和“响应”的协议,当客户端与服务器建立连接后,由客户端(浏览器)向服务器端发送一个请求,被称为HTTP请求,服务器接收到请求后会作出响应,称为HTTP响应。02HTTP协议除此之外,由于HTTP是无状态协议,因此若后续处理需要前面的信息,则必须重新传递,这样可能导致每次连接传送的数据量增大,这是在程序开发中需要注意的地方。03Cookie技术通过前面的学习,我们知道HTTR是无状态的协议。当一个用户在请求一个页面后再请求另外一个页面时,HTTP无法告诉我们这两个请求是来自一个用户,这就意味着需要有一种机制来跟踪和记录用户在该网站所进行的活动,这就是会话技术。会话技术是一种维护同一个浏览器与服务器之间多次请求数据状态的技术,它可以很容易地实现对用户登录的支持,记录该用户的行为,并根据授权级别和个人喜好显示相应的内容。03Cookie技术Cookie是在HHTP协议下,将服务器传递给浏览器的少量数据保存到用户浏览器的一种方式。通过这种方式,即使在浏览器被关闭和连接中断的情况下,用户也可以维护状态数据。在Web应用程序中,Cookie是网站为了辨别用户身份而存储在用户本地终端上的数据。当用户通过浏览器访问Web服务器时,服务器会发送给客户一些信息,这些信息都保存在Cookie中。当该浏览器再次访问服务器时,会在请求头中同时将Cookie发送给服务器,这样,服务器就可以对浏览器作出正确的响应。03Cookie技术利用Cookie可以跟踪用户与服务器之间的会话状态,通常应用于保存浏览历史、保存购物车商品和保存用户登录状态等场景。Cookie常用于以下3个方面:1.记录访客的某些信息。例如:可以利用cookie记录用户访问网页的次数。2.在页面之间传递变量。3.将所查看的Internet页存储在cookie临时文件夹中,这样可以提高以后浏览的速度。03Cookie技术1.Cookie基本使用Cookie的使用很简单,最主要的两个步骤就是创建和获取。在开发需要的情况下,还可以对其进行修改和删除操作。(1)创建Cookie在PHP中,使用setcookie()函数可以创建或修改cookie,其声明方式如下所示。boolsetcookie(stringname[,stringvalue[,intexpire[,stringpath[,stringdomain[,boolsecure]]]]])
03Cookie技术在PHP中通过setcookie()函数创建Cookie,至少接受一个参数,也就是Cookie的名称(如果只设置了名称参数,那么在远程客户端上的同名Cookie会被删除)。
03Cookie技术参数说明举例nameCookie的名称使用$_COOKIE['cookiename']
调用名为cookiename的cookievalue
Cookie的值。此值保存在客户端,不要用来保存敏感数据假定name
是'cookiename',可以通过$_COOKIE['cookiename']
取得其值。expireCookie过期的时间。这是个Unix时间戳,即从Unix纪元开始的秒数。time()+60*60*24*30
将设定cookie30天后失效。如果未设定,cookie将会在会话结束后(一般是浏览器关闭)失效。pathCookie在服务器端的有效路径。如果该参数设为'/'的话,cookie就在整个domain
内有效,如果设为'/foo/',cookie就只在domain
下的/foo/
目录及其子目录内有效,例如/foo/bar/。默认值为设定cookie的当前目录。domain
该cookie有效的域名。要使cookie能在如
域名下的所有子域都有效的话,该参数应该设为'.'。虽然.并不必须的,但加上它会兼容更多的浏览器。如果该参数设为
的话,就只在www
子域内有效。secure指明cookie是否仅通过安全的HTTPS连接传送。当设成TRUE
时,cookie仅在安全的连接中被设置。默认值为FALSE。值为0或103Cookie技术例:<?phpsetcookie("username","dangjiaqi",time()+60,"/test",".",1);?>
03Cookie技术(2)获取Cookie在PHP中,任何从客户端发送的Cookie数据都会自动存入到$_COOKIE超全局数组变量中。通过$_COOKIE数组可以回去Cookie数据。例:echoisset($_COOKIE['username'])?$_COOKIE['username']:"";
03Cookie技术(2)删除Cookie当Cookie创建后,如果没有设置它的有效时间,则Cookie文件会在关闭浏览器时自动被删除。但是,如果希望在关闭浏览器前删除Cookie文件,同样可以使用setcookie()函数来实现。例:setcookie("username",'',time()-1);
03Cookie技术2.Cookie路径与域名Cookie在用户的计算机中是以文件形式保存的,浏览器通常会提供Cookie管理程序。以Chrome浏览器为例,执行【设置】【高级设置】【隐私设置】【内容设置】【所有Cookie和网站数据】可以找到Cookie的管理程序。
03Cookie技术3.Cookie的缺点尽管Cookie实现了服务器与浏览器的信息交互,但也存在一些缺点:1.Cookie被附加在HTTP消息中,无形中增加了数据流量。2.Cookie在HTTP消息中是明文传输的,所以安全性不高,容易被窃取。3.Cookie存储于浏览器,可以被篡改,服务器接受后必须先验证数据的合法性。4.浏览器限制Cookie的数量和大小(通常限制为50个,每个不超过4KB),对于复杂的存储需求来说是不够用的。
04Session技术1.Session简介Session在网络应用中称为“会话”,在PHP中用于保存用户连续访问Web应用时的相关数据,有助于创建高度定制化的程序。Session通常用于保存用户登录状态,保存生成的验证码。Session是一种服务器端的技术,它的生命周期从用户访问页面开始,直到断开与网站的连接时结束。当PHP启动Session时,Web服务器在运行时会为每个用户的浏览器创建一个供其独享的Session文件。04Session技术在创建Session文件时,每一个Session都具有一个唯一的会话ID,用于标识不同的用户,且会话ID会分别保存在客户端和服务器端两个位置。客户端通过Cookie保存,服务器端以文件的形式保存到php.ini指定的Session目录中,对于Window系统,默认情况下保存到“C:\wamp\tmp”目录中。04Session技术2.Session基本使用(1)启动Session在使用Session之前,需要先通过session_start()函数启动Session。该函数的返回值时布尔型,如果Session启动成功,返回true,否则返回false。04Session技术(2)查看SessionID与Session通过浏览器访问开启Session的PHP文件,可在开发者工具中查看Cookie中保存的会话ID。Cookie名称“PHPSESSION”是php.ini中配置项的默认值。在服务器中,打开Session文件默认的保存目录“wamp\tmp”,服务器保存了文件名为“sess_会话ID”的Session文件,该文件的会话ID与浏览器Cookie中显示的会话ID一致,表示这个文件只允许拥有会话ID的用户访问。04Session技术(3)Session的使用在完成Session的启动后,接下来Session的使用与Cookie的用法类似,可以通过超全局变量$_SESSION添加、读取和修改Session中的数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 知识创新的实践路径-以我的博士课程为例
- 2025年中国葛洲坝集团国际工程有限公司校园招聘笔试参考题库附带答案详解
- 2025山东影视传媒集团山东影视制作股份有限公司招聘7人笔试参考题库附带答案详解
- 2025年春道德与法治七年级下册教学课件 1.1.2 男生女生
- 涵洞安全培训
- 家纺面料知识培训
- 2024江西吉安市青原区赣悦产业园区运营管理有限公司招聘1人订阅+阅读模式笔试参考题库附带答案详解
- 2025-2030年微生物群落分析芯片行业深度调研及发展战略咨询报告
- 2025-2030年坚果质量检测服务站行业跨境出海战略研究报告
- 2025-2030年咖啡糖企业制定与实施新质生产力战略研究报告
- 2024年汇算清缴培训
- 幼儿园监控项目技术方案
- 班主任工作培训内容
- 手印鉴定书模板
- 存款代持协议书范文模板
- 某公司码头试运行经营方案
- 2024年度中国邮政集团公司县分公司工作总结
- 部编人教版四年级下册道德与法制全册教案
- 综合应用能力事业单位考试(综合管理类A类)试卷及解答参考(2025年)
- Unit1Lesson2HowDoWeLikeTeachers'Feedback-课件高中英语北师大版选择性
- 2024年中科院心理咨询师官方备考试题库-上(单选题)
评论
0/150
提交评论