PHP程序设计电子教案.doc_第1页
PHP程序设计电子教案.doc_第2页
PHP程序设计电子教案.doc_第3页
PHP程序设计电子教案.doc_第4页
PHP程序设计电子教案.doc_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

软件工程课章节:第一章 PHP入门课时4学时教学目的:通过学习,学生可以了解PHP程序的工作流程,并可以编写、运行简单的PHP程序教学重点:PHP程序工作流程以及PHP运行环境的安装、配置。教学难点:PHP程序的工作流程在windows中配置Apache、PHP以及MySQL。解锁第一个PHP程序的工作流程。教学实施过程设计教学内容: 1-1PHP 概况1 . PHP 的优势PHP 发展到今人,只备了很多优势:( l )易学好用(2 )免费开源(3 )良好的可扩展性(4 )平台无关性(跨平台)( 5 )功能全面(6 )数据库支持(7 )面向对象编程2 . PHP 的应用领域PHP主要月于以下3 个应用领域。( l )服务器端脚本程序(2 )命令行脚木程序(3 )桌面应用程序使用PHP 编写服务器端脚木程序是PHP 最常用的应用领域,这也是木课程着重阐述的内容。3 . HTML 内嵌式的脚本语言这是我的第一个PHP 程序: 注意:PHP代码通常以符号“ ” 结束,这两个符号分别叫做PHP开始标记和结束标记。PHP 程序文件名中的扩展名通常使用“.php“ ,例如helloworld.php 1-2 PHP脚本程序工作流程1. WEB 浏览器WEB 浏览器(WEB Browser )也叫网页浏览器,简称浏览器。浏览器是用户最为常用的客户端程序,主要功能是显示HTML 网页内容,并让用户与这些网页内容产生互动。常见的浏览器有微软的Internet Explorer(简称IE )浏览器、Mozilla的Firefox 浏览器等。2 . HTML 简介HTML 是网页的静态内容,这些静态内容由HTML 标记产生,WEB 浏览器识别这些HTML 标记并解释执行。例如WER 浏览器识别HTML 标记“ ”,将标记解析为一个换行。在PHP 程序开发过程中 , HTML 主要负责页面的互动、布局和美观。3 . PHP 预处理器PHP 预处理器(PHP Preprocessor)的功能是将PHP 程序中PHP代码解释为文本信息,这些文木信息中可以包含HTML 代码。4.web服务器 WEB服务器(WEB Server)也称为WWW(Word Wide Web)服务器,功能是解析HTTP 。当WEB 服务器接收到浏览器的一个HTTP 动态请求时WEB服务器会调用与请求对应的程序,程序经PHP 预处理器解释执行后,WEB 服务器向浏览器返回HTTP 响应,该响应通常是一个HTML 页面浏览器接收到该HTTP 响应后,将执行结果显示在浏览器或进行其他处理。 常见的WEB服务器有微软的Internet Information Server(IIS)服务器、IBM 的WebSphere 服务器、开源的Apache服务器等。其中Apache 具有免费、速度快且性能稳定等特点,它已成为目前最为流行的WEB 服务器。5 数据库服务器数据库服务器(DataBase Server )是一套为应用程序提供数据管理服务的软件,这些服务包括数据管理服务(例如数据的添加、删除、修改、杳询)、事务管理服务、索引服务、高速缓存服务、查询优化服务、安全及多用户存取控制服务等。常见的数据库服务器有甲骨文的Oracle、微软的SQL Server、IBM的DB2、SAP的Sybase以及SUN公司的MySQL数据库服务器。由于MySQL具有体积小、速度快、免费等特点,许多中小型WEB系统选择MySQL作为数据库服务器。6 .PHP 程序的下作流程 l-3 PHP 服务器构建1.安装Apache服务器:双击11 文件httpd-2.2.19-win32-x86-openssl-0.9.8r.ms,在安装程序打开窗口中,除了制定安装目录,并设定输入土机名、管理员信箱。一路选择“Next”下去,完整安装。注(在此我们将Apache 服务器安装在D:/apache/apache2.2)安装完成后,在任务栏托盘区中会增加一个Apache服务程序运行图标,这说明服务器已经安装成功,在IE 地址栏中键入迎http:/localhost/,即可看到Apache 的欢迎页面。2.设置Apache的服务端口在Apache 安装路径下的D : Apache Apache2.2 conf 文件夹中,打开httpd.conl 文件,找到“listen80 ”所在的一行,将“80 ”改为白己希望的端日号,如8000 。修改后,停止Apache 服务,再启动,然后再浏览器地址栏中输入http:/localhost:8000,观察效果。3.安装PHP 环境将php也解压缩在d:/apache/php 日录下4.配置PHP 参数( l )在步骤2 所用到的httpd.conf 文件中,在文件最后加上以下三行代码PHPIniDir“D :Apachephp ”LoadModule php5 _ module “D :Apachephpphp5apache2_2.dll AddTyPe application/x-httpd-php.php 其中: PHPIniDir: “一行的”中填写为PHP 的安装路径。 LoadModule php5_module”一行的”填写为PHP的安装路径php5apache2_2.dll 。( 2 )设置PHP 文件存放路径打开httpd.conf 文件,在文件最后加上 ( D:Apachewwwroot 是放置web目录的路径,路径即是存放网站的路径)Options Indexes FollowSymLinks AllowOverride None Order allow deny Allow from all (3)配置启用默认文档打开D:ApacheApache2.2confhttpd.conf 238行附近,设置启用默认文档 Directorylndex index.html index.php (4)配置虚拟目录打开httpd.conf 文件,启用Includc conf/extra/httpd-vhosts . conf 打开ApacheApache2.2confextra中的httpd-vhosts.conf 文件并进行配置,即设置虚拟目录与域名,在D盘的Apache 文件夹下创建wwwroot 文件夹。ServerAdmin webmasterdummy-host2.locahost DocumentRoot”D:Apachewwwroottest“ServerName test ErrorLog”D:Apachewwwroottestlogserror.log “ CustomLog”D : Apache wwwroottestlogsaccess.log”common ServerAdmin webmaterdummy-host2.locallost DocumentRoot “D:Apachewwwroot phpMyAdmin” ServerName mysql ErrorLog”D : Apache wwwroot phpMyAdminlogserror.log” CustonLog“D :ApachewwwrootphpMyAdminlogsaccess.log”common 注:以上的logs文件夹是存放错误日志的文件夹(5)找到PHP 的安装路径下的php . ini(复制一份php.ini-dist ,文件名修改为php.ini ),启用配置找到: extension_dir =”D:Apachephpext”( 491 行附近,此行说明要调用ext中的文件)Session.save_path =”D:Apachetmp”( session临时保存的文件夹,其中tem是白行创建的,995 行附近) extension =php_gd2.dll(前面的;去掉)启用618 行附近 extension = php_mysql.dll(前面的;去掉)启用633 行附近 upload_tmp_dir = “D :Apachetmp”(上传文件临时保存的文件夹,其中tmp是自行创建的)549 行附近(6)将PHP 安装路径下的文件php5ts .dll .libmysql.dll 复制到Winnt ( Windows)/ systenl32/目录中。5 .安装Mysql 在Apache 文件夹下,安装详细步骤见MySQL 详细安装步骤.doc文档。6 配置Mysql 数据库的管理程序phpMyAdmin 将phPMyAdmin整个文件夹复制到wwwroot 文件夹下,phpMyAdmin 是用来管理数据库MySQL 的程序; 在wwwroot创建一个名为test的文件夹,该文件夹即是存放网站的文件夹;7 配胃C:WINDOWSsystem32driversetc下的hosts文件,即域名和本地IP ()一致。8 创建一个简单的PHP程序,保存为index.php ,并将其存放test文件夹下在地址栏里输入http:/test/,如果输出hello,world!,说明环境配置正确 First program 9.上述(1)、(2)、(3)、(4)、(5)、(6)、(7)都做完后,重新启动Apache服务。复习及作业布置:自己动手搭建PHP运行环境及其配置。扩展学习参考:课后反思: 教学过程:1、介绍一下课程的情况,包括课时,学分,课程的性质,学生学习本课程能获得什么知识能达到什么目的,强调课程的重要性以及课程学习好的方法。介绍本课程的考核方式,强调平时成绩的重要性。 2、借助多媒体课件,对PHP进行介绍,介绍 PHP脚本程序工作流程,演示服务器的构建。介绍代码基本语法及PHP程序组成及编码规范。3让学生自己实际动手操作搭建运行环境。授课章节:第二章PHP基础课时4学时教学目的:通过学习,学生可以从整体上认识PHP程序的各个组成部分,并可以制作功能简单的用户注册系统。教学重点: PHP数据、PHP数据类型、浏览器端的数据采集、PHP程序的数据采集、PHP数据处理、PHP数据的输出。教学难点:编程规范习惯的养成PHP数据、PHP数据类型、浏览器端的数据采集、PHP程序的数据采集、PHP数据处理、PHP数据的输出。教学实施过程设计教学内容: 2-1PHP 代码基本语法1.PHP开始标记与结束标记 (1)开始标记“” (2)开始标记“和结束标记“” (3)开始标记“” (4)开始标记“”2.PHP 注释PHP 支持如下三种注释风格(例如程序annotation.php ) : 第一种:/*多行注释风格*/;第二种:/单行注释风格;第三种:#号单行注释风格。 ?php/*这是PHP多行注释3.PHP 语句及语句块PHP 程序一般由若干条PHP语句构成,每条PHP语句完成某项操作。PHP中的每条语句以英文分号“; “结束,只有PHP结束标记之前的PHP语句可以省略结尾分号。如果PHP语句之间密不可分,可以使用“”和“”,将这些PHP语句包含起来形成语句块。单独使用语句块时没有任何意义,语句块只有和条件控制语句(if-else)、循环语句(for和while)、函数等一起使用时才有意义。2-2 PHP 程序的组成 从功能的角度,完整的PHP程序可以划分为三个组成部分:数据的采集、数据的处理和数据的输出,其中PHP的数据采集主要包括三个过程:浏览器端的数据采集、浏览器端数据的提交和PHP程序的数据采集。1.关于PHP数据与传统的高级语言一样;(1) PHP使用变量或常量实现数据在内存中的存储,并使用变量名(例如$userName)或常量名(例如PI)实现了内存数据的按名存取。(2)PHP 使用等于号“=”(赋值运算符)给变量赋值。(3)PHP不允许直接访问一个未经初始化的变量,否则PHP预处理器会提示Notice信息。(4)PHP提供变量作用域的概念实现内存数据的安全访问控制。(5)PHP引入了数据类型的概念修饰和管理数据。与传统的高级语言不一样:(1) PHP变量名之前要加美元符号“$”标识,例如$userName 变量。(2)PHP是一种“弱类型的语言”,声明变量或常量时,不需要事先声明变量或常量的数据类型,PHP会自动由PHP预处理器根据变量的值将变量转换成适当的数据类型。2.PHP 数据类型PHP数据类型分为四种:标量数据类型、复合数据类型、特殊数据类型和伪类型。 其中标量数据类型分为四种:布尔型、整型、浮点型和字符串型;复合数据类型共有两种:数组和对象;特殊数据类型有资源数据类型和空数据类型;伪类型通常在函数的定义中使用。3.浏览器端的数据采集 浏览器端数据的采集主要依靠HTML提供的FORM表单实现。FORM表单是包含一系列表单元素的区域,表单元素是允许用户在表单中输入信息的元素。常见的表单元索有:文本域、下拉列表、单选框、复选框等。4.PHP 程序的数据采集PHP 程序register.php负责采集用户注朋FORM 表单提交的数据,然后进行显示。?php $userName=$_GET“userName”;$password=$_GET“password”;$confirmPassword=$_GET“confirmPassword”;/以下代码输出$userName变量、$password 变量、$confirmPassword变量的值,并输出换行符echo $userName;echo $”; echo $password;echo $”; echo $confirmPassword;?5.PHP 数据处理修改后的register.php程序负责采集表单提交数据,然后对这些数据进行简单处理。?php $userName =$_GET“userName”;$passsword= $_GET“password”;$confirmPassword=$_GET“confirn1Password”; if ($passsword=$confirmPassword)echo”您可以注册了”;echo ; echo “您加密后的密码为:”;echo md5($passsword);elseEcho”您输入的密码和确认密码不一致,请重新注册1”;?6.PHP数据的输出PHP 经常使用echo语句向浏览器输出字符串数据,除了echo语句外,还可以使用Print语句或Printf()函数向浏览器输出字符串数据。echo与Print 输出的是没有经过格式化的字符串,而print()函数则是输出经过格式化的字符串。对于复合数据类型的数据(如数组或对象),可选用print_()函数输出。如果HTML代码块中只嵌入一条PHP 语句,且该PHP语句是一条输出语句,此时可以使用输出运算符输出字符串数据。2-3编码规范1.书写规范(1)缩进 (2)大括号 (3)运算符2.命名规范(1)类 (2)常量 (3)变量 (4)数组 (5)函数 (6)数据库表字段 (7)类文件3.为代码添加注释软件开发是一种高级脑力劳动,精妙的算法之后往往伴随着难以理解的代码,对于不经常维护的代码,往往连开发者本人也忘记编写的初衷。要为代码添加注释,增强代码的可读性和可维护性。有时添加注释和编写代码一样难,但养成这样的习惯是必要的。请记住:尽最大努力把方便留给别人和将来的自己。复习及作业布置:扩展学习参考:课后反思: 教学过程:复习导入:本章着重讲述PHP基本语法、PHP程序的组成以及PHP 编码规范,详细讲解PHP数据类型以及数据输出等知识。通过本章的学习,读者可以从整体上认识PHP程序的各个组成部分,并可以制作功能简单的用户注册系统。讲解新知: 1.代码基本语法2.编码规范3.PHP 程序的组成授课章节:第三章 PHP表达式课时4学时教学目的:通过学习,学生可以了解变量、常量、常用运算符、变量状态函数以及类型转换的相关知识,为今后设计更为复杂的程序奠定坚实的基础。教学重点:isset()函数、unset()函数、empty()函数的使用字符串连接运算符、错误抑制符、比较运算符等运算符的使用数据类型的转换。教学难点:理解“空”与NULL的区别,数据类型的自动转换。教学实施过程设计教学内容: 3-1常量1.自定义常量define()函数的语法格式:define(name,值为value,Boolean case_insensitive) 功能:定义一个名字为name,值为value的常量:ase _insensitive 参数的默认值默认为FALESE , 表示常量名name大小写敏感(区分大小写): case_insensitive 参数值如果为TRUE,表示常晕名name大小写不敏感(不区分大小写)。说明:常量名name为字符串类型数据,常量值value 必须是标量数据类型数据。注意:常量名前面不加前缀”$”符号。 常量的作用域是全局的,不存在使用范围的问趣,可以在程序任意位置进行定义和使用常量。常最一旦被定义,其值不能在程序过程中修改,也不能被销毁。2.常量的内存分配 内存中专门为常量的存储分配了一个空间:常量存储区。常量存储区是一块比较特殊的存储空间,位于该存储空间的常量是全局的,且在程序运行期间不能修改和销毁。3.预定义常量 PHP还预定义了许多常最,这些常量无需使用define()函数定义,可直接在程序中使用。(1)_FILE_ ( FILE 前后是两个下划线):当前正在处理的脚木文件名。(2)_LINE _( L INE 前后是两个下划线):正在处理的脚本文件的当前行数。(3)PHPV_VERSION :当前PHP 预处理器的版本。(4)PHP_OS: PHP所在的操作系统的类型,如Linux。(5)TRUE :表示逻辑真:FALSE 常最:表示逻辑假:NULL 常最:表示没有值 或值不确定。(6)DIRECTORY_SEPARATOR常量:表示目录分隔符,Unix 或Linux 操作系统环境时的值为“/”Windows 操作系统环境时的值为“”。3-2变量1.变量基本概念 变量是用于临时存储数据的容器,这些数据可以是任意一种数据类型的数据PHP中的变最名遵循以下规则:(1)变量名必须以美元符号($)开头,例如:$userName 。(2)变量名的第一个字符必须是字母或下划线(不能是数字),变量名称可以包含字母、数字和下划线的组合。(3)PHP中的变量名是区分大小写的,这是一个非常重要的规则。这意味着$userName 和$UserName 是截然不同的两个变量。2 变量赋值方式 (1)传位赋值方式 (2)传地址赋值方式3.可变变量 PHP 提供了一种特殊类型的变量:可变变量,可变变最允许PHP程序动态地改一个变量的变量名,可变变量的工作原理是用一个变量的“值”作为另一个变量的“名”。3-3有关变量或常量状态的函数1.数据类型查看函数(1)gettype()函数(2)var_dump函数2.检查常量或变量是否定义函数 (1)define()函数 (2)isset函数3.取消变量定义unset()函数4.检查变量是否为“空” (1)empty()函数 (2)is_nul()函数5.数据类型检查函数3-4 PHP运算符1.算术运算符 2.递增乒递减运算符 3.赋值运算符 4.比较运算符 5.逻辑运算符 6.字符串连接运算符 7.错误抑制运算符 8.条件运算符9.类型运算符 10.执行运算符 11.位运算符 12.运算符优先级3-5数据类型的转换1.类型自动转换2.强制类型转换复习及作业布置:扩展学习参考:课后反思:教学过程:复习导入: PHP 表达式是PHP程序最为重要的组成部分,PHP表达式指的是将相同数据类型或不同数据类型的数据,用运算符号按一定的规则连接起来、有意义的式子,木章可以围绕表达式详细讲解表达式中涉及的变最、常量以及常用运算符,最后讨论表达式中数据类型之间的相互转换。讲解新知:(1)详细讲解常量 (2)详细讲解变量 (3)介绍有关变量和常量状态的函数 (4)详细讲解PHP运算符 (5)介绍数据类型的转换 最后对本次课内容进行总结授课章节:第四章 PHP流程控制课时4学时教学目的:通过学习,学生可以了解条件控制结构、循环结构以及程序跳转和终止语句3种类型的PHP流程控制语句,这3种类型的流程控制构成了面向过程编程的核心。通过学习,为今后设计更为复杂的程序奠定坚实的基础。 教学重点:ifelse语句、switch语句、while语句以及break语句、continue语句、exit语句。 教学难点:switch语句、while语句以及break语句、continue语句、exit语句。教学实施过程设计教学内容:4-1条件控制结构1.if语句 If语句的语法格式为: If(条件表达式) 语句块 2.if else语句 if.else语句的语法格式为: if(条件表达式) 语句块1 else 语句块2 3,.switch语句Switch语句的语法格式: Switch(表达式) Case值1:语句块1; break; Case值2:语句块2; break; Default: 语句块n; 4-2 循环结构1. while 循环语句 while循环语句是最简单的循环语句,它的语法格式跟if 语句相似:while(条件表达式) 语句块; 2.dowhile 循环语句dowhile 循环语句的语法格式如下所示:do 语句块; while(条件表达式); 3.for:循环语句for循环语句的语法格式如下所示: for(表达式l ;条件表达式2 ;表达式3) 语句块; for 循环语句中,各表达式的功能如下: 表达式1 的功能是初始化循环控制变量,表达式l只执行一次,并且不是必需的。条件表达式2 为循环控制条件,若条件表达式2值为TRUE ,则执行语句块;若条件表达式2 值为队FALSE则跳出for 循环。条件表达式2 也不是必需的。表达式3 的功能是修改循环控制变量的值。表达式3也不是必需的。4 循环结构应用程序nine.php使用PHP循环结构制作九九乘法表。4-3其他流程控制语句1.continue语句 continue语句一般在for 、while 或do while 循环结构中使用。在循环结构中,当程序执行至continue 时,程序将跳过木次循环中剩余的代码并开始执行下一次循环。例如程序continue.php的功能是计算l + 3 + 5 99 的奇数和。2.break 语句 当break 在switch语句中使用时,它会使程序跳出当前的Switch 语句。 brcak 语句还可以使用在for 、while 或do while 循环语句中,使得程序跳出当前循环结构。例如程序break.php的功能时计算I + 2 + 3 100的和。3.终止PHP 程序运行 exit语言结构的语法格式:void exit( string message) exit 语言结构的功能:输出字符串信息message ,然后终止PHP 程序的运行。例如程序exit.php 从程序exit.php的运行结果可以看出:(1)使用逻辑或(or)表达式:$a or $b 可以强制只有表达式$a的结果为队FALSE时,表达式$b才会执行。(2)当某个表达式运行失败时,该表达式的结果为FALSE 。 复习及作业布置:扩展学习参考:课后反思:教学过程:复习导入:PHP程序中如果没有流程控制语句,PHP程序将从第一条PHP语句开始执行,一直运行到最后一条PHP语句。流程控制语句用于改变程序执行次序,从而控制程序的执行流程。讲解新知: (1)通过例子讲解条件控制语句 (2)通过例子讲解循环结构 (3)通过例子讲解程序跳转和终止语句授课章节:第五章PHP数组 课时4学时教学目的:通过学习,学生可以了解数组的基本概念以及数组常用的处理函数,并掌握几种数组遍历方法。教学重点:数组的遍历foreach语言结构、常用数组函数的使用、数组内部指针。教学难点:各种数组遍历的方法常用数组函数的使用,例如快速创建数组的函数、数组统计函数、数组指针函数、数组和变量间的转换函数、数组遍历语言结构、数组检索函数。教学实施过程设计教学内容:5-1数组的基本概念1.为什么引入数组 使用标量数据类型定义的变量只能存储单个“数据”,仅依靠标量数据类型远不现实生活中的一些常见问题,例如一个设置个人信息的页面。2.数组的分类一维数组、二维数组、多维数组5-2一维数组的创建1.直接将变量声明为数组元素,一个变量声明为一个数组元素有三种方法:第一种方法:不指定数组元素的“键”, 示例程序:$characters=”humour”; 第二种方法:将数组元索的“键”指定为某个整数,示例程序:$iterests2=”music”; 第三种方法:将数组元素的“键”指定为某个字符串,示例程序:$colors“red=”red”;2使用array()语言结构创建数组 PHP提供了array()语言结构创建数组,array()语言结构接受一定数量用逗号分隔的key = value参数对,这样可以一次性地为数组添加多个元素(若key省略,则key值为整数)。3.创建数组的注意事项(1)如果数组元素中的“键”是一个浮点数,则键”将被强制转换为整数(例如浮点数8.0将被强制转换为整数8),如果“键”是TRUE 或FALSE ,则键”将被强制转换为整数1 或O 。(2)如果数组元素中的“键”是一个字符串,且该字符串完个符合整数格式时,数组元素的“键”将被强制转换为整数(例如“9”将被强制转换为整数9)。(3)由于数组元素中的“键”唯一标识一个元素,因此数组中元素的“键”不能相等(使用比较)。如果两个数组元素的“键”相等,“键”对应的值将被覆盖。(4)不要在array()语言结构中使用诸如”red=”red”键值对的方式创建数组元素,也不要使用诸如$colorsred=”red”的赋值语句的方式创建数组元素,否则程序的可读性及运行效率将大扫折扣。4.数组元素“值”的访问 访问数组元素值的方法和访问变量值的方法相同:通过指定数组名并在方括号内指定”键名”的方式“访问”数组元素的”值”。使用这样的方法访问数组,不仅可以读取某个数组元素的“值”,还可以为数组添加数组元素以及修改数组元素的“值”,并可以像访问“变最”的方法访问数组元素的值。PHP 提供两种变量赋值方式:传值赋值和传地址赋值,对于数组同样适用。5-3多维数组1.二维数组的创建二维数组的创建方法和一维数组的创建方法相同。 方法一:直接将变量声明为二维数组 方法二:使用array()语言结构创建二维数组2.二维数组元素“值”的访问 二维数组中存在两个“键”,因此访问数组元素的“值“时需要指定这两个”键”。例如:$ students“2010001”“studentName”对应的值是”张三” ,其中第一个键”2010001”用于指定二维数组$studcnts中的某一行”,第二个“键”$studentName用于指定二维数组$student的该“行”的某一“列”。只使用第一个“键“访问数组时,访问的是二维数组中的某一“行”,该行是一个一维数组。5-4数组处理函数及应用1.快速创建数组的函数(1)range()函数语法格式:array range(mixed start ,mixed end) 函数功能:快速创建一个从start 到end 范围的数字数组或字符数组。函数说明:如果start end,序列将从start 到end。 (2)explode()函数语法格式:array explode(string separator , string st ) 函数功能:使用指定的字符串分隔符separator分割字符串str ,将分割后的字符串放到数组中,并返回该数组。 (3)array_combine()函数语法格式:array_combine( array keys,array values) 函数功能:创建一个新数组,用数组keys的值位作为新数组的“键”,数组values的值作为新数组的“值”。 (4)array_fill()函数语法格式:array array _fill(int start_key,int length,mixed value) 函数功能:创建一个数组,并为该数组添加length个数组元素,数组元素的“键“,从start_key 处开始始递增,每个数组元素的值为value。说明:length必须是一个大于零的数值,否则PHP 会提示Warning警告信息。(5)array_pad()函数语法格式array array_pad( array arr ,int pad_size,mixed pad_value ) 函数功能:array_pad()函数返回数组arr的 一个拷贝,并用pad _ value 将其填补到pad _ size 指定的长度。如果Pad_size为正,则数组被填补到右侧,如果为负则从左侧升始填补。如果pad_size的绝对值小于或等于input 数组的长度则没有任何填补。2.数组统计函数(1)count()函数语法格式:int count ( array arrint mode )函数功能:统计并计算数组arr中元素的个数。如果数组arr是多维数组,可将mode 参数的值设为常量COUNT_RECURSIVE(或整数l),计算数组arr中所有元素的个数;mode的默认值是0。该函数的别名函数为sizeof()。 (2)max()函数语法格式:mixed max(array arr ,array) 函数功能:统计并计算数组arr中元素的最大值。说明:PHP 会将非数值的字符串当成0处理,但如果这个正是最大的数值则仍然会返回一个字符串。如果多个数组元素的值为0且是最大值,函数会返回其中数值的0 ,如果数组元素中没有数值的O ,则返回按字母表顺序最大的字符串。 (3)min()函数语法格式:mixed min(array arr,array )函数功能:统计并计算数组arr中元素的最小值。说明:PHP 会将数组arr中的字符串当成0处理,如果字符串正是数组arr中最小的数值,则仍然会返回一个字符串:min ()函数返回一个字符串时,该字符串为数组中顺序靠前的字符串。 (4)array_sum()函数语法格式:: number arry_sum( array arr ) 函数功能:统计并计算数组arr中的所有元素值的和,array_sum()返回整数或浮点数。说明:PHP 会将数组arr 中的非数值类型的元素值自动类型转换为整数或浮点数。(5)array_product()函数语法格式:number array_product(array arr ) 函数功能:统计并计算数组arr中所有元素值的乘积,该函数返回整数或浮点数。说明:PHP会将数组arr中的非数值类型的数据自动类型转换为整数或浮点数。(6)array_count_values()函数语法格式:array array_count_values ( array arr ) 函数功能:统计并计算数组arr中所有元素的值出现的次数。3.数组指针函数4.数组和变量间的转换函数5.数组遍历语言结构6.数组检索函数7.数组排序函数8.数组与数据结构9.数组集合运算函数复习及作业布置:扩展学习参考:课后反思: 教学过程:复习导入:数组(Array)是一组批量的数据存储空间,这一组存储空间在内存是邻接的,每一个存储空间存储了一个数组元素,元素之间使用“键”(key)来识别,通过数组名和“键”的组合数组中每一个元素的访问。然后按以下内容讲解: (1)讲解数组的基本概念 (2)通过演示讲解一维数组的创建 (3)介绍多维数组 (4)介绍数组处理函数及应用 最后对本次课内容进行总结授课章节:第六章 PHP的数据采集课时4学时教学目的:通过学习,学生可以了解浏览器端数据的各种提交方式,如何创建FORM表单实现浏览器端的数据采集, PHP程序各种数据采集的方法,以及如何实现文件的上传功能。通过本章的学习,读者可以结合PHP数组实现功能复杂的“用户注册系统”。 教学重点:设计FORM表单、文件上传的表单的设计以及如何实现文件上传功能。教学难点:在FORM表单中使用数组文件上传的具体流程、与文件上传有关的配置多文件上传的实现(可以参考习题以及习题答案)。教学实施过程设计教学内容:6-1浏览器端数据的提交方式1.GET 提交方式 GET 提交方式是将“请求”数据以查询字符串(Query String)格式附在URL 之后“提交”数据。例如:http:/localhost/2/register.php?userName =victor&password= 1234&confirmpassword=1234 在这个URL中,问号“? ”表示查询字符串的开始,问号“? ”后面的字符串参数 userName = victor&password = 1234&confirmPassword = 1234 ”为查寻字符串。可以看出 : 查询字符串可以包含多个参数,每个参数以“参数名参数值”的格式定义,参数之间使用“& ”相连,最后再将查询字符串使用“? ”附在URL 之后。另外,FORM 表单也提供了GET提交方式。除此以外,使用超链接标签也可以实现浏览器端GET提交方式。2. POST 提交方式POST 数据提交方式一般通过FORM表单实现,由于默认情况下FORM 表单的数据提交方式为GET方式,必须在FORM 表单的标签中加入属性:method =“post”, 将数据提交方式修改为POST 方式。3.GET和POST混合提交方式还可以使用FORM表单实现GET和POST混合提交方式,即向WFB 服务器某PHP程序发出“GET请求”的同时,还向该PHP 程序发出“POST 清求”. 4.两种提交方式的比较 POST提交方式比GET提交方式安全。这是由于GET提交方式提交的数据将出现在URL查询字符串中,并且这些带有查询字符串的URL可以被浏览器缓存到历史记录中。因此诸如用户注朋、登录等系统,不建议使用GFT提交方式。 POST提交方式可以提交更多的数据。理论上讲POST 提交方式提交的数据没有大小限制,而GET提交方式提交的数据由于出现在URL查询字符串中,而URL的长度是受限制的(例如IE 浏览器对URL长度的限制是2083字节)。例如:新闻发布系统中提交篇幅较长的新闻信息时,不建议使用GET提交方式:带有文件上传功能的FORM 表单则必须使用POST 提交方式。不同的“提交”方式对应的服务器端数据“采集”方式不同。6-2相对路径和绝对路径1.绝对路径绝对路径是与相对路径相对立的,通常是一个完整的URL,该URL由两个部分构成:scheme :用来描述寻找数据所采用的机制,即:协议。如http协议和ftp协议等位置(Location ) :用来描述到哪儿去寻找数据的资源这两部分使用“:/”分隔,例如:/index.php就是一个绝对路径URL ,它表明了这样一个含义:使用http协议从一个域名为的WEB服务器上获取index.php页面资源信息。由于绝对路径无论出现在哪儿都代表相同 的内容,因此绝对路径通常在访问系统外部资源时才使用,而访问系统内部资源时一般使用相对路径,方便程序的移植。2.相对路径 相对路径可以分为两类:server-relative路径与page-relative路径。server-relative 路径是以斜杠“/”开头的相对路径。在HTML中,以斜杠“/ ”开头的相对路径表示从WEB 服务器的根目录下开始查找相应的资源文件。使用默认配置安装WAMP后,目录“C:/wamp/www”为Apache服务器的根目录,因此使用相对路径“/index.php”访问资源时,访问的是目录“C :/ wamp/www”下的index.php页面;使用相对路径“/6/register.html”访问资源时,访问的是目录“C : / wamp / www ”中的目录“6”下的register .html 文件。Page-relative路径不以斜杠开头。此时当文件l 访问文件2 ( HTIL页面、PHP程序或图片等)资源时,将从文件1的当前目录作为起点查找文件2资源。例如当目录“C:/wamp/www/6/”中的register.html文件使用超链接访问该目录下的register.php文件时,只需在register .html文件的超链接中直接指定register.php 文件即可。3.相对路径其它概念(1)同一个日录下的资源访问如果文件1和文件2在同一个日录,这两个文件间的相互访问直接使用文件名即可。(2)如何表示当前目录 表示文件的当前日录。(3)如何表示上级目录 ./表示文件所在目录的上一级目录,././表示文件所在目录的上上级目录,以此类推。(4)如何表示下级目录如果文件1访问下级目录中文件2,直接指定该目录和文件2的文件名即可。6-3使用FORM 表单实现浏览器端的数据采集FORM 表单由三部分组成:表单标签:定义了表单处理程序及数据提文方式等信息。表单控件:包括单行文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文件上传框等表单控件。表单按钮:包括提交按钮、复位按钮和一般按钮。1.表单标签form 表单标签form 常用的属性有action 、method、enctype、title 、name等。(1)action属书设置当前表单数据“提交”的目的地址。当不设置action属性,或设置值等于空字符串(即action = )时,表单数据提交给当前页面。(2)method属性设置表单数据的提交方式。method 属性的值为GET 或POST ,默认为GET 。(3)title属性设置表单的提示信息。当用户的鼠标在表单处停留时,浏览器用一个黄色的小浮标显示提示文本。(4)enctype属性设置提交表单数据时的编码方式enctype属性的位为multipart/form-data或application/x-www-urlencodded, 默认为”application/x-www-form-urlencoded”。当一个FORM 表单中存在文件上传框时,

温馨提示

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

评论

0/150

提交评论