第讲会话管理_第1页
第讲会话管理_第2页
第讲会话管理_第3页
第讲会话管理_第4页
第讲会话管理_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、北京源智天下科技有限公司课程:课程:phpphp程序设计程序设计11-2北京源智天下科技有限公司课程:课程:网页样式与布局技术网页样式与布局技术2课程内容安排1-3北京源智天下科技有限公司课程:课程:网页样式与布局技术网页样式与布局技术3cookie概述 cookie的作用的作用 cookie的限制的限制 1-4北京源智天下科技有限公司课程:课程:网页样式与布局技术网页样式与布局技术4cookie的作用 如果服务器想要记录各用户上站的次数,使用文件存储数据,那么数据量会非常大,对服务器来说负担会很重。因此,可以将数据存入用户计算机中,如此一来服务器就不需要记录大量的数据,也不用识别不同的用户,

2、而将个人上站信息存储在个人计算机上。在网页系统上,常用cookie来记录会员的id和密码,其记录和运用的结构示意图如图121所示。 会员资料申请会员网页显示会员账号显示会员账号读取cookie存入cookie读取cookie 一般来说,cookie通过http headers从服务器端返回浏览器。首先,服务器端在响应中利用set cookie header来创建一个cookie。然后浏览器在请求中通过cookie header包含这个已经创建的cookie,并且将它返回至服务器,从而完成浏览器的论证。 图121 存储和读取cookie 1-5北京源智天下科技有限公司课程:课程:网页样式与布局技

3、术网页样式与布局技术5cookie的限制 因为cookie常常用来存储用户的重要信息,为了防止乱用导致用户的信息泄漏,所以对cookie做出以下限制。 浏览器记录cookie的容量不得大于4kb。每个浏览器只能保存某个服务器上的20个cookie。如果试图保存更多的cookie,则最先保存的cookie就会被删除。每个用户的浏览器最多只能访问300个cookie。 由于cookie保存着重要信息,出于安全考虑,用户可以拒绝服务器存储这些数据。因此,要使用cookie存储信息,必须先确认浏览器中cookie的功能是否已经打开。打开浏览器“属性”|“安全”|“自定义级别”选项,选中启用即可。 1-

4、6北京源智天下科技有限公司课程:课程:网页样式与布局技术网页样式与布局技术6课程内容安排1-7北京源智天下科技有限公司课程:课程:网页样式与布局技术网页样式与布局技术7php中cookie的使用 创建创建cookie 访问访问cookie cookie工作时间工作时间 cookie数组数组 1-8北京源智天下科技有限公司课程:课程:网页样式与布局技术网页样式与布局技术8创建cookie 确认cookie的权限后,接着要创建cookie。创建cookie需要调用setcookie()函数,其格式如下: bool setcookie (string name ,string value ,int

5、expiration ,string path ,bool secure ) name参数指定cookie的名称,其他参数为可选参数。value参数是存入cookie的值,此值保存在客户端,不能用来保存敏感数据。expiration参数指定cookie的过期时间,过了这个时间,将无法访问cookie。path为cookie在服务器上的有效路径,用来指定cookie将被发送到服务器的哪一个路径下。secure指明cookie是否通过安全的https链接传送,当设为true时,cookie仅在安全的链接中被设置。 1-9北京源智天下科技有限公司课程:课程:网页样式与布局技术网页样式与布局技术9访问

6、cookie 大多数变量都会在包含它们的php脚本终止时消失。与此相反,cookie是可以无限期保留其值的变量,因此为了保留它们的值,用户的浏览器必须在用户的本地硬盘驱动器上存储cookie。 【练习121】创建a,b的值后,通过cookie访问变量a、b的值。其程序如示例代码121所示。 1.?php2.setcookie (“a“, aaa);3.setcookie (“b“, bbb);4.echo a= .$_cookiea.;5.echo b= .$_cookieb.;6.echo 取出cookie值;7.?1-10北京源智天下科技有限公司课程:课程:网页样式与布局技术网页样式与布局

7、技术10cookie工作时间 重新打开一个浏览器,然后执行练习121,此时会发现cookie不见了,这是因为没有设置有效的cookie工作时间所致。如果要保留或浏览器之间共用cookie,就必须设置有效时间,其设置方法如下: time()+秒数 time()函数取得目前系统的时间标签,后面的秒数即是cookie的有效时间。如果要指定某个日期,可以使用mktime(),其结构形式为: mktime(时,分,秒,月,日,年) cookie在到达过期时间后将被自动删除。不过也可以立即删除一个cookie。要想实现这一点,将cookie的过期时间设置为过去的一个时间即可。1-11北京源智天下科技有限公

8、司课程:课程:网页样式与布局技术网页样式与布局技术11创建a、b、c的cookie值都为“10”,a的失效时间为一小时之前,b的失效时间为一小时后,c的失效时间为2010年1月1日前。01setcookie(a,“10”, time() -3600);02setcookie(b,“10”, time() +3600);03setcookie(c,10, mktime(0,0,0,1,1,2010);代码第01行将cookiea的过期时间设置为一小时之前,其值已经被删除。第02行将cookieb的过期时间设置为一小时之后。第03行设定cookiec的失效时间为2010年1月1日前。1-12北京源

9、智天下科技有限公司课程:课程:网页样式与布局技术网页样式与布局技术12cookie数组 php可以将cookie各个变量联系起来,组成数组。下面通过实例介绍如何创建一个cookie数组。 【练习123】通过setcookie设定三个cookie变量a、b、c,其值分别为“2008”、“i am a student.”、“i am a teacher.”,然后以数组形式输出。 1-13北京源智天下科技有限公司课程:课程:网页样式与布局技术网页样式与布局技术13课程内容安排1-14北京源智天下科技有限公司课程:课程:网页样式与布局技术网页样式与布局技术14session常见函数及用法 启动一个启动

10、一个session调用调用session变量变量查看查看session_id的值的值 session的使用的使用1-15北京源智天下科技有限公司课程:课程:网页样式与布局技术网页样式与布局技术15启动一个session session将信息存储在服务器端信息存储在服务器端,每一个链接进入网站服务器后便会产生一个session。所以第一步就是告诉服务器要使用session的功能来存储数据。 使用session功能的方式有两种:第一种是使用session_start()函数启动会话,第二种是利用php.ini设置文件。 第一种方式启动一个会话,其结构形式如下: session_start() 其开

11、始一个会话或者返回已经存在的会话,函数没有参数,且返回值均为true。使用此函数时必须在任何输出前调用此函数在任何输出前调用此函数,否则会显示如下错误: warning: cannot send session cache limiter - headers already sent (output started at /usr/local/apache/htdocs/cga/member/1.php:2)1-16北京源智天下科技有限公司课程:课程:网页样式与布局技术网页样式与布局技术16 以第二种方式启动会话,可以在php.ini里设置参数session.auto_start。将此参数设为

12、1,表示enable,即当连接到服务器后session的功能将自动开启。 启动session之后,在使用session变量之前首先要注册变量,之后才能使用,反之不使用某个变量时就要取消注册。session_ragister(变量名)可以注册一个session变量;session_unregister(变量名称)可以取消注册一个session变量,例如: 01 session_start(); 02 session_register(user); 03 session_unregister(user); 第01行启动session变量,第02行注册user变量,第03行注销user变量。 1-1

13、7北京源智天下科技有限公司课程:课程:网页样式与布局技术网页样式与布局技术17调用session变量 php 5 可以直接使用$_session函数创建函数变量,其格式如下: $_session$sting=$str; 参数$sting为要定义的变量名,$str为要定义的变量值。注册的变量为全局变量,然后是可以使用$_session$sting调用变量,其使用方法和get、post、cookie相似。 【练习124】创建session变量count和user,其值设为“2008”和“hello”。然后调用该变量,使之输出“2009”和“hello my friend”。 1-18北京源智天下科

14、技有限公司课程:课程:网页样式与布局技术网页样式与布局技术18查看session_id的值 服务器利用不同的session_id来区别不同的session,用户可以通过session_id()函数查看其本身使用的session_id,其结构形式如下: session_id() 函数session_id()取得当前session_id值,也可以用其设定session_id值,使用该函数前必须启动会话,如果当前会话没有启动,则返回空字符串。 【练习125】通过session_id()函数,查看当前网页的session_id值。 1-19北京源智天下科技有限公司课程:课程:网页样式与布局技术网页样式

15、与布局技术19session的使用 下面通过一个实例来讲解session的使用。注册session变量,用户名为“php基础教程”,密码为“php”,通过cookie或url方式传递变量。通过session.php文件显示用户名、密码和登录时间。 1-20北京源智天下科技有限公司课程:课程:网页样式与布局技术网页样式与布局技术20课程内容安排1-21北京源智天下科技有限公司课程:课程:网页样式与布局技术网页样式与布局技术21综合练习 1使用cookie实现用户登录,判断用户名和密码是否输入正确,即是否为“php”。如果不正确,输出“你输入的用户名和密码不正确,请尝试新的输入。”。如果正确,输出“恭喜您!登录成功!”。 2王军的math

温馨提示

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

评论

0/150

提交评论