24/12/281PHPWEB开发技术24/12/282第七章PHP状态维持PHP里的WEB技术HTTP基础变量状态维持概念服务器信息表单处理---文件的上传sessionCOOKIE24/12/283课前回顾1面向对象编程的概念;2基本的面向对象,如何实现类和对象。OOP(Object-OrientedProgramming,面向对象的编程)技术为编程人员敞开了一扇大门,使其编写的代码更简洁、更易于维护,并且具有更强的可重用性。(对象类继承多态性)24/12/284状态维持的概念1.什么是状态2.状态的用处3.维持状态的三种方法GET、POST方法、COOKIE、SESSION在PHP中,每个用户的状态都是唯一的,而用于标识状态的ID是一个经过加密的随机字符串,它由PHP自动生成,在状态的生命周期中会保存在客户端或服务器端。我们通常用PHP中的Cookie将它保存在客户端,用Session把它保存在服务器端,或者通过URL在多页面间进行相互传递。状态ID就好像一个索引,它允许我们注册一些特定的变量,这些变量又称为状态变量。它们的内容被保存在服务器端,而状态ID是客户端唯一可以获得的信息。24/12/285SESSION(会话)的使用会话提供了从不同页面的访问和对站点的多次访问都能使用的持久性变量。课程顺序:1.如何启用会话2.如何注册一个会话变量3.验证是否注册一个会话变量4.删除会话变量24/12/286如何启用会话如果要使页面启用会话,则应在所有文件生成之前调用session_start();例:......24/12/287如何注册一个会话变量该会话变量的注册的实例如下:<%session_start();session_register('会话变量名');%>*注册了一个会话变量后,系统会自动的生成一个此会话变量名的变量,该变量是全局的24/12/288我们通过session_is_registered(‘变量名’)可以验证该会话变量是否已被注册,如果返回为true,则代表已被注册,false,则代表未被注册。使用session_unregister(‘变量名’)来取消一个注册变量使用session_destory()函数来结束一个会话24/12/289总结应用方面:session_start()//开始会话session_destory()//结束会话session_register()//注册会话变量session_unregister()//取消注册的会话变量验证方面:session_is_registered()//验证是否存在改会话变量24/12/2810HTTP基础作用:当WEB请求一个WEB页面时,它会向服务器发送一个HTTP请求消息。这个请求总是包含一些头信息,有时也包含一个消息体。WEB服务器接收请求,处理请求,并发出一个响应,传回指定的HTML代码浏览器WEB服务器1.浏览器通过HTTP协议向服务器请求运行相应程序3.服务器将HTML文件传给浏览器2.服务器读取并运行(PHP)程序,然后将结果转换为HTML文件4.浏览器将收到的HTML文件显示在屏幕上24/12/2811变量使用PHP脚本语言访问服务器配置和请求信息(包括表单参数和cookie)的方法。总的来说,此信息被称为EGPCS(环境、GET、POST、cookie和服务器)。注意:如果PHP.ini文件中的register_globals选项被启动,PHP就会为每一个表单参数、请求信息片和服务器配置值,创建一个独立的全局变量,因为此功能允许浏览器为程序中的变量提供初始值,所以它虽然方便,但也很危险。24/12/2812PHP将创建6个包含EGPCS信息的全局数组,这些数数组为:$HTTP_COOKIE_VARS(简写:$_COOKIE)包含作为请求的一部分进行传递的cookie值,数组的键是cookie名。$HTTP_GET_VARS(简写:$_GET)包含做为GET请求的一部分进行传递的参数,数组的键是表单参数名称。$HTTP_POST_VARS(简写:$_POST)包含做为POST请求的一部分进行传递的参数,数组的键是表单参数名。$HTTP_POST_FILES(简写:$_FILES)包含有关上传文件的信息。$HTTP_SERVER_VARS(简写:$_SERVER)包含有关WEB服务器的有用信息(将在下一节描述)$HTTP_ENV_VARS(简写:$_ENV)包含环境变量值,数组的键是环境变量名。24/12/2813服务器信息$_SERVER以下是$_SERVER中的全部条目的列表:格式:$_SERVER["数组标识"]1.SERVER_SOFTWARE一个用于标识服务器的字符串2.SERVER_NAME用于自引用URL的主机名、DNS别名或IP地址3.GATEWAY_INT...