PHP入门第14章COOKIE和会话技术.ppt_第1页
PHP入门第14章COOKIE和会话技术.ppt_第2页
PHP入门第14章COOKIE和会话技术.ppt_第3页
PHP入门第14章COOKIE和会话技术.ppt_第4页
PHP入门第14章COOKIE和会话技术.ppt_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

COOKIE和会话技术,,什么是Cookie,Cookie是一种在远程浏览器端存储数据并以此来跟踪和识别用户的机制。简单地说,Cookie是Web服务器暂时存储在用户硬盘上的一个文本文件,并随后被Web浏览器读取。当用户再次访问Web网站时,网站通过读取Cookies文件记录这位访客的特定信息(如上次访问的位置、花费的时间、用户名和密码等),从而迅速作出响应,如在页面中不需要输入用户的ID和密码即可直接登录网站等。 文本文件的命令格式如下: 用户名网站地址数字.txt,Cookie的功能,Cookie可以让Web页面更有针对性、更加友好,保存关于用户的重 要信息,包括使用的语言、阅读和音乐偏好,访问站点的次数,购物车 中的物品记录。Cookie常用于以下3个方面: 记录访客的某些信息。例如,可以利用Cookie记录用户访问网页的次数,或者记录访客曾经输入过的信息,另外,某些网站可以应用Cookie自动记录访客上次登录的用户名。 在页面之间传递变量。浏览器并不会保存当前页面上的任何变量信息,当页面被关闭后,页面上的任何变量信息将随之消失。如果用户声明一个变量id=8,要把这个变量传递到另一个页面,可以把变量id以Cookie的形式保存下来,然后在下一页通过读取该Cookie来获取变量的值。 将所查看的Internet页存储在Cookies临时文件夹中,这样可以提高以后浏览的速度。,创建Cookie,在PHP中通过setcookie()函数创建Cookie 。 语法格式如下: bool setcookie ( string name , string value , int expire , string path , string domain , int secure ) 参数说明 name:Cookie的变量名,例如:可以通过$_COOKIE“cookiename“调用变量名为cookiename的Cookie value:Cookie变量的值,该值保存在客户端,不能用来保存敏感数据,例如:可以通过$_COOKIE“values”获取名为values的值,创建Cookie,expire:Cookie的失效时间,expire是标准的UNIX时间标记,可 以用time()函数或mktime()函数获取,单位为秒。如果不设置Cookie的 失效时间,那么Cookie将永远有效,除非手动将其删除 path:Cookie在服务器端的有效路径 ,例如:如果该参数设置为 “/”,则它就在整个domain内有效,如果设置为“/11”,它就在 domain下的/11目录及子目录内有效。默认是当前目录 domain:Cookie有效的域名,例如:如果要使Cookie在 域名下的所有子域都有效,应该设置为“” Secure:指明Cookie是否仅通过安全的HTTPS,值为0或1,例如:如 果值为1,则Cookie只能在HTTPS连接上有效;如果为默认值0,则Cookie在HTTP和HTTPS上都有效,读取Cookie,在PHP中通过超级全局数组$_COOKIE来读取 浏览器端的Cookie值。,删除Cookie,当Cookie被创建后,如果没有设置它的失效时间,其Cookie文件会在关闭浏览器时被自动删除。那么如何在关闭浏览器之前删除Cookie文件呢?方法有两种:一种是应用setcookie()函数删除;另一种是应用浏览器手动删除Cookie。 应用setcookie()函数删除Cookie 删除Cookie和创建Cookie的方式基本类似,删除Cookie也使用setcookie()函数。删除Cookie只需要将setcookie()函数中的第二个参数设置为空值,第三个参数将Cookie的过期时间设置为小于系统的当前时间即可。 例如,将Cookie的过期时间设置为当前时间减1秒,代码如下: setcookie(“name“, “, time()-1); 上面的代码中,time()函数返回以秒表示的当前时间戳,把过期时间减1秒就会得到过去的时间,从而删除Cookie。,删除Cookie,应用浏览器手动删除Cookie 在使用Cookie时,Cookie自动生成一个文本文件存储在IE浏览器的Cookies临时文件夹中。,Cookie应用的注意事项,(1)在应用setcookie()函数创建Cookie之前,不能有任何HTML 输出 (2)通过setcookie()函数创建Cookie后,在当前页应用echo $_COOKIE“name”不会有任何输出。必须是在刷新后或者到达 下一个页面时才可以看到Cookie值。 (3)使用Cookie的限制: 不设定Cookie过期时间:那么它的生命周期为浏览器会话的期间,只 要关闭IE浏览器,Cookie就会消失。这种Cookie被称为会话Cookie,一 般不保存在硬盘上,而是保存在内存中。 设定Cookie过期时间:那么浏览器会把Cookie保存到硬盘中,再次打开IE时依 然有效,直到它的有效期超时。 注意:一个浏览器能创建的Cookie数量最多为30个,并且每个 Cookie的容量不能超过4KB,每个Web站点能设置的Cookie总数不 能超过20个。,Cookie应用的注意事项,(4)Cookie是保存在客户端的,如果用户禁止使用Cookie,那么Cookie也就失去了作用。因为浏览器会拦截Cookie,并且询问用户是否允许Cookie进门。所以在应用Cookie实现某些功能时,还是要考虑清楚,搞不好哪个用户会将它当作病毒处理掉,功能也就不能实现了。,了解Session,什么是Session? Session从用户访问页面开始,到断开与网站连接为 止,形成Sessions的生命周期。 Session工作原理 当启动一个Session会话的时候,会有一个随机且唯一 的Session_id,也就是Session的文件名生成,这个时候 Session_id存储在服务器的内存中,当我们关闭页面的时候此id 会自动注销,重新登录此页面,会再次生成一个随机且唯一的id。,了解Session,Session的功能 Session在Web技术中占有非常重要的地位。由于网页是一 种无状态的连接程序,因此无法记录用户的浏览状态。因此必须 通过Session记录用户的有关信息,以供用户再次以此身份对 Web服务器提供要求时作确认。例如,在电子商务网站中,通过 Session记录用户登录的信息,以及用户所购买的商品,如果没 有Session,用户就会每进入一个页面都需要输入用户名和密码 注意:Session会话适用于存储用户的信息量比较少的情况 。如果用户需要存储的信息量相对较少,并用对存储内容不需要 长期存储,那么使用Session把信息存储到服务器端比较适合。,启动Session,启动PHP会话的方式有两种:一种是应用session_start()函 数;另一种是应用session_register()函数为会话登录一个变量 来隐含地启动会话。 通过session_start()函数创建会话 语法:bool session_start(void); 通过session_register()函数创建会话 session_register()函数用来为会话登录一个变量来隐含地 启动会话,但要求设置php.ini文件的选项,将register_globals指 令设置为“on”,然后重新启动Apache服务器。 注意:使用session_register()函数时,不需要调用 session_start()函数,PHP会在注册变量之后隐含地调用 session_start()函数。,注册会话,会话变量启动后,全部被保存在全局数组$_SESSION中。 通过全局数组$_SESSION创建一个会话变量很容易,只需直接 给该数组添加一个元素即可。 例如,启动会话,创建一个Session变量并赋予空值,代码如下 ,使用会话,session可以保存当前用户的特定数据和相关信息 可以保存的数据类型包括字符串、数组和对象等。将 各种类型的数据添加到Session中,必须应用全局数 组$_ SESSION。,删除Session,删除会话的方法主要有删除单个会话、删除多个会话和结 束当前会话3种。 1删除单个会话 删除会话变量,同数组的操作一样,直接注销$_SESSION数组的某 个元素即可。 例如,注销$_SESSIONname变量,可以使用unset()函数,代 码如下: unset ( $_SESSIONname ) ; 2删除多个会话 如果要一次注销所有的会话变量,可以将一个空的数组赋值给 $_SESSION,代码如下: $_SESSION = array() ;,删除Session,3结束当前会话 如果整个会话已经结束,首先应该注销所有的会话变量,然后使用 session_destroy()函数清除结束当前的会话,并清空会话中的所有资 源,彻底销毁Session,代码如下: session_destroy() ;,Cookie与Session的比较,Session与Cookie最大的区别是:Session是将信息保存 在服务器上,并通过一个Session ID来传递客户端的信息,服 务器在接收到SessionID后根据这个ID来提供相关的Se

温馨提示

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

最新文档

评论

0/150

提交评论