欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    第11章Session与Cookie.ppt

    • 资源ID:6109732       资源大小:166.05KB        全文页数:16页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第11章Session与Cookie.ppt

    第11章 Session与Cookie,Web应用程序有一个很重要的特性就是可以记录用户的状态。例如,在论坛中,当用户登录之后,可以记录用户的登录状态,甚至还能记录当前用户所在的论坛版块。要实现这样的功能通常需要通过某种载体来保存此类信息。而最常使用的存储载体有Session与Cookie两种。本章将详细讲解如何在PHP中使用Session与Cookie。,11.1 Session与Cookie简介,Session与Cookie都属于会话处理机制范畴。在计算机编程中会话是一种面向连接的可靠通信方式,而会话处理机制就指编程语言实现基于会话的通信的方式。本节将向读者介绍何为Session,什么是Cookie,以及这两种会话处理机制的区别与联系。通过本节内容的学习,读者将会对Session与Cookie有一个大致的认识。为后两节具体学习Session与Cookie的实际使用,打下一个理论的基础。,11.1.1 什么是Session,在计算机专业术语中,Session是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统之间所经过的时间。1Session的作用具体到Web中的Session指的就是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。因此从上述的定义中可以看到,从其实质上来说,Session实际是一个特定的时间概念。2Session解决方案那什么是Session的解决方案呢?我们知道,用户访问一个网站时往往需要浏览许多网页。对于一个通过PHP构筑的网站来说,用户在访问的过程中需要执行许多PHP脚本。然而由于HTTP协议自身的特点,用户每执行一个PHP脚本都需要和Web服务器重新建立连接。,11.1.2 什么是Cookie,Cookie是当用户浏览某网站时,网站存储在客户机器上的一个小文本文件。该文件记录了用户的用户ID、密码、浏览过的网页、停留的时间等信息。当用户再次来到该网站时,网站通过读取Cookie,得知用户的相关信息,就可以做出相应的动作。例如,在页面显示欢迎的标语,或者可以使用用户不用输入ID、密码就直接登录等等。使用Windows操作系统的用户可以使用以下方法查看Cookie信息。(1)单击IE浏览器的工具菜单下的Internet选项子菜单,打开Internet选项对话框。(2)单击“常规”选项卡中的设置按钮,将打开设置对话框。(3)单击设置对话框中的查看文件按钮,将会定位到保存Cookie的目录以查看所有保存到电脑里的Cookie。Cookie文件通常是以userdomain格式命名的。user是你的本地用户名,domain是所访问的网站的域名。如果用户使用NetsCape浏览器,Cookie则被存放在“C:PROGRAMFILESNETSCAPEUSERS”里面。与IE不同的是,NETSCAPE是使用一个Cookie文件记录所有网站的Cookies。,11.1.3 Session和Cookie区别与联系,Session和Cookie都是会话处理机制。二者之间存在差别,但也有一定的联系。本小节就来结合前两小节介绍的内容,具体分析二者的区别与联系。Session与Cookie的共同点为:二者都同为会话处理机制,都可以用来存私密的东西,也同样也都有有效期的概念。Session与Cookie的区别主要体现在以下几个方面:Cookie数据存放在客户的浏览器上,Session数据放在服务器上。Cookie不是很安全,别人可以分析存放在本地的Cookie并进行Cookie欺骗。而Session由于保存在远程服务器上,相对比较安全。考虑到安全性应当使用Session。由于Session会在一定时间内保存在服务器上。当服务器的访问增多时,会占用服务器的性能。考虑到减轻服务器性能方面,应当使用Cookie。单个Cookie在客户端的限制是3K,就是说一个站点在客户端存放的Cookie不能超过3K。而Session则没有这方面的限制。Cookie的使用与浏览器的设置有关,如果用户禁用了Cookie则所有基于Cookie的应用都将失败。而Session则与客户端的配置无关,所以大可放心的使用而不必关心客户端的配置情况。,11.2 Session的使用,通过上一节的介绍,读者可以了解到Session是将数据存放于服务端的一种会话处理机制。使用Session可以增强用户登录注册系统的安全性。本节将具体介绍在PHP中如何使用Session。,11.2.1 如何使用Session,在PHP中要使用Session可以分为:启动Session、注册Session、调用Session以及关闭Session这几步,本节将分别向读者作介绍。1启动Session在使用Session前,首先需要使用函数session_start()来启动该Session。该函数的使用格式如下。bool session_start()2注册SessionSession在启动之后,就可以通过函数session_register()来注册Session变量。该函数的语法格式如以下代码所示。bool session_register(mixed name,mixed.)3调用Session如果php的配置没有开启register_globals(自动全局变量开关),则只可以用_SESSION数组来引用Session变量。例如,var只能这样引用$_SESSIONvar,而如果开启了register_globals选项,则可以直接用$var。4关闭Session如果Session不再需要使用时,可以通过函数session_destroy()来关闭一个Session。此时该Session必须是已经开启的。该函数的使用格式如以下代码所示。bool session_start(),11.2.2 检查指定变量是否为Session,由于定义Session方式的不同,判断Session的方法页不尽相同。下面分别讲解两种常用的检查方法。1以函数定义的Session的判断方法当Session使用session_register()定义时,应该使用session_is_registered()函数进行检查。该函数的使用格式如以下代码所示。bool session_is_registered(string name)2使用$_SESSION直接赋值的Session的判断方法如果Session使用了$_SESSION这样的赋值形式直接,需要使用isset()函数来判断指定变量是否定义。bool isset(mixed var,mixed var,.),11.2.3 获取或者设置Session的保存路径,在PHP中不仅可以对Session进行通常的操作,也可以通过函数对有关Session的配置情况进行读写操作。在使用Session时其保存路径就是一个相当重要的信息,即php.ini中的session.save_path。如果该选项配置不当,将直接导致Session不能使用。要想获取或者设置Session的保存路径,可以通过函数:session_save_path()来实现,该函数使用格式如下所示。string session_save_path(string path),11.2.4 释放Session变量,在使用Session结束后,出于安全性及节约系统资源的考虑可以将Session中的某一个或者全部Session释放。Session的注册方法不同,则其注销(释放)方法也同。本节分别为读者作介绍。1以函数定义的Session的注销方法如果采用session_register()注册的函数,需要用函数:session_unregister()进行注销。该函数的使用格式如下代码所示。bool session_unregister(string name)2使用$_SESSION直接赋值的Session的注销方法采用直接给$_SESSION变量赋值的形式来注册的Session,在注销时也需要使用函数:unset()。在使用unset()时需要注意,只需要把指定变量作为参数即可,如:unset($_SESSIONname)。而不需要把$_SESSION作为参数,因为这样将把所有Session全部注销。,11.3 Cookie的使用,在PHP中使用Cookie可以简单分为:注册Cookie与引用Cookie这两步。注册Cookie就是定义Cookie变量;而引用Cookie即实际调用Cookie变量。本节将详细为读者介绍这两部分内容。,11.3.1 注册Cookie,在PHP中要把某个变量注册为Cookie,只需要通过调用函数:setcookie()即可实现。该函数的使用格式如下代码所示。bool setcookie(string name,string value,int expire,string,path,string domain,bool secure,bool httponly)该函数将定义一个Cookie全局变量并伴随HTTP头信息一起发送。在使用此函数时需要特别注意:该函数前不能有任何的输出内容,包括HTML标记。即使是代码中多出的空格也是不允许的。所以,如果要使用此函数,建议将其放在脚本的第一行。函数将会返回一个布尔值,如果成功发送则返回True,反之则返回False。函数各个参数及其含义如表所示。,11.3.2 引用Cookie,注册Cookie后,就可以引用所注册的Cookie。在前面章节中曾提及一个自动全局变量$_COOKIE。该变量为用户已经注册的Cookie数组。而调用相关的Cookie值就是调用该数组元素。具体操作如下:如果已经定义了一个名为:user的Cookie值。则在调用时就使用$_COOKIEuser这样的形式即可。下面的代码实现了对已经定义的Cookie值的调用:,11.3.3 为Cookie设定生命期,通常的Cookie都有生命期即存在时间。一过生命期,Cookie就会被自动删除。当然用户也可以手动删除,Cookie直接结束Cookie的生命期。例如,在论坛登录系统中,经常需要设定用户的登录有效期。本节就来介绍下如何为Cookie设置生命期。在11.3.1小节中介绍setcookie()函数时提到函数的第三个参数:expire。该参数即是为Cookie设定的过期时间,以秒作为计量单位。比如在使用setcookie()时当把该参数设为:3600,则所注册的Cookie将后在注册一小时后失效。如果省略该参数,则Cookie只在浏览器打开时有效,一旦关闭浏览器窗口,所设置的Cookie就会失效。另外,把expire设置为过去的时间,如time()-1,则Cookie也会在浏览器关闭时失效。下面通过实例来说明如何为Cookie设定生命期。,11.3.4 Cookie使用实例,本节来介绍一个非常实用的PHP使用Cookie的实例。该实例实现通过Cookie来改变网站的风格布局这样的功能。用户在浏览一些网站或者论坛时,会发现有些此类网站提供有类似软件的换肤功能。该功能的实现一方面依靠CSS(Cascading Style Sheets,层叠样式表技术),另一方面也需要结合Cookie来实现。本节就通过一个实例来说明,如何在PHP中使用CSS样式表和Cookie来实现网页(站)的换肤功能。在使用此代码前先建立如下几个CSS样式表文件,以备后用。,11.4 本章小结,本章向读者介绍了在PHP中如何使用Session与Cookie这两种会话处理机制。处理用户会话是与用户进行互动的最有效的方法,善于使用用户会话处理,才能使程序更加人性化。读者在使用Session与Cookie有个问题需要在结束时再次强调一下。那就是不管是session_start()函数,还是setcookie()函数,它们都属发送头部信息一类的函数,因此在这些函数执行前,页面中不能有任何的输出内容包括空格,否则将会出现错误提示。这一点一定要引起用户的注意。,

    注意事项

    本文(第11章Session与Cookie.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开