第七章PHP状态维持.ppt_第1页
第七章PHP状态维持.ppt_第2页
第七章PHP状态维持.ppt_第3页
第七章PHP状态维持.ppt_第4页
第七章PHP状态维持.ppt_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、2020/8/6,1,PHP WEB开发技术,2020/8/6,2,第七章 PHP 状态维持,PHP里的WEB技术 HTTP基础 变量 状态维持概念 服务器信息 表单处理-文件的上传 session COOKIE,2020/8/6,3,课前回顾 面向对象编程的概念; 基本的面向对象,如何实现类和对象。,OOP(Object-Oriented Programming,面向对象的编程)技术为编程人员敞开了一扇大门,使其编写的代码更简洁、更易于维护,并且具有更强的可重用性。 (对象 类 继承 多态性 ),2020/8/6,4,状态维持的概念 1.什么是状态 2.状态的用处 3.维持状态的三种方法 G

2、ET、POST方法、COOKIE、SESSION,在PHP中,每个用户的状态都是唯一的,而用于标识状态的ID是一个经过加密的随机字符串,它由PHP自动生成,在状态的生命周期中会保存在客户端或服务器端。我们通常用PHP中的Cookie将它保存在客户端,用Session把它保存在服务器端,或者通过URL在多页面间进行相互传递。 状态ID就好像一个索引,它允许我们注册一些特定的变量,这些变量又称为状态变量。它们的内容被保存在服务器端,而状态ID是客户端唯一可以获得的信息。,2020/8/6,5,SESSION(会话)的使用 会话提供了从不同页面的访问和对站点的多次访问都能使用的持久性变量。 课程顺序

3、: 1.如何启用会话 2.如何注册一个会话变量 3.验证是否注册一个会话变量 4.删除会话变量,2020/8/6,6,如何启用会话 如果要使页面启用会话,则应在所有文件生成之前调用session_start(); 例: . ,2020/8/6,7,如何注册一个会话变量 该会话变量的注册的实例如下: *注册了一个会话变量后,系统会自动的生成一个此会话变量名的变量,该变量是全局的,2020/8/6,8,我们通过session_is_registered(变量名)可以验证该会话变量是否已被注册,如果返回为true,则代表已被注册,false,则代表未被注册。 使用session_unregister

4、(变量名)来取消一个注册变量 使用session_destory()函数来结束一个会话,2020/8/6,9,总结 应用方面: session_start()/开始会话 session_destory()/结束会话 session_register()/注册会话变量 session_unregister()/取消注册的会话变量 验证方面: session_is_registered()/验证是否存在改会话变量,2020/8/6,10,HTTP基础 作用:当WEB请求一个WEB页面时,它会向服务器发送一个HTTP请求消息。这个请求总是包含一些头信息,有时也包含一个消息体。WEB服务器接收请求,处

5、理请求,并发出一个响应,传回指定的HTML代码,浏览器,WEB服务器,1.浏览器通过HTTP协议向服务器请求运行相应程序,3.服务器将HTML文件传给浏览器,2.服务器读取并运行(PHP)程序,然后将结果转换为HTML文件,4.浏览器将收到的HTML文件显示在屏幕上,2020/8/6,11,变量 使用PHP脚本语言访问服务器配置和请求信息(包括表单参数和cookie)的方法。总的来说,此信息被称为EGPCS(环境、GET、POST、cookie和服务器)。 注意:如果PHP.ini文件中的register_globals选项被启动,PHP就会为每一个表单参数、请求信息片和服务器配置值,创建一个

6、独立的全局变量,因为此功能允许浏览器为程序中的变量提供初始值,所以它虽然方便,但也很危险。,2020/8/6,12,PHP将创建6个包含EGPCS信息的全局数组,这些数数组为: $HTTP_COOKIE_VARS(简写:$_COOKIE) 包含作为请求的一部分进行传递的cookie值,数组的键是cookie名。 $HTTP_GET_VARS(简写:$_GET) 包含做为GET请求的一部分进行传递的参数,数组的键是表单参数名称。 $HTTP_POST_VARS(简写:$_POST) 包含做为POST请求的一部分进行传递的参数,数组的键是表单参数名。 $HTTP_POST_FILES(简写:$_F

7、ILES) 包含有关上传文件的信息。 $HTTP_SERVER_VARS(简写:$_SERVER) 包含有关WEB服务器的有用信息(将在下一节描述) $HTTP_ENV_VARS(简写:$_ENV) 包含环境变量值,数组的键是环境变量名。,2020/8/6,13,服务器信息$_SERVER以下是$_SERVER中的全部条目的列表: 格式:$_SERVER数组标识 1.SERVER_SOFTWARE 一个用于标识服务器的字符串 2.SERVER_NAME 用于自引用URL的主机名、DNS别名或IP地址 3.GATEWAY_INTERFACE 所遵循的CGI标准的版本号 4.SERVER_PROT

8、OCOL 请求协议的名称和版本 5.SERVER_PORT 请求发送到的服务器端口号 6.REQUEST_METHOD 客户端用于获取文档的方法,例如:“GET” 7.PATH_INFO 客户端发送的扩展路径,例如:/list/users8.PATH_TRANSLATED PATH_INFO的值,由服务器转换成文件名,例如:/home/httpd/htdocs/list/users 9.SCRIPT_NAME 当前页面的URL路径,用于自引用脚本,例如:/me/menu.php 10.QUERY_STRING 所在问号之后的URL,例如:name=fred+age=35 11.REMOTE_S

9、TRING 请求本页的主机机器名,如果主机没有DNS,则此值为空,并且只给出REMOTE_ADDR信息 12.REMOTE_USER 一个字符串,包含请求本页的机器的IP地址,例如:”43“,2020/8/6,14,练习1 将所有的服务器信息用表格给输出,最好是做一个登陆界面登陆后出现此界面!,2020/8/6,15,Cookie,Cookie的许多用途与Session相同保持一些信息的轨迹用来给一个用户导航你的站点。 Cookie是存储在客户端的一小段信息,与Session最大的区别就是,它完全存储在用户的计算机上,并加载到浏览器缓存中。其实它就像用一个变量那么简单。

10、(另外,PHP中的COOKIE并不是完全存储在用户的计算机上的,在服务器上有拷贝。),2020/8/6,16,表单处理 表单的接收参数是可以用数组$_GET或$_POST得到的,但文件域,虽然表现出来是POST,但是一定要用到$_FILES。 1.$_GET($HTTP_GET_VARS)和$_POST( $HTTP_POST_VARS)的区别 2.$_FILES上传和接收文件 2.1上传文件会遇到的问题 2.2$_FILES的键有哪些 name、type、size、tmp_name 2.3is_uploaded_file()方法 2.4move_uploaded_file()方法0,2020

11、/8/6,17,2.1 上传文件会遇到的问题 注意:得到的文件太大而不能处理 解决方法1:解除硬限制,将PHP.ini中的upload_max_filesize选项为上传文件的长度改为2兆以上 解决方法2:在文件字段提交之前提交一个名为upload_max_filesize的参数,那么PHP将把那个值做为文件大小的软限制。 2.2 $_FILES的键值 1.name 由浏览器提供的文件名。 2.type 上传文件的MIME类型。 3.size 上传文件的大小(以字节为单位)。 4.tmp_name 上传文件在服务器中的临时文件名。,2020/8/6,18,表单处理 is_uploaded_file()方法 格式: if(is_uploaded_file($_FILEStoProcesstmp_name) /上传成功 /检测一个文件是否被成功上传,2020/8/6,19,表单处理 move_uploaded_file()方法 格式: is_uploaded_file($_FILEStoProcesstmp_name,path/to/put/file/$file) /将上传的文件从临时文件夹下移动到指定的目录,在调用这个方法的时候,将自动检测该文件是否上传。,2020/8/6,20,总结,本章着重讲解了Session和Coo

温馨提示

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

评论

0/150

提交评论