1、PHP 网站开发技术实训指导书PHP 网站开发技术实训指导书(第二版)主编: 苏绍培 四川科技职业学院移动软件学院2016 年 8 月PHP 网站开发技术实训指导书编写说明一方面,长期以来,网站设计、WEB 开发相关技术越来越被人们关注,各行各业几乎或多或少依赖着网站。尤其是 PHP 技术近几年来发展迅猛,应用普遍。另一方面,从教学反馈来看,由于PHP 网站开发技术是一门实践性很强的课程,那么我们在培养学生编程理论思想的同时,更应该注重锤炼学生的实战动手能力。该实训手册根据学生学习特点由浅入深、循序渐进,有简单的实训练习内容,也有复杂一些的案例实战,不仅合适课堂教学,而且为学生就业在工作岗位上
2、奠定基础、指明方向。一、实训内容实训一 PHP 开发环境的搭建实训二 PHP 基础知识实训三 PHP 流程控制实训四 PHP 数组处理实训五 PHP 数据采集实训六 PHP 函数应用实训七 PHP 操作 Mysql 数据库实训八 PHP 会话管理实训九 字符串处理实训十 正则表达式实训十一 文件上传案例应用实训十二 PHP 综合应用实训十三 PHP 在线编辑器案例应用二、实训任务与要求本实训是PHP 网站开发技术课程的实践性教学环节,目的在于培养学生使用 PHP 语言进行面向对象编程和动态网页编程的实际工作能力。通过实际训练,加深学生对所学的面向对象技术和动态网页编程技术的理解,培养其灵活运用
3、能力和综合问题处理能力。PHP 网站开发技术实训指导书三、实训环境要求1.软件要求Dreamweaver CS6、PhotoShop CS6、Flash CS6、WampServer 环境。2.硬件要求网络条件:与因特网连接的局域网。教师用机:Windows2008 Server 版。学生用机:Windows2008 Professional 版。四、 考核办法1.考核分为三个部分:平时实训考核、作品实训考核和综合实训考核。平时实训考核按照每一实训课程的考核办法进行考核。作品实训考核按照实训结束后的作品综合考核办法进行考核。综合实训考核按照平时成绩考核的 30与作品实训考核的 70的和进行考核
4、。2.综合实训考核办法:(1) 系统文档 20 分(2) 编写代码 30 分(3) 程序调试 10 分(4) 实训出勤 20 分(5) 技术含量 10 分(6) 美工设计 10 分3.将综合实训考核的分数作为期末考试考核的一部分,期末考试考核中,综合实训考核占 50PHP 网站开发技术实训指导书目 录实训一 PHP 开发环境的搭建 .1实训二 PHP 基础知识 .9实训三 PHP 流程控制 14实训四 PHP 数组处理 21实训五 PHP 数据采集 29实训六 PHP 函数应用 37实训七 PHP 操作 Mysql 数据库 43实训八 PHP 会话管理 62实训九 字符串处理 .71实训十 正
5、则表达式 .74实训十一 文件上传案例应用 .79实训十二 PHP 综合应用 82实训十三 PHP 在线编辑器案例应用 88PHP 网站开发技术实训指导书1实训一 PHP 开发环境的搭建一、实训目的和要求:1.掌握 WAMP 或 LAMP 等 PHP 环境的部署。2.掌握最基本的 PHP 程序的结构。3.掌握基本的输出语句以及 PHP 代码和 HTML 代码的混合编写。4.掌握 PHP 的基础知识。二、实训内容:1、下载并安装 WampServer,构建 PHP 运行环境;2、构建 PHP 开发环境,编写并运行一个 PHP 程序,最终在屏幕上显示“hello world”以及服务器的系统时钟。
6、要求,为程序的每一行都加上必要的注释说明。3、编写 register.html,此页面包含一个简单的表单,用户可以输入用户名、密码、确认密码等信息并可以提交表单。(选作)4、编写 register.php,用来处理 register.html 中用户提交的数据,把用户输入的信息输出到网页中。(选作)三、实例及操作步骤:实例 1:安装配置 PHP 运行环境。步骤如下:步骤 1:下载 wampserver 软件并安装。步骤 2:成功安装后修改默认虚拟目录,运行 wampserver,打开文件“httpd.conf”,在此文件中查找出目录 DocumentRoot “c:/programfiles/
7、wamp/www“和,将其改为你要作为虚拟目录根目录的路径,如图 1 和图 2 所示(注意:在此我将虚拟目录设置为“d:/php” ,你可以根据你自己意愿修改) 。然后保存,重启 Wampserver 的服务,如图 3 所示;PHP 网站开发技术实训指导书2图 1 虚拟目录设置(1)图 2 虚拟目录设置(2)PHP 网站开发技术实训指导书3图 3 重启服务器实例 2:在 Dreamweaver 中创建 PHP 测试站点。步骤如下:步骤 1:打开 Dreamweaver 软件,在菜单栏上点击“站点”-“新建站点” ,然后为你的站点取一个名字,假设“phpweb,如图 4 所示;图 4 站点命名步
8、骤 2:点击“下一步” ,点击“是,我想使用服务器技术” ,然后选择“PHP Mysql”,如图 5;选择此项重启服务!PHP 网站开发技术实训指导书4图 5 选择服务器技术步骤 3:点击“下一步” ,选择“在本地进行测试和编辑” ,然后选择文件存储的位置,注意,在此要求选择的文件路径要与你在第 2 步中选择的路径一致,如图 6;PHP 网站开发技术实训指导书5图 6 文件保存目录步骤 4:点击“下一步” ,注意,此步骤不须做任何更改,如图 7;图 7 测试 URL步骤 5:点击“下一步”“下一步” ,直到“完成” ,如图 8,图 9。PHP 网站开发技术实训指导书6图 8 共享文件图 9 站
9、点创建完成步骤 6:在 dreamweaver 中创建 PHP 页面命名为 test.php,输入适当的内容,PHP 网站开发技术实训指导书7保存。步骤 7:按 F12 键,在 IE 浏览器中运行 PHP 文件,以查看动态内容。提示:查看上述 PHP 页时也可以在地址栏输入以下网址 http:/localhost/ test.php ,如图:图 10 测试服务器实例 3:直接在 Wamp 安装路径 WWW 目录下创建 PHP 测试文件。步骤如下:步骤 1:找到磁盘上 Wamp 下 WWW 目录,新建一个文件名为 helloword.php 的php 文件。 (注意 PHP 程序的输写方法,开头
10、需要是。 )步骤 2:在屏幕上输出 hello world !,在 helloworld 文件中写的 php 语句,对这个语句进行注释。然后在浏览器上显示服务器的系统时钟,语句如:echo date(“Y 年 m 月 d 日 H 时 i 分 s 秒“);步骤 3:、在浏览器中输入 http:/localhost 进行测试,正常情况下网页中应该出现“helloworld”等内容。 相关源代码:第一个 PHP 程序PHP 网站开发技术实训指导书8“;/换行/* 在浏览器上显示服务器的系统时钟 */在浏览器上显示服务器的系统时钟#在浏览器上显示服务器的系统时钟echo date(“Y 年 m 月 d
11、 日 H 时 i 分 s 秒“);?实例 4:PHP 基础知识(牢记)。1PHP 代码书写大小写敏感的例子2用分号( ;)结束代码行3PHP 代码注释: 注释的形式有多种,一般用“ / ”表示单行注释;用“ /* */ ”表示多行注释。PHP 网站开发技术实训指导书9实训二 PHP 基础知识一、实训实训目的和要求:二、实训内容:1. 认识 PHP 变量:无类型检查,无须声明,类型随用随变。2. 使用 define()函数定义常量。3. 字符串连接操作。4. 运算符与表达式应用。5. PHP 与 HTML 代码的嵌套应用。三、实例及操作步骤:实例 1:创建 PHP 程序,录入以下程序,并运行。P
12、HP 程序 2-1 运行后浏览器解释显示的结果“;if(is_string($what) echo “$what 是字符串型变量“;$what=35;echo “$what 的值=$what“;if(is_int($what) echo “$what 是整型变量“;$what=array(Fred,35,wilma);echo “$what 的值为:“;foreach($what as $e)echo “$e“;if(is_array($what) echo “$what 是数组型变量“;1.掌握 PHP 常量的定义和使用。2.掌握 PHP 变量的定义和使用。3.掌握 PHP 的变量的数据类型
13、。4.掌握各种运算符(包括算术、字符串、赋值、逻辑、位以及其他) 。5.掌握 PHP 基本的表达式的使用。6.掌握 PHP 与 HTML 代码的嵌套使用。PHP 网站开发技术实训指导书10?实例 2: 空变量的例子PHP 程序 2-2 运行后浏览器解释显示的结果实例 3:用 define 函数定义常量。PHP 程序 2-3 运行后浏览器解释显示的结果“;?实例 4:字符串连接符号. 应用PHP 程序 2-4 运行后浏览器解释显示的结果实例 5: 和实例 4 差不多的程序PHP 程序 2-5 运行后浏览器解释显示的结果PHP 网站开发技术实训指导书11实例 6:利用运算符、表达式计算半径为 10
14、 的圆的面积和上底为 20,下底为30,高为 10 的梯形的面积,如果圆的面积和梯形的面积都大于 50,则输出两个图形的面积。PHP 程序 2-6 运行后浏览器解释显示的结果50echo“梯形的面积为:$t_area“;?实例 6:PHP 代码也可放在 HTML 标签内部。PHP 程序 2-7 运行后浏览器解释显示的结果“PHP 网站开发技术实训指导书12注意:PHP 代码可放在 HTML 标签之外,也可放在 HTML 标签内部,只要不破坏 HTML 代码,可放在程序(页面)中的任何地方。实例 7:在 PHP 程序中嵌入 HTMl 代码。在 PHP 中嵌入 HTMl 代码,一般利用 echo(
15、)函数或 print()函数,来输出 HTML 代码。实例 8:在 PHP 中插入大段的 HTMl 代码时可以将 HTML 代码嵌入在 PHP 标记之间来输出。注意:这种方法适合在 PHP 中插入大段的 HTML 代码,但是后期的维护有一定的难度,特别是当 HTML 语句过长时,在编写程序的逻辑代码时容易产生错误。四、作业输出下面的表达式,查看其结果,并思考为什么:(325)!(“abc”=”ABC”)PHP 程序 2-8 运行后浏览器解释显示的结果我要居中;echo“这是 5 号字体“?PHP 程序 2-9 运行后浏览器解释显示的结果变量的值为 1PHP 网站开发技术实训指导书13123=”
16、123”12.3*10%5(int)(true+true)$a=57?”对”:”不对”;echo $a;$x=5;echo(+$x)$x=5;echo($x-)PHP 网站开发技术实训指导书14实训三 PHP 流程控制一、实训目的和要求:1、掌握 PHP 常用数据类型、数据类型检测函数、数据类型转换。2、使学生熟悉并掌握 PHP 的 if、Switch 语句。3、使学生熟悉并掌握 PHP 的 For 循环。4、使学生熟悉并掌握 PHP 的 While 循环。5、使学生熟悉并掌握 PHP 的 Do While 循环。6、掌握使用 break/continue、exit 语句。7、了解、掌握控制程
17、序整体结构的方法。二、实训内容:1、数据类型练习。2、if 语句应用。3、switch 语句应用。4、循环语句应用。三、实例及操作步骤:实例 1:数据类型练习1、检测函数练习PHP 程序 3-1-1 运行后浏览器解释显示的结果2、判断数据类型使用 gettype()函数PHP 程序 3-1-2 运行后浏览器解释显示的结果PHP 网站开发技术实训指导书15;$b=100;echo gettype($b),;$c=15.12;echo gettype($c),;$d=false;echo gettype($d),;$e=array(10,20,30);echo gettype($e),;?3、数据
18、类型转换:转换成整形PHP 程序 3-1-3 运行后浏览器解释显示的结果“;$b=false;echo $b:.(int)$b.“;echo 10-$a.“;$c=10.01;echo $c:.(int)$c.“;$d=“3.45e5“;echo $d:.(int)$d.“;$e=3.45e5;echo $e:.(int)$e.“;$f=“string1000“;echo $f:.(int)$f.“;$g=“-15.3e11“;echo $g:.(int)$g;?实例 2:使用 if-else 条件结构应用。PHP 程序 3-2 运行后浏览器解释显示的结果PHP 网站开发技术实训指导书16“;
19、$greed=1;else echo “对不起,禁止访问 ! “;exit;?实例 3:使用 if-elseif 结构PHP 程序 3-3 运行后浏览器解释显示的结果“;$fenshu=61;echo “你的分数是:$fenshu,属于:“;if($fenshu90)print(“优秀“);elseif($fenshu80?实例 8:for 循环中多表达式应用PHP 程序 3-8 运行后浏览器解释显示的结果PHP 网站开发技术实训指导书18“;echo “使用 for 结构, 计算结果是: $total=1+2+4+8+.+512=$total“;?实例 9:break 语句的应用PHP 程序
20、 3-9 运行后浏览器解释显示的结果3)break; /当$i3 时结束 while 循环echo $i=.“$i“.“;/ $i 最后输出的值只有 1、2 、3$i+;?实例 10: continue 语句的应用PHP 程序 3-10 送到用户浏览器解释后显示的结果思考:如果将 continue 改为 break 将会出现什么结果?自己练习以下。实例 11:return 语句的应用PHP 程序 3-11 运行后浏览器解释显示的结果PHP 网站开发技术实训指导书19=$n)return;echo “大于 5.“;/此处不输出任何内容echo $i.“ “;/输出 01234?思考:如果将$i=
21、$n 改为$i本程序无输出!思考:如果将$a$b 将会出现什么结果?自己练习一下。实例 13:页面包含文件函数预备知识:require()、require_once()和 include()、include_once()的作用和区别;使用形式。PHP 程序 3-13 运行后浏览器解释显示的结果“;include “includeinc.php“;?PHP 程序 Conn.phpPHP 网站开发技术实训指导书20四、作业1、使用循环语句编写程序,浏览网页,实现如下功能:2、使用循环语句编写程序,浏览网页,实现如下功能:PHP 网站开发技术实训指导书21实训四 PHP 数组处理一、实训目的和要求:
22、1、了解数组的概念2、掌握定义、创建数组的方法3、掌握获取、输出数组元素的方法4、掌握遍历数组元素的方法5、掌握数组的合并、反转、排序数组元素二、实训内容:1、数组创建方式。2、数组的遍历 :遍历数组的 3 种方式;使用 while 循环访问数组;使用 for循环访问数组;使用 for each 循环访问数组。3、数组的排序::递增排序的常用函数 sort() ,asort() ,ksort()的用法及意义,及其对应的递减函数 rsort() ,arsort () ,krsort() 。4、数组的查找::顺序查找、二分查找、array_search()函数查找的方法。5、数组的拆分: arra
23、y_splice()函数的用法。6、数组的合并:: array_search()函数的用法。三、实例及操作步骤:实例 1:显式创建数组PHP 程序 4-1 运行后浏览器解释显示的结果“item1“,1=“item2“,2=“item3“);/创建一个 exampleArray 的一维数组echo $exampleArray0.“ “;/输出 item1echo $exampleArray1.“ “;/输出 item2echo $exampleArray2.“ “;/输出 item3?实例 2:非显式创建数组PHP 程序 4-2 运行后浏览器解释显示的结果PHP 网站开发技术实训指导书22“it
24、em1“,1=“item2“);echo $exampleArray0.“ “;/输出 item1echo ($exampleArray1).“ “;/输出 item2$exampleArray2=“item3“;/采用方括号的方式向数组 exampleArray 添加 item3print_r ($exampleArray);/显示整个数组echo “;$exampleArray=“item4“;/向数组 exampleArray 添加元素 item4,自动产生索引值 3print_r($exampleArray);/显示整个数组echo “;$exampleArray2=“item5“;/
25、向数组添加 item5,产生的索引值为 0print_r($exampleArray2);/显示整个数组?实例 3:创建多维数组PHP 程序 4-3 运行后浏览器解释显示的结果array(“红“,“蓝“,“白“),“number“=array(“1“,“2“,“3“,“4“,“5“,“6“);echo $Array“color“2.“;print_r($Array);?PHP 网站开发技术实训指导书23实例 4:使用 while 循环访问数组PHP 程序 4-4 运行后浏览器解释显示的结果“;?实例 5:使用 for 循环访问数组PHP 程序 4-5 运行后浏览器解释显示的结果注意:使用 fo
26、r 循环只能访问键名是有序的整型数组,如果是其他的类型则无法访问。PHP 网站开发技术实训指导书24实例 6:使用 for each 循环访问数组PHP 程序 4-6 运行后浏览器解释显示的结果“;foreach($array as $key=$value)echo “key:$key;value:$value“.“ “;/在输出键值的同时,也输出键名?实例 7:使用 for each 结构遍历一个二维数组PHP 程序 4-7 运行后浏览器解释显示的结果array(“a“,“b“,“c“,“d“),“2“=array(“A“,“B“,“C“,“D“),array(“1“,“2“,“3“,“4“
27、);foreach($array as $key=$arrvalue)echo “$key:t“;foreach($arrvalue as $value) echo “$valuet“;echo “;?练习:如何使用 for 循环和 while 循环输出二维数组,请自己练习。 实例 8:使用 while 循环访问数组PHP 程序 4-8 运行后浏览器解释显示的结果PHP 网站开发技术实训指导书255,“x“=3,5=7,“c“=1);$array2=array(2=“c“,4=“a“,1=“b“);if(sort($array1)print_r($array1);elseecho“排序$arr
28、ay1 失败!“;echo “;if(sort($array2)print_r($array2);elseecho“排序$array2 失败!“;?注意:sort()函数不仅对数组进行排序,同时删除了原来的键名,并重新分配自动索引的键名。但 asort()和 ksort()有所不同,大家可自行练习。实例 9:多维数组排序。array_multisort($array1,$arg,$array2),其中第一个参数必须是一个数组,接下来每个参数可以是数组或固定含义的标志。当函数的参数是一个数组列表时,函数首先对数组列表中的第一个数组进行排序,下一个数组中值得顺序按照对应的第一个数组的值的顺序排列。PHP 程序 4-9 运行后浏览器解释显示的结果“;print_r($xm);echo“;print_r($cj);?实例 4-10:数组顺序查找PHP 程序 4-10 运行后浏览器解释显示的结果PHP 网站开发技术实训指导书26实例 4-11:二分法查找PHP 程序 4-11 运行后浏览器解释显示的结果