动态网页设计PHP实训指导书_第1页
动态网页设计PHP实训指导书_第2页
动态网页设计PHP实训指导书_第3页
动态网页设计PHP实训指导书_第4页
动态网页设计PHP实训指导书_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

/《动态网页设计》实训指导书实训一HTML语言[实训目的]熟悉HTML元素的概念;掌握使用HTML简单元素进行简单网页制作。掌握域名与URL的相关知识。熟练使用搜索引擎。[实训器材]安装有Windows7/xp/Vista;DreamweaverCS;IE浏览器;PHP+MySQL+Apache等软件的计算机。[实训内容]掌握使用记事本进行简单网页编辑的方法;熟练掌握简单区块元素及属性的书写;掌握简单HTML文档的编排;搜索并列举著名的Web2.0网站.了解它们使用的技术或提供的服务。搜索并访问不同类别域名的网站。[实训步骤]使用HTML简单区块元素:从开始菜单启动记事本;在记事本中.录入一个最简合法HTML文档;设置该文档最终在浏览器中显示的标题为"HTML简单区块元素";在网页中依次添加元素p、blockquote、address、hn<n=1,2,3,4,5,6>、hr、pre等元素.要求这些元素最终在网页上的显示内容能够体现元素的特点.如address元素通常只用于显示地址或电子邮件。使用记事本的菜单"文件"→"保存".在"另存为"对话框中.在"保存类型"下拉列表中选择"所有文件".录入"文件名"simpleblock.htm.单击"保存"按钮将该页面保存到实训文件夹。在网页中添加HTML列表: 在DreamweaverCS建立my.htm.了解其基本构成、注释方法.在浏览器的地址栏中输入http://localhost/my.htm.回车.查看浏览器窗口中的显示内容〔即浏览器对my.htm中代码的解释程序:<!--这里是注释内容--><!--最简单的HTML文档〔网页计算机2011班--><html><!--HTML开始标记--><head><!--头部分开始--><title><!--标题部分开始-->这里是标题内容</title><!--标题部分结束--></head><!--头部分结束--><body><!--HTML文档开始-->HTML欢迎你</body><!--HTML文档结束--></html><!--HTML结束标记-->简单文档的编排:输入一段文字.其它过程同步骤2;设置该文档最终显示标题为"简单文档的编排";在网页中添加适当HTML元素.使得网页中显示的内容形式与本文的内容类似;提示:文本的居中显示可以使用"<center>文本内容</center>"进行编排。搜索并列举著名的Web2.0网站.了解它们使用的技术或提供的服务:说明:本内容是为了让同学们了解当前比较流行的网站内容、样式及服务模式等。启动InternetExplorer.进入自己平时习惯使用的搜索引擎界面;对于和Web2.0相关的技术.使用类似于"使用AJAX的网站"作为关键词;对于和Web2.0相关的服务.直接使用服务名〔如"播客"作为关键词.进行搜索;通过搜索结果中的链接进入相关网站.记录网站的域名或页面的地址.并总结网站的特点;本实训要求完成的和Web2.0相关的技术和服务包括:AJAX、RSS、Tag、Wiki、Blog、SNS等.对它们重复步骤〔1、〔2和〔3。对于不清楚这些概念的同学.具体的概念可以通过搜索引擎进行搜索。[实训小结]实训二CMS系统应用[实训目的]了解CMS概念;掌握使用CMS系统应用进行简单站制作。了解ASP相关知识。[实训器材]安装有Windows7/xp/Vista;DreamweaverCS;IE浏览器;PHP+MySQL+Apache等软件的计算机。[实训内容]掌握使用记事本进行简单ASP网页编辑的方法;熟练讯时CMS的安装及使用;掌握简单简单网站建站流程。[实训步骤]认识讯时讯时简介讯时是一种网站后台管理程序.即人们通常所说的CMS〔ContentManagementSystem。CMS采用页面与数据分离的形式.将网站的数据内容存放在数据库中.通过后台程序对数据库进行添加、读取、删除操作.可以很方便地对网站实行动态、即时的更新维护.同时大大减轻工作量。使用CMS是现在流行的建站方式。讯时分收费版和免费版两种。收费版使用MSSQL数据库,免费版采用MSACCESS数据库.两种版本均采用asp编程.可以从讯时官方网站下载。本实训所用讯时为4.8免费版。与其它CMS相比.讯时免费版有几个显著的特点:一是入门快.使用者不需具备太多的专业知识即可迅速上手.适合新手;二是功能强.可以满足中小型企事业单位和一般政府机关的网站建设;三是更新多.新版本不断推出.新功能不断增加.程序不断完善.漏洞不断减少;四是不花钱.省去银两若干.估计这一点是广大讯时爱好者最欢迎的。讯时的运行环境由于讯时使用asp编程.因此要想使用讯时.必须有一个支持asp的使用环境。如果你使用的是网上的虚拟空间.你必须搞清楚这个空间是否支持asp。如果你只是想在自己的电脑上调试.则必须安装IIS服务器组件.配置好本地站点。安装与登录安装讯时的安装十分简单。从讯时官方网站下载程序压缩包.将解压后的全部文件放到站点的根目录下.即完成了安装。当然.你也可以将讯时放在子目录下.只要保证讯时程序的全部文件和文件夹的相对位置不变即可。但是安装在子目录下会牵涉到路径问题.在文件或图片调用时容易产生一些问题.对新手不作推荐。登录打开浏览器.输入你的网址.如果你的默认主页文档中设置了index.asp.则会打开如下页面:如果你的默认主页没有设置index.asp文档.请在网站管理中重新设置或直接手工输入index.asp的完整地址.即可打开上面的页面。讯时的默认初始用户名与密码均为admin.输入完成后点击登录按钮或直接回车.即进入后台管理页面。手工输入login.asp的完整地址.如http://你的网址/login.asp〔本机调试可输入http://localhost/login.asp.也可以用来代替localhost.可以直接打开登录界面。系统设置讯时的后台菜单有17行.各自对应不同的功能.这些功能大致可以分为六类。查看主机情况点击第15行第一个选项"主机情况".就可以查看你所使用的网站空间信息。这里有好多项目.挑几样你感兴趣的看看就可以了。查看网站信息数据点击第14行第一个选项"数据统计".可以看到网站的栏目、用户、用户发表的文章、以及文章的评论等。点击本行的第二个选项.可以看到"所有用户文章添加排行榜"用户管理查看与设置点击第10行.可以查看当前网站的所有管理员.可以增加、删除管理员.也可以更改当前登录的用户名、密码。讯时的管理员分为三级.一是顶级管理员admin.二是审核员.三是录入员。顶级管理员有最高权限.可以使用网站全部功能;审核员次之.对顶级管理员授权的栏目可以进行大多数功能的操作;最底级的是录入员.只能对顶级管理员授权的栏目进行文章的录入.如果该栏目打开了审核功能.则只有通过上一级管理员的审核该文章才能发表。如果你的网站有多人同时维护.根据需要设置不同权限的管理员可以使网站管理有条不紊.层次分明。用户管理的功能十分重要.用户名与密码一定要妥善保管.否则网站的安全就无法保证。建议所有新用户以顶级管理员名义初次登录成功后.一定要立即修改顶级管理员的用户名与密码。系统操作设置栏目一个网站有许多内容.不同的内容就需要不同的栏目。合理设置栏目关系到一个网站信息发布与更新维护.建议在设计网站的时候通盘考虑。当栏目确定好之后.就可以在后台将其添加到网站数据库中了。打开栏目管理页面.点"增加"按钮就可以建立一级栏目了。对于已有的一级栏目.可以在其下面建立二级栏目.可以在二级栏目下增加三级栏目。最多只能建三级栏目。退出后台管理当我们在后台的工作告一段落.希望离开网站的管理时.可以安全地退出网站的后台管理。点击后台管理页面左侧的"退出后台管理",即退出了网站的后台管理功能.返回登录页面。管理文章设定好栏目之后.就可以为每个栏目添加内容了。点击后台管理页面左侧的"文章增加".打开文章添加页面.选择文章所属的栏目.输入文章标题.输入文章内容。使用网页模板新闻的显示页面需要模板.新闻的栏目页面也需要模板。首页是不需要的.直接制作即可。讯时自带了一个简单的模板叫做"一般简单模板".可以点击后台管理页面左侧的"设置".然后在右侧页面点"进入栏目模板设置":打开模板设置页面.如图〔图10:在这里可以查看"一般简单模板"的构成.也可以修改和删除。首页制作我们第一步所要做的.是制作一个首页文件.在上面规划好每个栏目的位置.预留下来。保存你的首页文件名为你网站的默认首页文档名称.比如index.asp或index.htm.以便可以自动打开。第二步.获得调用代码。点击后台管理页面的代码调用.打开代码调用页面:选择不同的栏目.就可以获得调用文章标题或图片等的代码。有好几种格式的调用代码〔比如还有框架调用.建议采用js格式的调用代码.比较简洁.好控制。第三步.就是在预留的位置上放上调用代码。复制调用代码.用网页制作软件打开首页文件.在相应的位置放上复制的代码.保存。用浏览器打开首页看看.调用的栏目文章标题都已经可以显示了。[实训小结]实训三配置PHP运行环境[实训目的]掌握快速部署Windows下的开发测试服务器环境.以满足同学们在宿舍、家中自己机器上学习、研究和开发PHP程序设计的需要或是实际工作的需要。[实训器材]安装有Windows7/xp/Vista;DreamweaverCS;IE浏览器;PHP+MySQL+Apache等软件的计算机。[实训内容]PHP的安装和配置;Apache的安装和配置;Apache:Web服务的安装和启动;PHPStudy简单安装。[实训步骤]1.PHP的安装和配置1.1安装下载PHP--Win32.ZIP软件包.不需要安装.在C盘根目录下建立文件夹C:\php。将软件包解压缩到本目录下。在C:\php目录下找到php.ini-dist文件.将其名字改为php.ini.这是php的配置文件。修改php.ini文件.过程如下:<1>找到extension_dir="./".改为extension_dir="C:/php/ext"<2>找到";extension=php_mbstring.dll"去掉前面的";"<3>找到";extension=php_mysql.dll"去掉前面的";"<4>找到";extension=php_mysqli.dll"去掉前面的";"修改完php.ini文件后.保存该文件.并复制到C:\Windows\目录下。将C:\PHP\libmysql.dll复制到C:\windows\system32目录下。1.2配置通过修改php.ini中的参数来实现。对MySQL而言.若无特殊要求.一般无须配置。因为PHP在php.ini中已经做好了对MySQL的配置.所以一般无须修改。2.Apache的安装和配置2.1安装软件双击.exe.按照提示.选择custom安装方式.然后一路默认.即完成安装。注意:如果您的电脑安装了IIS.请先到控制面板关闭IIS服务.因为IIS服务器与Apache服务器都使用一个端口。2.2配置服务单击[开始]->[程序]->[ApacheHTTPServer2.2]->[ConfigureApacheServer]->[EdittheApachehttpd.confconfigurationFile].打开Apache的配置文件httpd.conf.按表1提示进行配置:注意:每处的配置要想起作用.必须将行首的#号〔注释符号去掉;□表示一个或多个空格表1Apache配置序号参数名和示例参数值配置方法说明①BindAddress□<你所用机器的IP地址>修改地址绑定<指定服务器地址>②LoadModule□php5_module□c:/php/sapi/php5apache.dll添加将PHP配置为Apache的模块〔Apachemodule方式③Port□80修改指定端口④ServerAdmin□<你的邮箱地址,如ssl@>修改指明管理员信箱⑤ServerName□ssl修改指明主机名称⑥DocumentRoot□"d:\Website\htdocs"修改Web文档发布主目录⑦<Directory□"d:\Website\htdocs">修改该处目录应与Web文档发布主目录一致⑧ScriptAlias□/php/□"c:/php/"AddType□application/x-httpd-php□.phpAction□application/x-httpd-php□"/php/php.exe"添加指明脚本路径指明PHP脚本扩展名指明PHP脚本解释器程序名⑨DirectoryIndex□index.htm□index.php修改指定默认文档*描述以httpd.conf文件的行文顺序进行*表中路径、地址、主机名、信箱等.实际配置时请根据自己情况进行按表1所述.参考Apache配置文件样本.修改完毕后.保存。测试配置是否成功。1在编辑完成后.我们还可以通过"开始/程序/ApacheHTTPServer2.2/ConfigureApacheServer/TestConfiguration"来测试配置文件是否有语法错误等。2或者打开浏览器敲入:calhost能否见到服务器到测试页面。能见到则配置成功。3.Apache:Web服务的安装和启动启动Apache服务:单击:[开始]->[程序]->[ApacheHTTPServer2.2]->[ControlApacheservice]->[Start]。〔默认情况下.每次操作系统启动时自动启动该服务.可更改4.测试Apache服务器对PHP的支持能力测试目的:检验配置后的Apache服务器是否提供了对PHP脚本的解释能力〔支持PHP用EditPlus编写测试脚本.存为d:\Website\htdocs\ceshi.php.内容为:<?phpechophpinfo<>;?>说明:phpinfo<>是PHP内置函数.用来显示PHP和Apache配置信息.在浏览器中敲入http://localhost/ceshi.php.回车后若显示类似图1的PHP配置页面〔以Winxp下为例.则说明你的Apache服务器已经支持PHP脚本.能够解释PHP脚本了;若不显示类似画面.则配置有误.此时你的Apache不能够解释PHP脚本.需重新配置。图15.MySQL的安装和启动数据库服务器①将mysql-essential--win32.zip解压缩后.双击setup.exe.按照提示.选择custom安装方式.然后一路默认.遇到输入密码的地方.输入123作为密码。②测试安装是否成功。单击"开始".选择"MySQL→MySQLServer5.1→MySQLCommandLineClient".会出现如下图所示的窗口.然后输入root密码.根据提示操作即可6.测试PHP与MySQL的协同PHP方面:准备测试脚本connect.php.存放在d:\www下.其内容为:程序:<?$connection=mysql_connect<'','root','123'>ordie<'不能连接到MySQL数据库:'.mysql_error<>>;echo'已经成功连接MySQL数据库<br/>';mysql_select_db<'test'>ordie<'不能选择数据库'>;echo'连接test数据库已经成功';?>测试步骤在浏览器地址栏输入:http://localhost/connect.php.回车,显示如图2所示.则表明PHP与MySQL能够协同工作了。图27.简单安装PHPStudy上述安装比较繁杂.我们可以选择一些智能化的软件进行一次性安装.比如PHPStudy。从教师机下载PHPStudy.默认安装.安装成功后在右下角处会显示相关图标。到控制面板关闭IIS服务.因为IIS服务器与Apache服务器都使用一个端口.或者更改IIS端口为8000,以免冲突。然后打开浏览器敲入:.能否见到服务器到测试页面。能见到则配置成功。[实训小结]实训四PHP基本语法实训[实训目的]熟练掌握PHP语言的基础语法。[实训器材]安装有Windows7/xp/Vista;DreamweaverCS;IE浏览器;PHP+MySQL+Apache等软件的计算机。[实训内容]词法结构;数据类型、变量;表达式和操作符;[实训步骤]1词法结构1.1大小写敏感预备知识变量区分大小写.内置结构〔while,for,if等及关键字〔echo,class等不区分大小写[2-1]大小写敏感的例子PHP程序2-1送到用户浏览器解释后显示的结果〔运行结果.显示在浏览器页面中的结果<?$name="hello1,world1";$NAME="hello2,world2";$NaME="hello3,world3";echo"\$name=$name\n";ECHO"\$NAME=$NAME\n";EcHo"\$NaME=$NaME";?>注意:要使运行结果达到真正分行〔和HTML输出一致.请将程序2-1中的\n换成<br>.即可实现.如下例[2-1br]修改程序2-1后的程序2-1br.直接实现分行〔将程序2-1中的\n换成<br>PHP程序2-1br送到用户浏览器解释后显示的结果〔运行结果.显示在浏览器页面中的结果<?$name="hello1,world1";$NAME="hello2,world2";$NaME="hello3,world3";echo"\$name=$name<br>";ECHO"\$NAME=$NAME<br>":EcHo"\$NaME=$NaME";?>原因:浏览器不解释〔或者说不识别.或忽略经PHP解释\n而成的空白换行.只有遇到<br>这个HTML中的换行标记.才解释成换行。为了直接达到预期换行效果.将不再使用\n.而是使用<br>1.2语句和分号预备知识简单语句复杂语句分号的省略[2-2]语句和分号PHP程序2-2送到用户浏览器解释后显示的结果〔运行结果.显示在浏览器页面中的结果<?if<$a==$b>{echo"注意:<br>";//简单语句echo"\$a的值等于\$b的值<br>";}//上面{}部分为复杂语句echo"hello,world";//此处分号可省略?>1.3注释预备知识在必要的地方做注释注释的形式及各自的适用处:Shell形式<#>、C++形式<//>、C形式</*…*/>[2-6]C形式的注释作用PHP程序2-6送到用户浏览器解释后显示的结果〔运行结果.显示在浏览器页面中的结果<?$l=12;$m=13;/*注释从这里开始?><p>SomestuffyouwanttobeHTML.</p><?=$n=14;*/echo<"l=$lm=$mn=$n">;?><p>Now<b>this</b>isregularHTML…</p>1.4标识符〔常量标识符预备知识使用define<>设置常量标识符[2-7]使用define<>设置常量标识符PHP程序2-7送到用户浏览器解释后显示的结果〔运行结果.显示在浏览显示在浏览器页面中的结果<?define<‘PUB’,"O’Reilly&Associates">;echoPUB;?>2数据类型2.1字符串预备知识字符串的表示单引号和双引号在字符转义上的不同作用:单引号仅转义反斜杠\和单引号’[2-8]单引号和双引号在字符转义上的不同作用PHP程序2-8送到用户浏览器解释后显示的结果〔运行结果.显示在浏览器页面中的结果<?$name="SunShoulong";//双引号中的变量值将被输出echo"Hi,$name<br>";echo‘Hi,$name’;//单引号中的变量名将被输出,因为单引号不认为$name是变量?>注意:双引号中的变量.若前面不加反斜杠\进行转义〔将$原样输出.则在输出字串的时候将输出变量中的值[2-9]单引号仅支持的字符转义:反斜杠\和单引号’PHP程序2-9送到用户浏览器解释后显示的结果〔运行结果.显示在浏览器页面中的结果<?$dos_dir=’c:\\windows\\system’;$publisher=’TimO\’Reilly’;echo"$dos_dir$publisher";?>2.2布尔型预备知识PHP中为false值的情况[2-10]判断布尔值PHP程序2-10送到用户浏览器解释后显示的结果〔运行结果.显示在浏览器页面中的结果<?$x=5;$y="";if<$x>echo‘$x有一个true值<br>’;if<!$x>echo‘$x有一个false值<br>’;if<$y>echo‘$y有一个true值<br>’;if<!$y>echo‘$y有一个false值<br>’;?>2.3数组型预备知识:数组的创建、遍历;键名:数组元素的下标名称.一般是从0开始的整数.也可以是字符串;键值:数组元素中存储的值[2-11]数组的创建、遍历:发明家记录PHP程序2-11送到用户浏览器解释后显示的结果〔运行结果.显示在浏览器页面中的结果<?#以数字键名引用的方式.通过给各数组元素赋值的方法#直接创建人名数组$person$person[0]="Edison";$person[1]="Wankel";$person[2]="Crapper";/*上面的方法可用array方法替代.创建后键名也是数字的.按赋值先后.从0开始依次递增$person=array<‘Edison’,’Wankel’,’Crapper’>;//一条语句*/#以字串键名引用的方式.通过给各数组元素赋值的方法#直接创建发明家数组$creator$creator[‘Lightbulb’]="Edison";$creator[‘RotaryEngine’]="Wankel";$creator[‘Toilet’]="Crapper";/*上面的方法可用array方法替代.创建后键名也是数字的.按赋值先后.从0开始依次递增$creator=array<‘Lightbulb’=>’Edison’,‘RotaryEngine’=>’Wankel’,‘Toilet’=>’Crapper’>;*/#遍历数组$person.显示其内容foreach<$personas$name>//访问每个键echo"Hello,$name<br>";#遍历数组$creator.显示其内容foreach<$creatoras$invention=>$inventor>echo"$inventionwascreatedby$inventor<br>";?>2.4对象型预备知识类:OOP的单元.是包含属性〔变量和方法〔函数的结构定义类的定义对象的创建、引用其属性和方法[2-12]类和对象的简单例子PHP程序2-12送到用户浏览器解释后显示的结果〔运行结果.显示在浏览器页面中的结果<?ClassPerson{var$name=’’;functionname<$newname=NULL>{if<!is_null<$newname>>$this->name=$newname;return$this->name;}}$ed=newPerson;$ed->name<‘Edison’>;printf<"Hello,%s<br>",$ed->name>;$tc=newPerson;$tc->name<‘Crapper’>;printf<"Lookoutbelow,%s<br>",$tc->name>;?>3变量3.1变量的变量预备知识变量的概念和作用;变量的声明和使用;变量的变量[2-13]PHP变量无类型检查.无须声明.类型随用随变PHP程序2-15送到用户浏览器解释后显示的结果〔运行结果.显示在浏览器页面中的结果<?#PHP变量无类型检查$what="Fred";echo"\$what的值=$what<br>";if<is_string<$what>>echo"\$what是字符串型变量<hr>";$what=35;echo"\$what的值=$what<br>";if<is_int<$what>>echo"\$what是整型变量<hr>";$what=array<'Fred','35','wilma'>;echo"\$what的值为:<br>";foreach<$whatas$e>echo"$e<br>";if<is_array<$what>>echo"\$what是数组型变量";?>[2-14]空变量的例子PHP程序2-16送到用户浏览器解释后显示的结果〔运行结果.显示在浏览器页面中的结果<?#一个没有设置值的变量.它的值是NULL.#表示它是一个空变量if<$uninitialized_variable==NULL>//此句可换为:if<is_null<$uninitialized_variable>>echo"\$uninitialized_variable是空变量";?>[2-15]变量的变量PHP程序2-15送到用户浏览器解释后显示的结果〔运行结果.显示在浏览器页面中的结果<?#变量的变量$r='i';$$r=1;echo"因为\$r=$r<br>";echo"所以\$\$r=$$r<br>";echo"又因为$$r=".$$r."<br>";echo'故$$r='.$$r;echo"<hr>:->你明白了吗?";?>3.2变量的作用域预备知识变量按其作用域分为:局部变量、全局变量。静态变量、函数的参数属于局部变量;从局部访问全局变量的方法;从全局访问局部变量的方法[2-16]不能从全局〔函数外部直接访问局部变量PHP程序2-16送到用户浏览器解释后显示的结果〔运行结果.显示在浏览器页面中的结果<?#下面的函数更新了一个局部变量而不是全局变量functionupdate_counter<>{$counter++;//执行完本句即函数结束时.$counter的值被PHP抛弃.该变量所占内存资源被收回}$counter=10;update_counter<>;echo$counter;//这个$counter是全局变量?>[2-17]从局部访问全局变量.方法1:使用global关键字声明PHP程序2-17送到用户浏览器解释后显示的结果〔运行结果.显示在浏览器页面中的结果<?#在函数内访问全局变量--方法1:使用global关键字声明functionupdate_counter<>{global$counter;//告诉PHP.$counter是全局中那个$counter$counter++;}$counter=10;update_counter<>;echo$counter;?>[2-18]从局部访问全局变量.方法2:引用全局变量数组$GLOBALSPHP程序2-18送到用户浏览器解释后显示的结果〔运行结果.显示在浏览器页面中的结果<?#在函数内访问全局变量--方法2:引用全局变量数组$GLOBALS中键名为counter的那个元素functionupdate_counter<>{$GLOBALS['counter']++;//也可以写成:$GLOBALS[counter]++;}$counter=10;update_counter<>;echo$counter;?>[2-19]使用静态变量的好处::使全局可间接访问到PHP程序2-19送到用户浏览器解释后显示的结果〔运行结果.显示在浏览器页面中的结果<?#使用静态变量的方法.强制保留局部变量上#次调用结束时的值.使全局可间接访问到functionupdate_counter<>{static$counter=0;//这个$counter是局部的变量.声明为静态.并赋初始值0$counter++;echo"局部静态变量\$counter这时的值=$counter<br>";}$counter=10;//这个$counter是全局的变量update_counter<>;update_counter<>;echo"全局变量\$counter这时的值=$counter";?>4.表达式和操作符4.1隐式类型转换预备知识数字间进行字符串拼接的规则;字符串转换数字后的数字值规则[2-20]数字间进行字符串拼接的规则:数字首先变为字串.然后再拼接PHP程序2-20送到用户浏览器解释后显示的结果〔运行结果.显示在浏览器页面中的结果<?#数字减进行字符串连接的类型转换:数字都变为字符串.再连接$a=3;$b=2.74;$c=$a.$b;echo"\$c=$c";?>[2-21]字符串转换数字后的数字值规则假定以数字开始.该数字即为转换后的数字值;若未找到数字则转换后的数字值为0;若开头的数字包含一个句点或大写或小写的E.则转换后的数字值为浮点型PHP程序2-21送到用户浏览器解释后显示的结果〔运行结果.显示在浏览器页面中的结果<?#字符串转成数字后的数字值规则$a="9Lives"-1;//8<int>$b="3.14Pies"*2;//6.28<float>$c="9lives."-1;//8<float>$d="1E3PointsofLight"+1;//1101echo"\$a=$a<br>";echo"\$b=$b<br>";echo"\$c=$c<br>";echo"\$d=$d<br>";?>4.2字符串连接操作符预备知识字符串连接操作符;数字与字串连接时.数字先转换成字串[2-22]数字在与字符串连接时.先自动变成字符串PHP程序2-22送到用户浏览器解释后显示的结果〔运行结果.显示在浏览器页面中的结果<?#数字在与字符串连接时.先自动变成字符串$n=5;$s="Thereare".$n."ducks";echo"\$s=$s";?>4.3自增自减操作符预备知识数字的自增自减〔按数字顺序;字母的自增自减〔按字母顺序[2-23]PHP程序2-23送到用户浏览器解释后显示的结果〔运行结果.显示在浏览器页面中的结果<?#字母的自增自减运算echo"小写字母自增:<hr>";$a="a";while<$a<="z">{echo$a++;echo"<br>";}echo"大写字母自增:<hr>";$a="A";while<$a<="Z">{echo$a++;echo"<br>";}?><fontcolor=red>请编程验证:</font><br><tablewidth="75%"border="1"><tr><td>字符串</td><td>字符串++</td></tr><tr><td>"a"</td><td>"b"</td></tr><tr><td>"z"</td><td>"a"</td></tr><tr><td>"spaz"</td><td>"spba"</td></tr><tr><td>"K9"</td><td>"L0"</td></tr><tr><td>"42"</td><td>"43"</td></tr></table>〔该图显示的是部分结果[实训小结]实训五选择结构[实训目的]熟练掌握PHP语言的选择结构语法。[实训器材]安装有Windows7/xp/Vista;DreamweaverCS;IE浏览器;PHP+MySQL+Apache等软件的计算机。[实训内容]if语句;switch语句。[实训步骤]1、if语句预备知识:if结构、if-else结构、if-else链接<层进>、if-elseif结构、if-else-endif结构[1]使用if-else-endif结构PHP程序1送到用户浏览器解释后显示的结果〔运行结果.显示在浏览器页面中的结果<?#if语句的使用echo"常见使用方式:C语言的方式:<br>";$user_validated=true;if<$user_validated>{echo"欢迎你!<hr>";$greed=1;}else{echo"对不起.禁止访问!<hr>";exit;}echo"还可使用PHP提供的另一种方式:if-endif结构<br>";$user_validated="";if<$user_validated>://注意冒号echo"欢迎你!<hr>";$greed=1;else://注意冒号echo"对不起.禁止访问!<hr>";exit;endif;//句尾是分号.不是冒号?>[2]if语句的使用:嵌入到HTML中〔表单验证PHP程序2送到用户浏览器解释后显示的结果〔运行结果.显示在浏览器页面中的结果<?#if语句的使用:嵌入到HTML中〔表单验证$name="SunShoulong";$user_validated="1";if<$user_validated>:?><tableborder=1><tr><td>欢迎你:</td><td><?=$name?></td></tr></table><?else:?>请重新登陆!<?endif;/*此处的分号可省略*/?>[3]if语句的链接<层进><使用if-else结构>PHP程序3送到用户浏览器解释后显示的结果〔运行结果.显示在浏览器页面中的结果<?#if语句的链接<层进><使用if-else结构>$fenshu=61;echo"你的分数是:$fenshu,属于:";if<$fenshu>90>print<"优秀">;elseif<$fenshu>80&&$fenshu<=90>print<"良好">;elseif<$fenshu>70&&$fenshu<=80>print<"中等">;elseif<$fenshu>60&&$fenshu<=70>print<"刚及格">;elseif<$fenshu<60>print<"差">;?>[4]if语句的链接<层进><使用if-elseif结构>PHP程序4送到用户浏览器解释后显示的结果〔运行结果.显示在浏览器页面中的结果<?#if语句的链接<层进><使用if-elseif结构>#阅读性比2-36好echo"本程序阅读性比程序2-36好,以下是运行结果<br>";$fenshu=61;echo"你的分数是:$fenshu,属于:";if<$fenshu>90>print<"优秀">;elseif<$fenshu>80&&$fenshu<=90>print<"良好">;elseif<$fenshu>70&&$fenshu<=80>print<"中等">;elseif<$fenshu>60&&$fenshu<=70>print<"刚及格">;elseif<$fenshu<60>print<"差">;?>[5]用if结构的HTML输出一般做法PHP程序5送到用户浏览器解释后显示的结果〔运行结果.显示在浏览器页面中的结果<?#用if结构的HTML输出一般做法$fenshu=61;echo"以下结果用if结构嵌入HTML实现,程序可读性稍差<br>";?><tableborder=1><tr><td><?if<$fenshu>60>echo"及格";elseecho"不及格";?></td></tr></table><br>用三元操作符简化使更简洁的例子见2-39[6]用三元操作符简化使2-38更简洁的例子PHP程序6送到用户浏览器解释后显示的结果〔运行结果.显示在浏览器页面中的结果<?#用三元操作符简化使2-38更简洁的例子$fenshu=61;echo"以下结果用三元操作符简化if结构实现,程序可读性好<br>";?><tableborder=1><tr><?echo"<td>".<$fenshu>60?"及格":"不及格">."</td>";?></tr></table><br>进一步的拼接字串的例子见程序2-39a.php[7]用三元操作符简化使6更简洁的例子PHP程序7<?#比2-39字串拼接更复杂的例子$fenshu=61;echo"以下结果用三元操作符结合复杂字串拼接实现,程序可读性一般,但移植性好<br>";echo"<tableborder=1><tr><td>".<$fenshu>60?"及格":"不及格">."</td></tr></table>";?>2、switch语句预备知识switch的C语言形式、switch-endswitch结构、switch语句中case的合并[8]switch-endswith结构的用法PHP程序8送到用户浏览器解释后显示的结果〔运行结果.显示在浏览器页面中的结果<?#switch-endswith结构的用法$fenshu=61;$f=<int><$fenshu/10>;echo"你的分数是:$fenshu,属于:";switch<$f>:case9:print<"优秀">;break;case8:print<"良好">;break;case7:print<"中等">;break;case6:print<"刚及格">;break;default:print<"差">;break;endswitch;?>[9]case的合并PHP程序9送到用户浏览器解释后显示的结果〔运行结果.显示在浏览器页面中的结果<?#case的合并$fenshu=61;$f=<int><$fenshu/10>;echo"你的分数是:$fenshu,属于:";switch<$f>:case9:case8:case7:case6:print<"及格">;break;default:print<"差">;break;endswitch;?>[实训小结]实训六循环结构[实训目的]熟练掌握PHP语言的循环结构语法.了解包含代码和嵌入PHP。[实训器材]安装有Windows7/xp/Vista;DreamweaverCS;IE浏览器;PHP+MySQL+Apache等软件的计算机。[实训内容]while语句;for语句foreach语句包含代码页面中嵌入PHP。[实训步骤]1、while语句预备知识while的C语言形式<传统while<>{}等结构>、while-endwhile结构[1]PHP程序1送到用户浏览器解释后显示的结果〔运行结果.显示在浏览器页面中的结果<?#while循环#从1加到10//使用传统while{}结构$total=0;$i=1;while<$i<=10>{$total+=$i;$i++;}echo"使用传统while{}结构,计算从1加到10结果是:$total";?>[2]while-endwhile循环PHP程序2送到用户浏览器解释后显示的结果〔运行结果.显示在浏览器页面中的结果<?#while-endwhile循环#从1加到10;使用传统while-endwhile结构$total=0;$i=1;while<$i<=10>:$total+=$i;$i++;endwhile;echo"使用while-endwhile结构,计算从1加到10结果是:$total";?>2、for语句预备知识fo循环的C语言形式<传统for<>{}等结构>、for-endfor结构[3]for循环中多表达式应用PHP程序3送到用户浏览器解释后显示的结果〔运行结果.显示在浏览器页面中的结果<?#用for循环计算2的0次到9次幂的和$total=0;$total0=0;for<$i=1,$j=1;$i<=10;$i++,$j*=2>{echo'第'.$i.'步:$total='.$total.'+'.$j;$total+=$j;echo"=$total<br>";}echo"使用for结构,计算结果是:<br>\$total=1+2+4+8+...+512=$total";?>[4]for循环的死循环的一个例子〔因死机.效果图略PHP程序4<?for<;;>//for循环的死循环的一个例子echo"永不停歇,耗尽你的计算机的资源!<br>";?>3、包含代码预备知识require和include的作用和区别;使用形式[5]使用包含文件PHP程序5<?#使用包含文件#新建一个文件2-48-conn.php,将2-13的2到20行复制粘贴到2-48-conn.php中.保存作为包含文件.#2-48-conn.php专门负责连接服务器.打开test数据库#新建一个文件2-48-db_close.php,将2-13的38到42行复制粘贴到2-48-db_close.php中.保存作为包含文件.#2-48-db_close.php专门负责关闭与服务器的连接#本程序采用引用上述两个包含文件的形式.是对程序2-13的简化,运行效果与2-13完全一样//连接服务器.打开数据库testinclude<"2-48-conn.php">;echo"开始从数据库test的表abc中取出数据……<br>";//将查询结果存入数组〔遍历记录集.将记录集中的数据转到数组$sql="select*fromabc";//$result为资源型变量$result=mysql_query<$sql,$server_link>;$i=0;while<$temp_array=mysql_fetch_array<$result>>{$abc_array[$i][0]=$temp_array["a"];$abc_array[$i][1]=$temp_array["b"];$abc_array[$i][2]=$temp_array["c"];$i++;}echo"取出数据完毕!<br>";mysql_free_result<$result>;//释放记录集,这是显式地关闭资源.若程序终止执行.该关闭将自动进行//关闭与服务器的连接include<"2-48-close.php">;echo"开始显示数据……<br>";//将数组中的数据输出到浏览器<各列以双等号间隔>echo"a列数据==b列数据==c列数据<br>";for<$i=0;$i<count<$abc_array>;$i++>echo$abc_array[$i][0]."==".$abc_array[$i][1]."==".$abc_array[$i][2]."<br>";echo"显示数据结束.程序执行完毕。";?>5-conn.php:<?//连接数据库$hostname="";$username="root";$password="ilongilong";echo"开始建立与服务器的连接……<br>";//$server_link为资源型变量$server_link=@mysql_connect<$hostname,$username,$password>ordie<"连接服务器失败!程序中断执行!">;if<$server_link>echo"与服务器的连接成功!<br>";echo"开始打开数据库test……<br>";//$db_link为资源型变量$db_link=@mysql_select_db<"test",$server_link>ordie<"连接数据库失败!程序中断执行!">;//die是exit的别名,它们的作用是强制中断程序执行//若程序在这里终止执行.则上面的资源型变量所占内存资源将自动回收〔释放资源型变量echo"打开数据库test成功!<br>";?>5-db_close.php:<?echo"开始关闭与服务器的连接……<br>";//断开数据库连接.这也是显式地使用关闭函数回收资源变量$db_close=@mysql_close<$server_link>;//$db_close为布尔型变量if<$db_close>echo"关闭与服务器的连接成功!<br>";elseexit<"关闭与服务器的连接失败!程序中断执行!">;?>4、在页面中嵌入PHP预备知识PHP嵌入Web页面中的几种形式;各自的适用场合[6]PHP代码以xml形式嵌入HTMLPHP程序6送到用户浏览器解释后显示的结果〔运行结果.显示在浏览器页面中的结果<?php#PHP代码以xml形式嵌入HTML?><html><head><title>thisismyfirstPHPprogram</title></head><body>Look,itismyfirstPHPprogram.<br><?phpecho"Hello,world";?><br>Howcoolisthat?</body></html>[7]PHP代码可放在HTML标签内部PHP程序7送到用户浏览器解释后显示的结果〔运行结果.显示在浏览器页面中的结果<?#PHP嵌入方法一例:PHP代码可放在HTML标签之外<如2-49等众多程序>.也可放在HTML标签内部#只要不破坏HTML代码.可放在程序〔页面中的任何地方$myname="孙寿龙";$myoperation="确定";?><inputtype="text"name="myname"value="<?phpecho$myname;?>"><inputtype="button"name="mybutton"value="<?phpecho$myoperation;?>">[实训小结]实训七函数及数组[实训目的]熟练掌握PHP函数及数组结构语法。[实训器材]安装有Windows7/xp/Vista;DreamweaverCS;IE浏览器;PHP+MySQL+Apache等软件的计算机。[实训内容]while语句;for语句foreach语句包含代码页面中嵌入PHP。[实训步骤]1、函数主要分为系统函数、用户自定义函数。〔1系统函数。PHP定义的系统函数十分丰富.多达162个函数库.用于162方面的处理。如上述用于变量检测、数组循环等.分别属于变量处理函数库和数组函数库。用户按照说明使用即可。常用的是:数组函数库、变量函数库、字符串处理函数库、MySQL函数库〔将在第四章介绍、时间日期函数库、HTTP相关函数库、数学函数库。数组函数库、变量函数库中的常用函数已经在前面介绍.下面介绍其余函数库中常用的函数。字符串处理函数库①intstrlen<字符串名>–得到字符串的长度②substr<>——截取子串stringsubstr<stringstring,intstart[,intlength]>例.substr<>基本用法<?echosubstr<'abcdef',1>;//bcdefechosubstr<'abcdef',1,3>;//bcdechosubstr<'abcdef',0,4>;//abcdechosubstr<'abcdef',0,8>;//abcdefechosubstr<'abcdef',-1,1>;//f?>如果start是负数,将从母串的末尾开始反向截取<?$rest=substr<"abcdef",-1>;//returns"f"$rest=substr<"abcdef",-2>;//returns"ef"$rest=substr<"abcdef",-3,1>;//returns"d"?>2、数组一个标量变量就是一个用来存储数值的命名区域。同样.一个数组就是一个用来存储一系列变量值的命名区域.因此.可以使用数组组织标量变量。存储在数组中的值称为数组元素。每个数组元素有一个相关的索引〔也称为关键字.它可以用来访问元素。在大多数编程语言中.数组都具有数字索引.而且这些索个通常是从0或1开始的。在PHP中.数字索引的默认值是从0开始的.当然也可以改变它。1数字索引数组的初始化$porducts=array<'Tires','Oil','SparkPlugs'>;就像echo语句一样.array<>实际上是一个语言结构.而不是一个函数。根据对数组内容的需求不同.可能不需要再像以上例子一样对它们进行手工的初始化操作。如果所需数据保存在另一个数组中.可以使用运算符"="简单地将数组复制到另一个数组。如果需要将按升序排列的数字保存在一个数组中.可以使用range<>函数自动创建这个数组。如下这行代码将创建一个从1到10的数字数组:$numbers=range<1,10>;range<>函数具有一个可选的第三个参数.这个参数允许设定值之间的步骤。例如.如需建立一个1到10之间的奇数数组.可以使用如下代码:$odds=range<1,10,2>;range<>函数也可以对字符进行操作.如:$letters=range<'a','z'>;2访问数组的

温馨提示

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

评论

0/150

提交评论