Cookie和Session课件知识资料_第1页
Cookie和Session课件知识资料_第2页
Cookie和Session课件知识资料_第3页
Cookie和Session课件知识资料_第4页
Cookie和Session课件知识资料_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Cookie和Session什么是CookieCookie是Web服务器通过程序写到浏览器所在计算机硬盘上的一个记事本文件。能够被同一个域的其他Web页面检索和使用。根据有效期限不同,Cookie分成临时性Cookie和永久性Cookie。临时性Cookie将信息保存在用户计算机的内存中,当用户关闭浏览器时自动结束。永久性Cookie将信息保存在用户计算机的文本文件中。永久性Cookie有一个终止日期,在终止日期之后操作系统将删除该Cookie。什么是CookieCookie文件的内容包括变量名和变量值对(名/值对)。大多数浏览器支持最多4M的Cookie文件。大多数浏览器允许一个网站保存20

2、个Cookie。总数最多为300个。用户可以设置浏览器拒绝Cookie。创建Cookie使用setcookie()函数,该函数最多可以有6个参数。注意:Cookie信息必须在脚本的任何其他输出之前发送。示例:setcookie(“user”,”张三”);setcookie(“age”,20);读取Cookie当在客户端设置了Cookie后,客户端浏览器会将请求和Cookie一起发送回Web服务器。通过$_COOKIE数组读取Cookie变量值。echo $_COOKIE“user”;临时性Cookie上面用setcookie(“名”,”值”)的形式创建的Cookie,在用户关闭浏览器前,可以用

3、此浏览器查看站点中每个页面,都可以得到这个Cookie的值。关闭浏览器后,这个Cookie值就获取不了了,所以称为临时Cookie,或者Session Cookie。创建永久性Cookie使用setcookie的第三个参数,设置Cookie的生存期或有效期即可。有效时间是一个UNIX时间戳(从1970年1月1日零时开始计算的秒数)。利用两个函数计算时间戳:time()返回当前的UNIX时间戳mktime()计算给定日期的时间戳示例:time()+10000mktime(12,30,50,10,8,2011)2011年10月8日12:30:50创建永久性Cookiesetcookie(“user

4、”,”Mike”,time()+1000);使用Cookie实现的简单计数器:if(isset($_COOKIEcount)$count=$_COOKIEcount+1;setcookie(count,$count,time()+100000);echo 你访问本页面$count 次了;删除Cookie删除Cookie的方法是重新执行setcookie函数,将cookie值设置为空字符串,其他与上一次调用setcookie函数时相同。将时间设置为过去时间也可以删除Cookie。setcookie(“user”,”);setcookie(“user”,”Mike”,time()-1)课堂练习完成

5、“自动登录”功能。PHP的SessionSession的工作原理Session:会话,从用户登录网站开始,到关闭浏览器或者结束会话所经过的时间。首次启动会话时,服务器生成一个唯一的会话标识符(Session ID),它是一个标识会话的长的字符串。通过这个SID,服务器与浏览器保持彼此之间的联系。默认情况下,会话标识符存放在浏览器的Cookie中,这个Cookie由Web服务器自动发送到访问它的客户端浏览器。根据PHP的会话配置不同,可以将会话中的所有信息保存到服务器共享内存、会话文件或者数据库。会话的生命周期默认为24分钟,可以通过修改PHP的php.ini配置文件指令来设置。Session的

6、配置配置信息放在php.ini文件中session.save_handler = files定义用哪种存储方式来存储会话数据,其值为文件files,共享内存mm,SQLite数据库sqlite和用户自定义函数user。默认为files。文件方式会产生大量的会话文件;共享内存最快但易引起系统崩溃;sqlite用数据库管理会话;user配置复杂但最稳定功能最强大,可以自定义函数,在任何媒体中存储会话数据。Session的配置session.save_path = N;/path“如果session.save_handler设置为files,哪么这个指令用来指定存储会话文件的目录。如:session

7、.save_path=“d:temp”注意:指定路径必须首先创建出该文件夹。Session的配置session.use_cookies = 1指定是否在客户端用Cookie来存放会话标识符SID,默认为1(启用)。如果设置为1表示用Cookie存SID,设置为0则使用URL参数传递SID。session.use_trans_sid = 1如果上面的选项设定了,那么为了确保SID的传送,可以启用本指令,则SID可以自动的附加到URL中。Session的基本使用启动Sessionsession_start()读写Session变量$_SESSION“变量名”=值 /写值echo $_SESSION

8、“变量名” /读值删除Session变量session_unset()删除当前会话中所有会话变量session_destroy()删除会话文件,当前会话变量还在Session的基本使用获取或设置会话标识符session_id() 如果浏览器关闭Cookie,可以通过URL传递SID更改会话标识符session_regenerate_id(bool delete_old_session)重新生成一个新的SID,替换原来的,但是当前会话的所有数据都会保留,可选参数delete_old_session表示是否删除当前会话标识符对应的会话文件,默认为false。获取或设置Session名称session_name(string name) /PHPSESSID参数name可以更改Session名称Session的基本使用编码和解码Session数据会话数据按一个会话变量由一个字符串组成的标准格式来存储。例如:city|s:4:大连;由 名称|类型:长度:”值”一般PHP自动对会话变量及其值进行编码自动解码。session_en

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论