9php网络开发教程

上传人:工**** 文档编号:587876802 上传时间:2024-09-06 格式:PPT 页数:37 大小:376.52KB
返回 下载 相关 举报
9php网络开发教程_第1页
第1页 / 共37页
9php网络开发教程_第2页
第2页 / 共37页
9php网络开发教程_第3页
第3页 / 共37页
9php网络开发教程_第4页
第4页 / 共37页
9php网络开发教程_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《9php网络开发教程》由会员分享,可在线阅读,更多相关《9php网络开发教程(37页珍藏版)》请在金锄头文库上搜索。

1、温故上节课程学习了什么?上节课程学习了什么?1.WEB中的一般知识中的一般知识2.什么是什么是HTTP头信息头信息3.在在PHP中实现网页的重定向中实现网页的重定向4.调用调用HTTP头实现不同文件的现实头实现不同文件的现实5.实现文件的下载功能实现文件的下载功能6.EGPCS变量信息变量信息知新知新这节课,我们将学习到以下内容:这节课,我们将学习到以下内容:1.WEB中中SESSION的原理的原理2.SESSION的使用的使用3.使用使用SESSION实现用户登陆实现用户登陆4.COOKIE的原理的原理5.COOKIE的使用的使用6.COOKIE使用实例使用实例第七章第七章 WEBWEB技术

2、技术1.HTTP通信状态通信状态Drop Connection第七章第七章 WEBWEB技术技术通过上面一个模拟通过上面一个模拟HTTP通信的过程,大家通信的过程,大家应该能够发现,应该能够发现,HTTP是一个无状态协议,这是一个无状态协议,这就意味着一旦就意味着一旦Web服务器完成了客户端的服务器完成了客户端的Web页面请求后,他们之间的连接也就断开页面请求后,他们之间的连接也就断开了。这就意味着没有办法使得服务器识别来了。这就意味着没有办法使得服务器识别来自自于同一个客户端的一系列请求。于同一个客户端的一系列请求。第七章第七章 WEBWEB技术技术但是,在我们的实际应用中,状态是必须的,但

3、是,在我们的实际应用中,状态是必须的,例如,如果你不能跟踪来自同一个用户的一例如,如果你不能跟踪来自同一个用户的一系列请求,你就无法设计一个购物车程序。系列请求,你就无法设计一个购物车程序。因为你需要知道什么时候添加了一个什么因为你需要知道什么时候添加了一个什么物品。就无法判断用户是否已经登陆或需物品。就无法判断用户是否已经登陆或需要注册等等。要注册等等。第七章第七章 WEBWEB技术技术为了解决这一系列的问题,一个最初由网景为了解决这一系列的问题,一个最初由网景构构思的超强解决方案诞生了,它就是被命名为思的超强解决方案诞生了,它就是被命名为cookies的一种状态管理机制。的一种状态管理机制

4、。Cookies是对是对HTTP协议的扩充。协议的扩充。更确切地说,它们由两个更确切地说,它们由两个HTTP头部组成:头部组成:Set-Cookie响应头部响应头部Cookie请求头部。请求头部。第七章第七章 WEBWEB技术技术当客户端发出对一个特定当客户端发出对一个特定URL的请求时,的请求时,服务器会在响应时选择包含一个服务器会在响应时选择包含一个Set-Cookie头部。它要求客户端在下面的请求中包含一头部。它要求客户端在下面的请求中包含一个个相应的相应的Cookie头部。头部。第七章第七章 WEBWEB技术技术由于服务器发送了一个由于服务器发送了一个set-cookie的的HTTP头

5、给了客户端,客户端在此时已经头给了客户端,客户端在此时已经相应的生成了相应的生成了Cookie。现在已经生成现在已经生成COOKIE的客户端再次的客户端再次向服务器提出请求时,向服务器提出请求时,COOKIE请求请求头部将会自动跟请求一起到达头部将会自动跟请求一起到达服务器端,服务器就可以标示出访服务器端,服务器就可以标示出访问服务器的客户端了。问服务器的客户端了。第七章第七章 WEBWEB技术技术通过刚才的示例图,我知道了可以通过通过刚才的示例图,我知道了可以通过COOKIE让服务器让服务器“认得认得”客户端了。这一客户端了。这一过程过程就叫做就叫做状态维持状态维持。说了这么多,到底说了这么

6、多,到底COOKIE是一个什么东西是一个什么东西?Cookie是一个包含多个字段的字符串,它以是一个包含多个字段的字符串,它以一个小文本的形式保存在客户端。一个小文本的形式保存在客户端。第七章第七章 WEBWEB技术技术揭开揭开COOKIE的神秘面纱:的神秘面纱:COOKIE在哪里?在哪里?COOKIE被保存在客户端,如果你使用的是被保存在客户端,如果你使用的是Windows,那么你可以在你的用户文件夹,那么你可以在你的用户文件夹中找到他。中找到他。第七章第七章 WEBWEB技术技术找到了找到了COOKIE,我们会发现,我们会发现COOKIE的命名的命名都是有一定的规则的,一般是操作系统的用户

7、都是有一定的规则的,一般是操作系统的用户名加上站点的域名,比如说:名加上站点的域名,比如说:administratorsuperich.org这个名字看着有点象电子邮件的格式,那么我这个名字看着有点象电子邮件的格式,那么我们现在可以把这个文件打开看看里面到底是个们现在可以把这个文件打开看看里面到底是个什么东西。什么东西。第七章第七章 WEBWEB技术技术第七章第七章 WEBWEB技术技术在在PHP中,如何向客户端发送一个中,如何向客户端发送一个COOKIE呢?呢?我们可以在我们可以在PHP使用使用setcookie函数来向浏览函数来向浏览器发送一个器发送一个cookie。语法为:。语法为:Se

8、tcookie(变量名,值,过期时间变量名,值,过期时间);向客户端发送一个向客户端发送一个COOKIE。在这里要注意,过期时间是以在这里要注意,过期时间是以GMT的的1970年年1月月1日为基础的,单位是秒。当时间超过后日为基础的,单位是秒。当时间超过后这个这个COOKIE将不再可用。将不再可用。第七章第七章 WEBWEB技术技术当我们执行了这个程序后,当我们执行了这个程序后,可以发现在可以发现在COOKIE文件夹文件夹中多了一个中多了一个COOKIE文件。文件。这个这个COOKIE的过期时间的过期时间就是就是1个小时之后。个小时之后。第七章第七章 WEBWEB技术技术使用已经设置的使用已经

9、设置的COOKIE的值在的值在PHP中可以中可以使用我们原来学过的使用我们原来学过的EGPCS变量中的变量中的$_COOKIE来取得。语法为:来取得。语法为:$_COOKIE变量名变量名第七章第七章 WEBWEB技术技术第七章第七章 WEBWEB技术技术上面我们讲了怎么向客户端发送一个上面我们讲了怎么向客户端发送一个COOKIE并且从并且从COOKIE中读取保存的信息,那我们来中读取保存的信息,那我们来想一想,如何从客户端删除已前设置的想一想,如何从客户端删除已前设置的COOKIE呢?呢?在我们设置在我们设置COOKIE时,必须要设置时,必须要设置COOKIE的过期时间,那么现在我们要删除的过

10、期时间,那么现在我们要删除COOKIE就可以通过这个时间来控制。就可以通过这个时间来控制。第七章第七章 WEBWEB技术技术这样就可以清除我们留在客户端的这样就可以清除我们留在客户端的COOKIE文件了。文件了。第七章第七章 WEBWEB技术技术在使用在使用COOKIE时应注意以下问题:时应注意以下问题:1.COOKIE的最大长度理论上为的最大长度理论上为4KB,实际,实际使用中,使用中,COOKIE的最大长度不要超过的最大长度不要超过3.5KB2.COOKIE是保存在客户端的,当客户端如果是保存在客户端的,当客户端如果禁止了禁止了COOKIE功能,将无法将任何信息保功能,将无法将任何信息保存

11、。存。3.COOKIE中不要显式的存放密码,银行卡号中不要显式的存放密码,银行卡号等比较敏感的数据。等比较敏感的数据。第七章第七章 WEBWEB技术技术在在PHP中,状态维持除了可以使用中,状态维持除了可以使用COOKIE外外还可以使用会话来替你处理相关还可以使用会话来替你处理相关COOKIE的的操作。操作。第七章第七章 WEBWEB技术技术当用户第一次访问时,都会得到一个唯一的当用户第一次访问时,都会得到一个唯一的会话会话ID,在默认情况下,这个,在默认情况下,这个ID存储在客户存储在客户端的端的COOKIE中,如果客户端不支持中,如果客户端不支持COOKIE则回话则回话ID将被传送到将被传

12、送到Web站点的站点的URL内。内。在服务器端,在服务器端,SESSION将以一个文件的形式将以一个文件的形式保存。所有的保存。所有的SESSION变量都以名称和值变量都以名称和值的形式写在这个文件中。的形式写在这个文件中。第七章第七章 WEBWEB技术技术开始使用开始使用SESSION在使用在使用SESSION之前,必须首先打开之前,必须首先打开SESSION,语法:,语法:Session_start();打开打开SESSION功能,如功能,如SESSION文件不存在文件不存在则创建该文件,如果则创建该文件,如果SESSION文件存在,则文件存在,则将里面的变量信息读入到将里面的变量信息读入

13、到$HTTP_SESSION_VAR中去。中去。第七章第七章 WEBWEB技术技术通过以上的函数,我们已经打开了通过以上的函数,我们已经打开了SESSION但是我们并没有注册任何的但是我们并没有注册任何的SESSION变量,变量,要注册要注册SESSION变量,可以通过以下语句变量,可以通过以下语句Session_register(变量名变量名)注册一个相应变量名的注册一个相应变量名的SESSION变量。变量。注意,注意,SESSION变量必须先注册后再使用。变量必须先注册后再使用。第七章第七章 WEBWEB技术技术第七章第七章 WEBWEB技术技术运行上面的程序,我们发现,运行上面的程序,我

14、们发现,SESSION文件文件已经生成,在文件中发现变量名已经被注册已经生成,在文件中发现变量名已经被注册但是并没有值。因为我们并没有为那个但是并没有值。因为我们并没有为那个SESSION变量赋值。要为一个变量赋值。要为一个SESSION变变量量赋值,可以使用赋值,可以使用$_SESSION数组。数组。$_SESSION变量名变量名 = 值值;第七章第七章 WEBWEB技术技术第七章第七章 WEBWEB技术技术我们上面学习了如何注册一个我们上面学习了如何注册一个SESSION变量变量并可以给并可以给SESSION赋值了,如果要删除一个赋值了,如果要删除一个SESSION变量,可以使用变量,可以

15、使用Session_unregister(变量名变量名)删除一个已注册的删除一个已注册的SESSION变量。变量。第七章第七章 WEBWEB技术技术我们还可以在程序运行时检查一个我们还可以在程序运行时检查一个SESSION变量是否被注册。语法为:变量是否被注册。语法为:Session_is_registered(变量名变量名)检查一个检查一个SESSION变量名是否已经被注册。变量名是否已经被注册。第七章第七章 WEBWEB技术技术除了可以使用除了可以使用session_unregister函数取消函数取消一个已注册的一个已注册的SESSION变量外,还可以使用变量外,还可以使用Session

16、_destroy来清空所有的来清空所有的SESSION信信息并清除息并清除SESSION文件。语法为:文件。语法为:Session_destroy();释放释放SESSION。所有的。所有的SESSION变量将变量将会被清除,并清除服务器端的会被清除,并清除服务器端的SESSION文件文件第七章第七章 WEBWEB技术技术通过上面的讲述,我们已经基本了解了通过上面的讲述,我们已经基本了解了SESSION函数的使用,但是在使用函数的使用,但是在使用SESSION时还需要注意以下问题:时还需要注意以下问题:1.session_start函数必须放在任何输出之前。函数必须放在任何输出之前。2.Ses

17、sion变量必须先申明再使用。变量必须先申明再使用。3.申明申明SESSION变量时只能申明变量名,变量时只能申明变量名,要为变量赋值,应该在变量名申明后使用要为变量赋值,应该在变量名申明后使用$_SESSION变量名变量名第七章第七章 WEBWEB技术技术我们这节课学习了我们这节课学习了COOKIE和和SESSION,我,我们发现,们发现,COOKIE和和SESSION是非常相似是非常相似的,但是的,但是2者之间也存在着很大的区别。者之间也存在着很大的区别。想一想,想一想,SESSION和和COOKIE有什么区别?有什么区别?第七章第七章 WEBWEB技术技术1.保存位置不同。保存位置不同。

18、SESSION是保存在服务器是保存在服务器端,而端,而COOKIE是保存在客户端。是保存在客户端。2.容量不同。容量不同。COOKIE最多可以保存最多可以保存4KB的数的数据,而据,而SESSION可以保存任意多的数据,但可以保存任意多的数据,但需要注意的是,需要注意的是,SESSION越大占用服务器越大占用服务器内存就越多。内存就越多。3.有效范围不同。有效范围不同。第七章第七章 WEBWEB技术技术Cookie保存在客户端,如果保存在客户端,如果COOKIE已经保存已经保存在客户端,并且还没有过期,那么不论你什在客户端,并且还没有过期,那么不论你什么时候再去浏览先前给你生成么时候再去浏览先

19、前给你生成COOKIE的站的站点,服务器都能辨别你。点,服务器都能辨别你。而而SESSION可以理解成一个跟踪的过程,可以理解成一个跟踪的过程,当你访问的网站给你生成当你访问的网站给你生成SESSION后,一直后,一直到你离开网站,到你离开网站,SESSION都可以始终跟随你都可以始终跟随你但是一旦你离开那个网站,但是一旦你离开那个网站,SESSION也就失也就失效了。效了。SESSION是一个连续的过程。是一个连续的过程。总结在这节课中,我们学到了以下内容:在这节课中,我们学到了以下内容:1.WEB中中SESSION的原理的原理2.SESSION的使用的使用3.使用使用SESSION实现用户

20、登陆实现用户登陆4.COOKIE的原理的原理5.COOKIE的使用的使用6.COOKIE使用实例使用实例回顾回顾在本节课中,涉及到的函数如下:在本节课中,涉及到的函数如下:Setcookie()设置设置COOKIESession_start()打开打开SESSIONSession_register() 注册注册SESSION变量变量Session_unregister取消取消SESSION变量变量session_destroy() 释放释放SESSIONSession_is_registered 检测检测SESSION变量是否被注册变量是否被注册作业n改进上次所做的文件下载加入用户注册,用户资料修改,用户密码修改,找回密码等功能。在下载中加入身份认证、防盗链等功能。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号