PHP实现下面的php表单设计与实现页面,特别设计“出生日期”和“爱好”两部分:(其中出生日期的年份范围1930-2009)

当前位置: >>
PHP程序设计
PHP 程序设计 简明教程PHP 讲义第 1 页 共 90 页 目录 序 .......................................................................................................................................................................................... 4 第一章 PHP 简介 ............................................................................................................................................................... 6 第一节 PHP 简介 ........................................................................................................................................................ 6 1.Web 程序工作原理 .......................................................................................................................................... 6 2.PHP 简介 .......................................................................................................................................................... 9 第二节 PHP 的开发环境的搭建 ................................................................................................................................ 9 1.程序编写,软件开发工具软件的选用 ........................................................................................................... 9 2.服务器软件的安装和配置 ............................................................................................................................. 10 第三节 实验一 PHP 开发环境的搭建 .................................................................................................................... 11 0.实验目的 ......................................................................................................................................................... 11 1.实验准备 ......................................................................................................................................................... 12 2.PHP 的安装和配置 ........................................................................................................................................ 12 3.Apache 的安装和配置................................................................................................................................... 12 4.测试 Apache 对 PHP 的支持 ....................................................................................................................... 13 5.MySQL 软件的安装和服务的启动 ............................................................................................................... 14 第二章 Web 客户端技术 ................................................................................................................................................. 16 第一节 Web 客户端工作原理 .................................................................................................................................. 16 1.浏览器工作原理 ............................................................................................................................................. 16 2.HTML 工作原理 ............................................................................................................................................. 16 3.JavaScript 工作原理 ..................................................................................................................................... 20 第二节 Web 客户端基本技术 .................................................................................................................................. 21 第三节 实验二 Web 客户端技术 ............................................................................................................................ 34 第三章 PHP 语法 ............................................................................................................................................................. 36 第一节 基本语法 ...................................................................................................................................................... 36 1.最简单的 PHP 程序 ....................................................................................................................................... 36 2.剖析最简单的 PHP 程序 ............................................................................................................................... 37 3.常用变量处理函数 ......................................................................................................................................... 37 4.访问客户端变量的方法 ................................................................................................................................. 40 5.PHP 变量的作用域 ........................................................................................................................................ 41 6.超全局变量数组 ............................................................................................................................................. 41 7.数据类型 ......................................................................................................................................................... 43 8.运算符 ............................................................................................................................................................. 47 9.函数 ................................................................................................................................................................. 48 10.session 的应用 ............................................................................................................................................ 51 第二节 PHP 编程要点 .............................................................................................................................................. 53 1.流程控制结构 ................................................................................................................................................. 53 2. PHP 嵌入 HTML 或 JavaScript 中 ............................................................................................................. 53 3.用 PHP 输出 HTML 或 JavaScript .............................................................................................................. 55 4.自服务程序 ..................................................................................................................................................... 56 第三节 实验二 PHP 语法实验 ................................................................................................................................ 57 第四章 MySQL 数据库 .................................................................................................................................................... 58 第一节 MySQL 的基本使用 .................................................................................................................................... 58 1.数据库基础知识 ............................................................................................................................................. 58 2.MySQL 简介................................................................................................................................................... 58 3.MySQL 的命令操作 ....................................................................................................................................... 58 4.MySQL 的图形化客户端工具软件 ............................................................................................................... 61 第二节 用 PHP 操纵 MySQL ................................................................................................................................... 62PHP 讲义 第 2 页 共 90 页 1.PHP 数据类型:资源型 ................................................................................................................................ 62 2.PHP 中用于操纵 MySQL 数据库的函数..................................................................................................... 63 3. PHP 操纵 MySQL 实例 ............................................................................................................................... 67 4.MySQL 的常用列类型 ................................................................................................................................... 68 5.用在查询中的运算符和函数 ......................................................................................................................... 70 第三节 实验四 MySQL 实验 .................................................................................................................................. 77 1.MySQL 基本命令练习 ................................................................................................................................... 77 2.使用 phpMyAdmin......................................................................................................................................... 79 第五章 Web 软件开发 ..................................................................................................................................................... 80 第一节 系统分析和系统设计 .................................................................................................................................. 80 1.用户需求 ......................................................................................................................................................... 80 2.系统分析与设计 ............................................................................................................................................. 81 第二节 系统实施和系统测试 .................................................................................................................................. 89 第三节 实验 .............................................................................................................................................................. 89PHP 讲义第 3 页 共 90 页 序编写一本有关 PHP 的简明教程,对 PHP 选修课程而言,是很必要的。 PHP 语言是开放源代码语言,由 PHP 开发小组及全世界的 PHP 爱好者时刻进行着维护和更新,不断增强其 功能,所以在网络上不断地会涌现大量的 PHP 的电子参考手册,在书店和图书馆里,有关 PHP 的图书也是汗 牛充栋,日新月异,这些参考手册和图书,其内容越来越丰富,在描述上不可谓不详尽,但是这些“详尽”的细 节描写,对初学者而言,都显得“大而全” ,看起来犹如走进了迷宫,总感觉不甚明了。笔者在教学实践中,曾 拿它们直接作为教材使用,效果不是很好,感觉它们不便于直接作为教材使用,尤其是对课时 40 左右的 PHP 选修课程而言。 本讲义是作者根据自己在实际 Web 软件开发工作中,对使用 PHP 进行 Web 软件开发,及实际教学经验的一 个简明总结,结合相关参考文献,整理,编写而成,力求简明扼要,以适合选修课教学实际的需要,所以,本讲 义只包含了初学者入门所需的必要的知识和实践内容。 由于本讲义描述中,含有较多的个人见解和体会,不足之处,请各位专家、老师和读者不吝指正。 参考文献: ①PHP 手册(官方最新版:http://www.php.net/download-docs.php):由 PHP Documentation Group 编写,全面、 权威,不断更新,适合高级编程人员参考。 ②PHP 手册,台湾星空浪子翻译版:主要针对 PHP4 而编写,内容简易,适合初学者使用,只是有些台湾用 语。 ③PHP 程序设计,Rasmus Lerdorf,中国电力出版社,2003:PHP 创始人、PHP 开发小组领军人物 Rasmus Lerdorf 的经典著作,本书是一本全面、详尽、权威的国外经典译著。 ④Web 数据库基础教程,魏善沛编著,中国铁道出版社,2003。 ⑤PHP 经典实例,Sterling Hughes 等,中国电力出版社,2003:由 PHP 开发小组核心人物 Sterling Hughes 等著,本书也是国外经典译著。 ⑥PHP 高级开发技术与应用,曹轶群等, 清华大学出版,2002PHP 讲义第 4 页 共 90 页 前言1.课程的性质和任务 课程名称:PHP 程序设计语言,英文名称:The PHP Programming language 课程编号:(Web 开发技术) 课程性质:专业选修课、专业技术课 课程任务:是对高年级大学生进行专业技术教育 2.课程的学习目标 对 Web 软件的开发:理解基本原理,树立正确理念,掌握基本技能 3.预备知识:计算机应用基础、C 语言程序设计 4.如何学习,如何考核 化繁为简,精讲精学,循序渐进,登堂入门 实验为主,注重实践,网上自助学习 开卷考试,独立完成 5.学习进度安排 周学时:6,总学时:42,学分:4 学习进度表 (按 1 班上课顺序排布,2 班与此内容同,顺序根据场地作相应调整) 6.重点和难点 Web 开发(Web 程序工作原理,相关概念) PHP 开发环境搭建(Apache 的配置) PHP 基本语法 PHP 操纵 HTML、JavaScript(嵌入、互相嵌入) PHP 操纵数据库(相应的函数) 基于 PHP 的 Web 应用系统设计(规划和分析) 7.习题、作业、课堂讨论:均围绕实验进行 8.学习参考材料 (1)入门学习 本教程 (2)高级参考 Rasmus Lerdorf, PHP 程序设计,中国电力出版社,2003,定价:68 元(国外经典) Sterling Hughes 等, PHP 经典实例, 中国电力出版社,2003,定价:39 元(国外经典) 曹轶群等,PHP 高级开发技术与应用,2002,清华大学出版社,定价:32 元PHP 讲义第 5 页 共 90 页 第一章 PHP 简介第一节 PHP 简介1.Web 程序工作原理(1)Web 一词的含义 network: 【计算机】电脑网络,网 Web: 【计算机】万维网(World Wide Web),互联网(Internet) Web 程序,顾名思义,即可工作在 Web 上的程序。实际上,它也可工作于企业内网(内联网:Intranet)、企业间 网(外联网:Extranet),只不过它在 Web 上更具应用优势,更为常见,故人们称它为 Web 程序。 (2)单机程序工作原理 单机,即不连接到其他计算机的计算机,不在网络中。两单机 A、B,只在 A 上安装有程序 X,若要在 B 上得到 X 的运行结果,必须在 B 上安装一遍 C,然后运行之,若 B 类的计算机比较多,则需要逐一安装运行,非常麻 烦;它们之间不能直接进行通信和协作。如图 1 所示。图 1 单机程序工作示意图 (3)客户机/服务器程序工作原理 将单机连成网络,如将 A 与 B 连成网络,则可以使它们之间提供服务,如 A 向 B 提供服务。常见的服务是文件 共享,FTP 文件下载等。我们把提供(响应)服务的计算机称作服务器(Server),接受(请求)服务的计算机称 作客户机(Client),也叫工作站(Workstation)。服务器一般用性能较高的计算机担当。客户机/服务器程序的工作 原理如图 2 所示。图 2 客户机/服务器程序的工作原理 服务器和客户机的角色可以转换。一台计算机,可以对自己提供服务,这时,它既是服务器,又是客户机。如, 计算机 A 把自己的文件夹 a 共享,然后在网络上找到 A,则可以下载 a,即自己对自己提供了服务,自己请求并 响应了服务。 客户机/服务器的这种计算机间的协作方式,称作 C/S 方式,或 C/S 架构。 C/S 程序分为两部分:服务器端部分和客户机端(以后简称客户端)部分,分别称为服务器端程序(或服务程序) 和客户端程序(或客户程序) 。对于客户端程序,对每一个客户机,也都需要分别安装,这一点与单机程序的分 发相同,也很麻烦。但是,安装好了客户端程序后,就可以通过通信线路与服务器交互,或通过服务器,与其他 客户机通信。典型的例子是大家常用的聊天程序 QQ,如图 3 所示。PHP 讲义 第 6 页 共 90 页 图 3 C/S 程序 QQ 的工作原理(4)浏览器/服务器程序工作原理 若通过客户机中的浏览器(Browser) ,向服务器发出请求,接收其响应的结果,那么,这时,我们称这样的协 作方式为 B/S 方式,或 B/S 架构,其工作原理如图 3 所示:图 4 浏览器/服务器程序的工作原理 这时,客户端程序就是浏览器,而浏览器的安装是随着操作系统的安装完成的,不需要用户额外安装。大多数情 况下,大多数人用的操作系统是 Windows 操作系统,对他们而言,使用 B/S 程序(如上网看新闻,收发电子邮 件) ,可不需要安装专门的客户端程序,直接在浏览器中操作即可。这使得 B/S 程序的维护十分方便,因为不用 管客户端程序,只要维护好服务器端程序即可。 人们说当今是一个网络时代,实际上着重指得是互联网时代,也就是 Web 的时代。人们使用这种 B/S 程序比较 多,是造成这种叫法的一个重要缘故。 本课程中的 Web 程序,就是指这种 B/S 程序。 (5)C/S、B/S 中服务器的组成 服务器,是担负服务任务的机器。这些服务任务一般专门的软件来完成。一般地,把具有某种服务功能的服务器 软件及其所在的机器,都统称 XX 服务器(XX 表示某种具体服务) 。这些软件可以集中于一台机器中(如图 5) , 这样的机器可以称为集中式服务器;也可以单独存在于某台机器中(如图 6) ,这样的机器可以称为独立式服务 器,多个独立式服务器可组成服务器群或矩阵(台湾词为“阵列”)。图 5 集中式服务器PHP 讲义第 7 页 共 90 页 图 6 由独立服务器组成的服务器群 按照服务任务,常见的几种服务器软件如表 1 所示。 表 1 几种常见服务器软件 服务器软件类别 Web 服务器软件 服务器软件举例 Apache、IIS、PWS 等 功能 接收来自浏览器的任务请求,分派任务给其他服务器软件,接 收其他服务器软件对任务的处理的结果,将该结果返回给浏览 器 接收来自 Web 服务器软件分派给自己的服务器端脚本执行任 务;进行脚本的语法分析,若语法有错误,则向 Web 服务器返 回出错信息,否则,执行脚本,将解析结果/执行结果返回给 Web 服务器软件 接收来自其他服务器软件的数据处理任务请求,执行该任务, 将执行结果返回给请求者 接收来自其他服务器软件的邮件处理任务请求,执行该任务, 将执行结果返回给请求者服务器端脚本解释软件 (一般与 Web 服务器软 件同处于同一台机器上) 数据库服务器软件 电子邮件服务器软件PHP、ASP 等MySQL 、 Oracle 、 MS SQL Server 等 MS Exchange、 Sendmail 等服务器端脚本:用服务器端编程语言编写的程序。 服务器端编程语言:只运行在服务器端,被服务器所解释和执行的编程语言,如 PHP 语言。 (6)B/S 程序工作的具体过程 说明:在以后的 B/S 程序图示中,通信线路不再特别表示。图 7 B/S 程序工作过程示意图 (7)PHP 程序工作的具体过程图 8 PHP 程序工作过程示意图 具体过程是 Apache、PHP、浏览器之间的协作过程: 用户通过浏览器向服务器请求 PHP 文件(如在地址栏输入:http://211.64.40.187/index.php) ,Apache 在服务 器上的用户文档发布目录下查找浏览器所请求的 PHP 文件,若找不到,则向浏览器返回错误信息,否则,将其PHP 讲义 第 8 页 共 90 页 提交给 PHP 解释器解释执行,PHP 解释器对该 PHP 文件进行语法分析,若发现语法错误,则经 Apache 返回 错误信息 (以浏览器能识别的代码表示)到浏览器, 否则执行该 PHP 程序 (可能包含对数据库 MySQL 的操作) , 将 PHP 程序执行结果(以浏览器能识别的代码表示)经 Apache 返回到浏览器,浏览器对返回的结果进行解释、 执行,执行的结果显示在浏览器窗口中。 如果浏览器所请求的文件不是 PHP 文件,而是 HTML 文件(.htm 文件)或 JavaScript 文件(.js 文件) ,该过程 将简化: Apache 在服务器上的用户文档发布目录下查找浏览器所请求的 HTML 文件或 JavaScript 文件, 若找不 到,则向浏览器返回错误信息,否则,将其返回给浏览器,浏览器对返回的结果进行解释、执行,执行的结果显 示在浏览器窗口中。2.PHP 简介PHP,即“PHP: Hypertext Preprocessor” ,是一种被广泛使用的开放源代码多用途脚本语言,尤其适用于 Web 开发并可以嵌入到 HTML 中去。其语法利用了 C,Java 和 Perl,非常容易学习。该语言的主要目标是让 Web 开发人员可以很快写出动态生成的网页,但 PHP 的功能远不止如此。 一个简单的 PHP 程序: &? echo “hello,world”; ?& 该程序运行的结果是在网页上输出了一个内容为 hello,world 的字符串。 PHP 是一种语法简单、功能强大的网络编程语言。在语法格式上,PHP 借鉴了广泛流行的 C、Java 和 Perl 等 编程语言的特点,非常类似于 C 语言,但比 C 语言更简单,易学和易用,因此特别适合于学习过 C 语言,有志 于网络编程的人学习和使用。 在功能上,它提供了丰富的函数库,支持复杂字符串处理,正规表达式和图形处理,可根据用户请求将服务器的 数据轻松地产生动态网页,支持目前几乎所有流行的数据库系统,如 Oracle、SQL Server、MySQL、mSQL、 Informix、SyBase、ODBC、PostgreSQL 以及 dBase 等。在在可移植性上,PHP 程序可在 Windows 下快速开 发,代码甚至不加修改即可运行在 Unix、Linux 上。 本课程中的 PHP 程序,就是指使用这种 PHP 语言编写的程序。它只能被服务器所解释执行,只能运行于服务 器端,用户在浏览器中看到的,只是经服务器解释后,返回给浏览器的 HTML 等客户端代码(可从浏览器的“查 看-&源文件”菜单中看到) ,这些代码是由浏览器解释执行的,执行的结果,显示在浏览器窗口中,形成网页。 所以,在客户端,看不到 PHP 代码,这也是 PHP 语言写成的代码比较安全的一个原因。第二节 PHP 的开发环境的搭建从图 8 中可以看出,要使 PHP 程序能够正常工作,必须: (1) 选用合适的程序编辑软件,以便进行程序的编写; (2) 为其在服务器上配置好一个运行环境:安装和配置好以下软件,使它们能够正常协作:Apache、PHP、 MySQL,以便进行程序的测试和运行。 以上两点构成一个完整的 PHP 开发、测试和运行环境。其中, (1)的 3 个软件部署在服务器上, (2)的软件部 署在客户机上。为方便大家学习和理解整个环境的搭建过程,本课程的实验条件是人手一机,每台机器既作服务 器又作客户机,整个环境的搭建工作可在一台机器上完成。 以上两点构成一个完整的 PHP 开发、测试和运行环境,其根本目的是为了学习使用 PHP 语言进行 Web 程序编 写和软件开发,所以,我们把这个环境的搭建工作称之为 PHP 开发环境的搭建。1.程序编写,软件开发工具软件的选用 程序编写, 程序编写(1)有关工具软件PHP 讲义 第 9 页 共 90 页 这些工具软件用于编写,修改源程序文件。我们的源程序文件都是 ASCII 码文件(纯文本文件) ,所以,只要是 能够处理纯文本的工具软件,都可选用。 常用的编辑软件有:记事本。为了提高效率,常使用一些专业工具软件,如 UtraEdit,DreamWeaver,不建议 使用 FrontPage(它对 PHP 的支持不好) 。 记事本:常用于简单的代码编辑。 UltraEdit10 简体中文版:短小精悍,代码编辑功能强大,编程高手的利器 Dreamweaver MX 中文版:图形化编辑环境,速度慢,功能多,常用于复杂网页设计和网站管理。注意该软 件提供了“代码”“代码/设计”“设计”三种视图: 、 、 “代码”视图以全部是源代码的方式供用户编辑使用, 常用于代码(服务器端代码或客户端代码)的编写,修改; “设计”视图以可视化的方式供用户使用,常用 于设计网页界面,以减少手工撰写客户端代码的工作量; “代码/设计”视图是上述两种方式的结合。 (2)源文件扩展名 无论用哪种工具软件编写源程序文件,若文件中含有 PHP 代码,必须确保文件的扩展名,与在 Apache 配置中 的 PHP 文件的扩展名的设定一致;若不含 PHP 代码:①若仅含有 HTML 代码,一般以.htm 为扩展名;②若仅 含有 JavaScript 代码,这种文件常作为.htm 文件的包含文件(引用文件,类似于 C 程序文件中的头文件)一般 以.js 为扩展名;③若含 HTML 代码和 JavaScript 代码,一般以.htm 为扩展名。 (3)开发工具软件的使用 这些开发工具软件,简单易用,用户稍加学习即可掌握。对于 Dreamweaver,操作类似 WORD,另外,它自带 学习教程,可以参考。2.服务器软件的安装和配置 服务器软件的安装和配置对于 Windows 下多数软件的安装, 我们是通过执行该软件的安装程序 (setup.exe、 install.exe、 软件文件名.exe) , 由安装程序负责具体的安装过程。这个过程中,安装程序做的工作一是系统注册:把该软件的一些系统文件,复 制或移动到操作系统的有关系统目录中,实现与操作系统的接口,便于操作系统使用;二是将自身的程序文件、 数据文件等复制到本软件的安装目录下,用于本软件的运行。 (1)PHP 语言解释器软件的安装和配置 该软件没有安装程序,所以具体的安装过程需要用户来完成。不过过程也十分简单:解压缩该软件包至安装目的 目录,将系统文件 php4ts.dll(PHP 系统扩展函数库)和 php.ini(PHP 配置文件)分别放到操作系统目录下的 相应的位置即可。 (2)Apache 的安装和配置 大体经过安装-&配置两大步骤完成。配置大体经过编辑配置文件-&启动服务完成。 安装:其安装过程由其安装程序进行,启动安装程序后,按提示操作即可。 配置目的:向 Apache 说明清楚 PHP 的有关情况,以便实现二者的协作。 配置方法:主要通过一个配置文件中有关参数的修改或添加进行。所谓“修改” ,即对该文件中已经存在的参 数,修改其参数值;所谓“添加” ,即将该文件中缺少的参数和参数值增加到该文件中相应位置,为了省事, 也可以放到该文件的最后。该文件名为 httpd.conf,存在于 Apache 安装目录下的 conf 目录下,是一个纯文 本文件,可用记事本打开修改。也可以通过开始菜单中 Apache 程序组中的“Edit Configuration”打开该文 件,进行配置操作。注意每次配置变动后一定要保存,并启动或重新启动 Apache 的服务,所做的最新配置 才会起作用。 有关参数和参数值的说明 1)格式多是这样的单独的行: #参数名 参数值 行首的#表示注释,应去掉才会使配置起作用。 2)参数和参数值的含义、作用 表 2 Apache 配置参数设定 示例路径:PHP 安装路径――d:/php;发布文档(即文件)主目录――d:/www参数名和参数值 PHP 讲义 操作 第 10 页 共 90 页 作用 ① ② ③ ④ ⑤ ⑥ ⑦BindAddress 服务器机器 IP LoadModule php4_module d:/php/sapi/php4apache.dll修改 添加 修改进行地址绑定(指定服务器地址) 指名将 PHP 配置为 Apache 的模块(Apache module)方 式进行工作时的 PHP 语言解释器 指定 Apache 对外提供 Web 服务的通信端口 当发生错误时送回客户端浏览器的管理员信箱 指明主机名称 指明向客户端提供 Web 服务的发布文档主目录 发布文档主目录定义,该处目录的值应与⑥中的一致 指明 PHP 脚本语言名称和 PHP 脚本语言解释器的路径Port80 服务器管理员邮箱(如 ) 服务器的计算机名称 &d:\www&ServerAdmin ServerName修改 修改 修改 修改DocumentRoot&Directory &d:\www&& ScriptAlias /php/ &d:/php/& .php⑧AddType Actionapplication/x-httpd-php添加指明 PHP 脚本扩展名 指明 PHP 脚本解释器(PHP 以非模块工作时起作用) 指定默认文档(主页文档,只请求服务器地址就响应的文档)application/x-httpd-php index.php&/php/php.exe& 修改⑨DirectoryIndex有关服务的操作:服务,是一直运行,监听来自其他程序(客户端)的请求,接收请求,处理请求(自己处理 或提交其他程序处理) 返回处理结果的一种运行着的程序, , 一种进程。 一般运行于操作系统后台。 有关 Apache 的服务操作,通过开始菜单中 Apache 程序组中的有关命令进行: Install Service:在操作系统中注册服务 Uninstall Service:在操作系统中删除服务 Start Service:启动服务 Restart Service:重新启动服务 Stop Service:停止服务 注意: 服务的启动、重新启动、停止,必须以在操作系统中注册了服务为前提; 服务的启动、重新启动、停止过程中有 Apache 的消息反馈。 (3)Apache 与 PHP 的协同测试 测试目的是检查二者是否能够正常协作。具体来说,是检验配置后的 Apache、PHP、浏览器是否具备了这样的 协作能力: 用户通过浏览器向服务器请求 PHP 文件(如在地址栏输入:http://211.64.40.187/index.php) ,Apache 在服务 器上的用户文档发布目录下查找浏览器所请求的 PHP 文件,若找不到,则向浏览器返回错误信息,否则,将其 提交给 PHP 解释器解释执行,PHP 解释器对该 PHP 文件进行语法分析,若发现语法错误,则经 Apache 返回 错误信息 (以浏览器能识别的代码表示)到浏览器, 否则执行该 PHP 程序 (可能包含对数据库 MySQL 的操作) , 将 PHP 程序执行结果(以浏览器能识别的代码表示)经 Apache 返回到浏览器,浏览器对返回的结果进行解释、 执行,执行的结果显示在浏览器窗口中。 做法是,在服务器上用户的发布文档目录下,放置一个含有 PHP 代码的文件,即 PHP 程序,通过客户端浏览 器,向服务器请求这个文件,若浏览器能得到正确的来自服务器的结果,则表明二者安装和配置成功,否则,应 根据出错信息,修改配置。第三节 实验一 PHP 开发环境的搭建本实验对 Windows95 及其以上版本的 Windows 操作系统机器通用。0.实验目的 实验目的(1)能够快速部署 Windows 下的开发环境,满足学习,使用 PHP 对于开发和服务环境的需要。 (2)加深对 B/S 程序工作原理的理解PHP 讲义第 11 页 共 90 页 1.实验准备 实验准备(0)知识准备:Web 程序工作原理(本章第一节) (1)PHP 服务器环境需要以下 3 个服务器端系统软件 Web 服务器软件:Apache 1.3.14 PHP 语言解释器软件:PHP 4.0.4 数据库服务器软件:MySQL 3.23.43 (2)开发工具软件: 记事本:Windows 自带。 UltraEdit10 简体中文版(压缩包文件:uedit10.zip) Macromedia Dreamweaver MX 中文版:已安装好 注: PHP 相关软件、开发工具的获得:在我的网站上的有关网页上下载。 我的网站: 或 http://211.64.32.2/dsks (3)操作系统软件:服务器和客户机上均为 Windows 具体到德州学院计算机系的机房环境,请在 Windows 2000 Professional 环境下做 (Win98 下已经搭建好,是为以后章节的学习使用的,无实验意义) (4)实验中的路径说明 为说明问题的简单起见,路径为比较简单的示例路径,但已经过测试。实际运用时,路径完全可根据自己需要设 定。2.PHP 的安装和配置(1)安装 ①将 PHP-4_0_4-Win32.rar 解压缩到 d:\php 下 ②将 d:\php 下的 php4ts.dll 移动到 c:\操作系统安装目录\system 下 ③将 d:\php 下的 php.ini-dist 复制到 c:\操作系统安装目录 下,更名为 php.ini 注意:操作系统安装目录,具体位置见表 3;php.ini 是 PHP 的配置文件。 表 3:操作系统安装目录 操作系统 Windows95 Windows98 Windows me Windows XP Windows NT 系列 Windows 2000 系列 Windows 2003 操作系统安装目录 windows windows windows windows winnt winnt windows(2)配置:通过修改 php.ini 中的参数来实现。对 MySQL 而言,若无特殊要求,一般无须配置。因为 PHP 在 php.ini 中已经做好了对 MySQL 的配置,所以一般无须修改。3.Apache 的安装和配置(1)安装软件:双击 Apache_1_3_14_win32.exe,按照提示,安装到 d:\apache 下,即完成安装。 (2) 配置服务: 单击[开始]-&[程序]-&[ Apache Web Server]-&[ Management]-&[ Edit configuration], 打开 Apache 的配置文件 httpd.conf,按表 4 提示进行配置,完毕后,保存。 注意: 所谓“修改” ,即对该文件中已经存在的参数,修改其参数值;所谓“添加” ,即将该文件中缺少的参数和参数PHP 讲义 第 12 页 共 90 页 值增加到该文件中相应位置,为了省事,也可以放到该文件的最后 每处的配置要想起作用,必须将行首的#号(注释符号)去掉 描述以 httpd.conf 文件的行文顺序进行 表 4 中路径、地址、主机名、信箱等,实际配置时请根据自己情况进行 每次配置变动后一定要保存,并启动或重新启动 Apache 的服务,所做的最新配置才会起作用 表 4 Apache 配置参数设定 示例路径:PHP 安装路径――d:/php;发布文档(即文件)主目录――d:/www序 号 ① ② ③ ④ ⑤ ⑥ ⑦ BindAddress 服务器机器 IP 或 localhost(127.0.0.1) LoadModule php4_module d:/php/sapi/php4apache.dll 参数名和参数值 操作 修改 添加 修改 服务器管理员邮箱(如 ) 服务器的计算机名称 &d:/www& 修改 修改 修改 修改 作用进行地址绑定(指定服务器地址) 指明将 PHP 配置为 Apache 的模块(Apache module)方 式进行工作时的 PHP 语言解释器 指定 Apache 对外提供 Web 服务的通信端口 当发生错误时送回客户端浏览器的管理员信箱 指明主机名称 指明向客户端提供 Web 服务的发布文档主目录 发布文档主目录定义,该处目录的值应与⑥中的一致 指明 PHP 脚本语言名称和 PHP 脚本语言解释器的路径Port80ServerAdmin ServerNameDocumentRoot&Directory &d:/www&& ScriptAlias /php/ &d:/php/& .php⑧AddType Actionapplication/x-httpd-php添加指明 PHP 脚本扩展名 指明 PHP 脚本解释器(PHP 以非模块工作时起作用) 指定默认文档(主页文档,只请求服务器地址就响应的文档)application/x-httpd-php index.php&/php/php.exe& 修改⑨DirectoryIndex说明: ①处:localhost 指服务器机器本机。如果机器没有插网线,请选择 localhost,否则有可能会提示说找不到地址。 ⑦处上面有说明:This should be changed to whatever you set DocumentRoot to 教学网站上有 Apache 配置文件样本可供参考。 (3)Web 服务的安装和启动 安装 Apache 服务 将 Apache 在 Windows 操作系统服务中注册。单击:开始 程序 Apache Web Server Apache as a service Install service。服务只需要注册一次。 启动 Apache 服务 单击:开始 程序 Apache Web Server Apache as a service Start Service,启动服务。还可以停止,重新 启动服务。 说明: 在 Windows2000 Professional 或 Windows XP 中,也可通过开始 控制面板 管理工具 服务,根据需要,对 Apache 服务进行启动、停止、重新启动等操作。4.测试 Apache 对 PHP 的支持 测试(1)测试目标:检查二者是否能够正常协作 (2)测试方法 ①用记事本或 uedit 编写测试脚本,存为 d:\www\index.php,内容为: &? echo phpinfo(); ?& 注意:index.php 被配置成了 Apache 的默认文档 phpinfo()是 PHP 内置函数,用来显示 PHP 和 Apache 配置信息。 ②在浏览器中敲入 http://你的机器的 IP 地址或 localhost(127.0.0.1),回车后若显示类似图 9 的 PHP 配置页面(以PHP 讲义 第 13 页 共 90 页 Win98 下为例) ,则说明你的配置达到了上述的测试目标,Apache 与 PHP 能够正常协作;若不显示类似画面, 则配置有误,此时你的 Apache 不能够识别 PHP 脚本,需更改配置。图 9 Apache 配置成功(图中 PHP 以 4.3.4 版本为例)5.MySQL 软件的安装和服务的启动(1)安装 将 mysql-3.23.43-win.zip 解压缩后,双击 setup.exe,按照提示,进行安装。 根据指定安装路径的不同,安装可采取的方式有: ①默认安装:安装过程中不指定安装路径,采用默的 c:\mysql。采用该种方式安装,一路按“下一步”按钮即可 完成。 ②定制安装:安装过程中指定自己的安装路径(如:d:/mysql) ,而不是采用默的 c:\mysql。采用该种方式安装 完成后,需要做一个配置文件,将 MySQL 的有关信息向操作系统特别声明一下。具体方法是:用记事本或 uedit 创建一个文件 my.ini 保存在你的操作系统安装目录下,该文件内容如下 [mysqld] basedir=d:/mysql/ datadir=d:/mysql/data/ 注意:本实验采用定制安装方式 (2)启动服务程序 双击 d:\mysql\bin 下的 winmysqladmin.exe(MySQL 服务程序) ,这样就会在操作系统的后台服务中注册并启动 MySQL 服务程序(默认情况下,每次操作系统启动时自动启动该服务,在 Windows2000 的服务中可更改其启 动方式) (3)MySQL 数据库连接测试:通过 MySQL 的客户端程序 mysql.exe,测试其与服务程序的连接是否正常,服 务程序是否能够正常工作。 启动客户端程序 mysql.exe:在命令提示符或 MS-DOS 下,进入 d:\mysql\bin,键入命令 mysql 回车。 若出现类似如下结果: Welcome to the MySQL monitor. C or \g. Your MySQL connection id is 26 to server version: 3.23.43PHP 讲义 第 14 页 共 90 页 Type '' or '\h' for help. Type '\c' to clear the buffer. mysql& 则表明本测试成功。 键入 exit 回车,可退出与 MySQL 服务器的连接 至此,我们已经成功完成了 PHP 脚本解释器软件、Web 服务器软件 Apache、数据库服务器软件 MySQL 的部 署。对于操作系统软件和开发工具软件,读者可自行完成部署。 本实验到此结束。PHP 讲义第 15 页 共 90 页 第二章 Web 客户端技术第一节 Web 客户端工作原理1.浏览器工作原理 浏览器工作原理(1)Web 客户端工作原理 Web 客户端,在本课程中,显然就是指浏览器(Browser)端。任何应用系统都必须有一个供用户操作的界面, 即用户界面。浏览器的工作,从整个 B/S 程序来看,是用户与整个 B/S 程序打交道的一个界面(接口) ,即人机 界面(接口) 、用户界面,它的任务是: 收集用户输入的数据(如用户数据:http://211.64.32.2/dsks/index.php) 将用户数据发送到服务器(向服务器请求该用户对服务器的请求) 接收服务器返回的响应(用浏览器能认识和执行的代码即客户端代码表示,如 HTML 代码,JavaScript 代码 等) 解释,执行这些代码,将结果显示在浏览器窗口中 可见,浏览器扮演的,是(多数情况下是远程的)服务器在用户那里的一个代理(Agent)的角色。这个代理, 具有收集消息,请求响应和解释其领导(服务器)发回的指示的作用。 (2)Web 客户端代码 无论是组织用于收集用户数据的界面,还是解释来自服务器的指示形成结果界面,都是用 Web 客户端代码表示 的。常用的 Web 客户端代码使用 HTML 语言或 JavaScript 语言编写的,分别称为 HTML 代码或 JavaScript 代 码。另外还有 CSS、XML 等语言。本课程仅介绍 HTML 语言或 JavaScript 语言。2.HTML 工作原理(1)HTML 简介 HTML:Hyper Text Markup Language,超文本标记语言。 20 世纪 80 年代末,在欧洲粒子物理实验室 (CERN:the European Laboratory for Particle Physics) 工作的 Tim Berners-Lee(人称 WWW 之父)通过研究发现:人们的视觉处理是以页为基础的。于是他得出了一个结论:电 子资料应以页的方式呈现。 以此为出发点, 他使用超文本为中心的管理方式来组织网络上的资料, 并提出了建立、 存取与浏览网页的方法; 建立了超文本标记语言; 设计了超文本传输协议 (HTTP: Hypertext Transport Protocol) , 用于获取超链接文件;使用统一资源定位器(URL:Uniform Resource Locator)来定位网络文件、站点或服务 器。 (2)HTML 工作原理 (1)HTML 本质 HTML 不是程序语言,而是一种标记语言。所谓标记,在有的书上也叫标签,从面向对象的角度而言,就是对浏 览器对象的标识的意思。它用来控制文字、图片等浏览器的子对象在浏览器中的表现,以及如何建立文件之间链 接的标记,这些标记均放在文本格式的文件中。而程序与之最大的不同,就是可用来控制操作系统或应用程序执 行并完成某项作业。超文本标记语言的文档应该尽量做到,从形式上看,无论在任何操作系统的任何浏览器上打 开都具有相同的效果。 (2)HTML 的基本结构 其基本结构分为三部分: 版本声明,即序(Prologue) 头部(Head)PHP 讲义 第 16 页 共 90 页 主体(Body) 其中,主要部分是头部和主体。 【例 2-1】Web 文档基本 HTML 结构标记 2-1.htm 源代码: &!-代码内容:Web 文档基本 HTML 结构标记 作 者:孙寿龙 日 期: --& &HTML& &HEAD& &TITLE&这里写网页的标题&/TITLE& &/HEAD& &BODY& 这里是网页的主体(显示在浏览器窗口中的部分) &/BODY& &/HTML& 说明: ①标记一般成对出现:&开始标记&&/结束标记&,为了防止忘记写结束标记符,可采用成对书写,然后在中间插 入的写法。 ②放在 HEAD 标记内的信息一般不显示在浏览器的窗口中,通常这里面用来定义 JavaScript 函数,包含 JavaScript 代码文件,包含层叠样式表(CSS:Cascading Style Sheets)文件等一些预处理工作。 ③BODY 标记内通常放上需要表示或展示内容的标记格式。 ④HTML 中的注释: 第一种格式:&!注释内容&。其中,注释内容中不可出现“&” ,常用于说明标记里的内容; 第二种格式:&!--注释内容--&。其中,注释内容中可包括“&”在内的任何符号,常用于注释大段的内容。 ⑤HTML 编辑软件:只要是文本编辑器或自带 HTML 编辑器的软件,就可以用来编写 HTML 文件,也可以使用 HTML 专用编辑器如 Dreamweaver 等来编辑 HTML。可通过使用 HTML 专用编辑器快速生成一个 HTML 的基 本结构;快速学习并掌握 HTML 语言。 ⑥标记符中的字母,如&HTML&中的 HTML,大小写不敏感,建议统一大些或小写使用。 ⑦文件的扩展名: 若仅含有 HTML 代码, 一般以.htm 为扩展名; 若仅含有 JavaScript 代码, 这种文件常作为.htm 文件的包含文件 (引用文件, 类似于 C 程序文件中的头文件) 一般以.js 为扩展名; 若含 HTML 代码和 JavaScript 代码,一般以.htm 为扩展名。 (3)HTML 标记简介 1)基本标记(Basic Tags) &HTML&&/HTML& 定义整个超文本文档(网页)对象,描述 Web 页面的起始与终止。 &HEAD&&/HEAD& 设置页面的头部分,用来包含当前文档的一些相关信息。如定义样式、网页的标题、网 页中使用的脚本语言以及对搜索引擎有帮助的关键字。 &TITLE&&/TITLE& 用来指明文件的标题,其内容将显示在浏览器的标题栏内,设置它的好处:可为下载时提 供默认的文件名;可为搜索引擎提供搜索关键字。 &BODY&&/BODY& 放置 Web 页面的正文内容,包含文件内的文字、超链接文字的颜色、背景色彩、图片、 动画、影像、音效等几乎所有对网页的展示功能。 &META& 用来介绍与文件内容相关的信息。每一个&META&标记用于指明一个名称或数值对,常常放在头部 标记中。 2)文本、字符格式(Text & Char Format) &Hn&&/Hn& 标题文字(n=1~6) &BR& 换行标记 &P&&/P& 段落标记PHP 讲义 第 17 页 共 90 页 &HR& 水平线标记 &FONT FACE=”字体名称” SIZE=”大小” COLOR=”颜色名或颜色值”&字符串&/FONT& 设置字符串的字 体、大小、颜色 颜色名:red,green,blue,yellow,black,white 等。 颜色值:格式为#rrggbb,其中,r,g,b 分别用十六进制数表示的红、绿、蓝三种颜色,如#FF0000 表示红色, 而#6CB0A6 表示一种青色。 字符格式标记 &B&&/B& 粗体 &I&&/I& 斜体 &U&&/U& 加下划线 &STRONG&&/STRONG& 着重强调 &SUP&&/SUP& 定义上标 &SUB&&/SUB& 定义下标 3)超链接(Hyperlink) 标记&A href=”URL” … &&/A&表示一个超链接元素。超链接的属性主要有超链接地址、超链接文件打开的窗口 位置,都在其开始标记中定义。 【例 2-2】超链接标记 2-2.htm 源代码: &A href=&http://nc./article/show.php?id=139& target=&_blank& &ASP,PHP,JSP 之比较&/A& 其中, href 即超链接地址,其值为 http://211.64.32.2/dsks/index.php target 即窗口位置,对其值_blank 而言,浏览器接收到服务器 211.64.32.2 发来的文件 ndex.php,将在一个新浏 览器的窗口中显示。 超链接一般简称链接。 4)表格(Table) 常用表格来精确定义页面文本或图片等的排版格式、排版布局,以使整齐美观。 &TABLE&&/TABLE& 定义一个表格 &TR&&/TR& 定义表格内的一行 &TD&&/TD& 定义一行内的一个单元格 5)表单(Form) 表单的概念同 VB、VF、VC 等程序设计语言,它是浏览器收集、发送用户所填数据的一种浏览器对象(控件) , 就像一部货车,一艘轮船,它本身不承载数据,而是通过包含表单对象(就像轮船上的集装箱)这些可以盛放数 据的数据容器来承载数据,传送数据,从这个角度来看,它实际上是一个盛放数据容器的容器。 表单是 B/S 程序中人机交互界面的主要形式。从服务器的角度来看,或者说从服务器程序编写人员来看,表单 及表单对象的名称(即其 NAME 属性名)被服务器看作变量来接收,称作表单变量;表单变量的值即用户在客 户端表单对象中填写的数据。 表单的一般标记有: 表单本身:&FORM NAME=”form1” ACTION=”chuli.php” METHOD=”POST” &&/FORM& 定义表单,其 中: 属性 ACTION 的值起指明将表单中数据提交(发送的意思)的方向,即服务器上的某个处理程序。 属性 METHOD 指明提交数据的方法,常用 POST 和 GET。 &INPUT& 输入型表单对象 ①文本字段,类似于 VB、VF、VC 里的文本框控件,基本标记形式如下: &input name=&textfield& type=&text& value=&这里是文本字段的值&& ②隐藏域, 设计时可见, 运行时不可见的文本字段, 程序员常用它向 FORM 的 ACTION 指向的文件传送变量。 &input type=&hidden& name=&hiddenField&& ③文本区域,类似于 VB、VF、VC 里的文本框控件,基本标记形式如下: &textarea name=&textarea& cols=&25& rows=&5&&这里是文本区域的值&/textarea&PHP 讲义 第 18 页 共 90 页 ④单选按钮,类似于 VB、VF、VC 里的单选按钮控件(有人也称之为无线按钮) ,作用是在同名的多个单选按 钮中提供单项选择。 ⑤复选框,作用是在同名的多个复选框中提供多项选择。 ⑥列表/菜单域,概念等同于 VB、VF、VC 里的下拉列表框。&SELECT&&/SELECT& ⑦提交表单型表单按钮,标记形式: &INPUT TYPE=”submit” VALUE=”提交”& 作用是将表单中的数据提交到表单属性 ACTION 的值所指向的 服务器端程序,由服务器端程序处理 ⑧重置型表单按钮,标记形式: &INPUT TYPE=”reset” VALUE=”重新填写”& 作用是清空表单中每个输入域中的数据,等待用户重新输 入。 ⑨定制型表单按钮,标记形式: &INPUT TYPE=”button” VALUE=”转到教学网站” ONCLICK=”window.location=’ http://211.64.32.2/dsks’ ”& 作用是执行用户指定的函数、过程。这里,用户通过指定该按钮的单击事件处理过程为:将当前页面跳转到教 学网站主页。 【例 2-3】FORM 标签示例 2-3.htm 源代码: &form name=&form1& method=&post& action=&2-3.php&& 姓名:&input name=&xm& type=&text&&&br& 简介:&textarea name=&jj& cols=&25& rows=&5&&&/textarea&&br& 性别: &input type=&radio& name=&xb& value=&1&&男 &input type=&radio& name=&xb& value=&0&&女 &br& 爱好: &input type=&checkbox& name=&ah& value=&1&&运动 &input type=&checkbox& name=&ah& value=&2&&音乐 &input type=&checkbox& name=&ah& value=&3&&旅游&br& 今天要去哪里逛一逛: &select name=&where&& &option value=&你未选择任何地方!& selected&请选择&/option& &option value=&http://211.64.32.2/dsks&&孙寿龙教学网站&/option& &option value=&http://www.&&德州学院网站&/option& &option value=&&&网易&/option& &/select& &br& &input type=&hidden& name=&hiddenField&& &br& &input type=&submit& name=&Submit& value=&提交&& &input type=&reset& name=&Submit2& value=&重置&& &input type=&button& name=&Submit3& value=&定制&& &/form& 向服务器请求 2-3.htm 的结果见图 10。PHP 讲义第 19 页 共 90 页 图 10 FORM 标签示例 以上介绍了 HTML 的常用标记,美国麻省理工学院(MIT:Massachusetts Institute of Technology)计算机科 学实验室的 WWW 标准化组织 W3C(又称万维网联盟 W3C) ,是 HTML 的先锋,其互联网地址为: http://www.w3.org。有关 HTML、CSS、XML 语言的各种最新的、权威的、官方的资料,在该网站均可查到。3.JavaScript 工作原理HTML 代码所表示的文档是一种静态文档,几乎没有交互功能,很难使页面成为动态页面。增加脚本语言,可使 数据发送到服务器之前先进行处理和校验,动态地创建新的 Web 内容,更重要的是,引入脚本语言使我们有了 事件驱动的软件开发环境。 (1)JavaScript 简介 JavaScript 的原名叫 LiveScript,是 NetScape 公司在引入 Sun 公司有关 Java 的程序设计概念后,重新设计而 更名的。JavaScript 是一种可以嵌入 HTML 文档的,基于对象并具有某些面向对象特征的脚本语言。 说明:浏览器端脚本语言除了 JavaScript,还有 VBScript 和 Jscript,后两个是 Microsoft 公司设计的,欲了解相 关内容,可到 Microsoft 公司网站查询。本课程仅介绍 JavaScript。 (2)JavaScript 的特点 JavaScript 是一种基于对象(Object-Based)和事件驱动(Event Driven), 由浏览器解释执行的, 具有安全性能的客 户端脚本语言。使用它的目的是与 HTML、Java Applet(Java 小程序)一起实现在一个 Web 页面中链接多个对 象,与 Web 客户交互作用,从而可以开发客户端的应用程序等。它是通过嵌入在 HTML 语言中实现的。它的出 现弥补了 HTML 语言的缺陷,它是 Java 与 HTML 折衷的选择,具有以下几个基本特点: 是一种脚本语言 采用小程序段的方式实现编程,以嵌入的方式,与 HTML 标识结合在一起,方便用户的使用操作。 基于对象的语言。 这里的对象,是指客户机、浏览器、网页文档。也就是说,JavaScript 以类似 C、Java 的语法,以客户机、浏 览器、网页文档、文档内部各种以标记表示的 HTML 元素为对象,以控制这些对象为目标,进而控制整个客户 端的一种客户端脚本编程语言。 简单 首先它是一种基于 Java 基本语句和控制流之上的简单而紧凑的设计, 从而对于学习 Java 是一种非常好的过渡。 其次它的变量类型是采用弱类型,并未使用严格的数据类型。 安全 它不允许访问服务器本地的硬盘,因此不能将数据存入到服务器上;不允许对网络文档进行修改和删除,只能通 过浏览器实现信息浏览或动态交互。从而有效地防止数据的丢失。PHP 讲义 第 20 页 共 90 页 动态 它可以直接对用户的输入做出响应,无须经过 Web 服务程序。它对用户的响应,是采用以事件驱动的方式进行 的。事件(Event)可分为两类,一是用户对浏览器进行的某种操作,比如按下鼠标、移动窗口、选择菜单等,可 以视为用户事件;二是系统事件,如时间的时刻变化等。当事件发生后,会向浏览器发送相应的消息(用户消息 或系统消息) ,根据消息,浏览器可能会做出相应的响应,这种响应称为事件驱动,也叫消息驱动。 跨平台 JavaScript 代码由浏览器解释执行,与操作环境无关,只要能运行浏览器的计算机,并支持 JavaScript 的浏览器 就可正确执行,从而实现了“编写一次,走遍天下”的梦想。 实际上 JavaScript 最杰出之处在于可以用很小的程序做大量的事。无须有高性能的电脑,软件仅需一个字处理 软件及一浏览器,无须 WEB 服务器通道,通过自己的电脑即可完成所有的事情。 JavaScript 和 Java 很类似, 但并不一样。 Java 是一种比 JavaScript 更复杂许多的程序语言, JavaScript 则 而 是相当容易了解的语言。许多 Java 的特性在 Java Script 中并不支持。 (3)JavaScript 的工作原理 1)JavaScript 的工作原理 JavaScript 编程可以完成诸如构造动画,动态菜单等使页面更加生动、活泼的任务(实例见洪恩在线: /pc/homepage/javascript/index1.htm) ,还可以对客户机文件系统、注册表等进行操作, 如对文件夹、文件的建立,复制,删除,修改注册表,锁定注册表,锁定浏览器等等,有许多随着网页打开而运 行的病毒就是含在网页中的 JavaScript 程序在作怪。由此可见,JavaScript 是控制客户机的精灵。 在 B/S 程序中,为了均衡负载,减轻服务器的计算负担,凡是不需要服务器程序做的工作,可尽量交给客户端 程序(如 JavaScript 程序)去做。我们用 HTML 标记构造出用户界面,用户通过界面输入数据,向浏览器请求 数据等操作。在用户输入数据,或者是输入完毕,将数据向服务器提交的时候,对数据的检验等任务完全可交给 JavaScript 程序来完成。本课程主要介绍此类任务的 JavaScript 编程技术。通过 JavaScript 脚本检验 FORM 数据 JavaScript 的工作原理,就是以基于对象和一些面向对象的特征: JavaScript 通过控制客户机上各种对象的方式,控制客户机,对客户机进行操作。 根据用户或系统事件,做出相应的响应。第二节 Web 客户端基本技术1.数据传递 数据传递(1)客户端向服务器传递数据的方法:POST 和 GET 浏览器向服务器进行数据传送,若使用 FORM,常用的传送数据的方法是 GET 和 POST。 ①GET 方法通过 URL 请求来传递用户的输入,形式:URL?var_name1=value1&var_name2=value2,即将表单 内 各 字 段 名 称 与 其 内 容 , 以 成 对 的 字 符 串 连 接 , 置 于 表 单 ACTION 属 性 所 指 的 URL 后 , 如 http://211.64.32.2/login.php?name=abc&password=123,数据都会直接显示在 URL 上,就像用户点击一个链 接一样;POST 方法通过 HTTP POST 机制,将表单内各字段名称与其内容放置在 HTML 表头(header)内一PHP 讲义 第 21 页 共 90 页 起传送给服务器端交由 ACTION 属性能所指的程序处理,该程序会通过标准输入(stdin)方式,将表单的数据读 出并加以处理。 ②通过 GET 方法提交数据,可能会带来安全性的问题。比如一个登陆页面,当通过 GET 方法提交数据时,用 户名和密码将出现在 URL 上。如果登陆页面可以被浏览器缓存或其他人可以访问客户的这台机器。那么,别人 就可以从浏览器的历史记录中,读取到此客户的账号和密码。所以,在某些情况下,GET 方法会带来严重的安 全性问题。 ③GET 方式传输的数据量非常小,一般限制在 2 KB 左右,但是执行效率却比 POST 方法好;而 POST 方式 传递的数据量相对较大,它是等待服务器来读取数据,不过也有字节限制,这是为了避免对服务器用大量数据进 行恶意攻击。使用 PHP,默认的 POST_MAX_SIZE 是 2M(通过配置 php.ini 实现) ,如果你想利用 POST 方式 上传软件,就需要更改这个值了(我设置为 20M 仍然能够正确上传文件) ,但是倘若试图使用 GET 方式,就没 有可能实现这种功能。 建议在 FORM 中,使用 POST 方法。 下列情况表明传递数据使用的是 GET 方法: 在地址栏中进行 GET 请求 在地址栏中使用请求形式:URL?var_name1=value1&var_name2=value2……。 如 http://nc./article/show.php?id=139(其中 URL 为 http://nc./article/show.php) , 作用:向 URL 所指向的程序文件 show.php 传递一个变量,变量名为 id,变量值为 139,该程序将从数据库 中取出有关 id 为 139 的那条新闻的信息,表示成 HTML 代码后返回给请求者的浏览器。在地址栏中进行 GET 请求的情况 单击了一个链接。 【例 2-4】通过链接传递数据的 HTML 标记 2-4.htm 源代码: &A href=&http://nc./article/show.php?id=139& &ASP,PHP,JSP 之比较&/A& 对 FORM 的 METHOD 属性,使用 GET 属性值 (2)小结 从 PHP 的角度看,浏览器向服务器传递数据: 使用表单对象时,$表单对象名=表单变量。 使用 URL?参数名=参数值时,$参数名=查询字符串(querystring)变量。 如【例 2-3】中,用户在文本字段 textfield 中输入的数据,发送到 FORM 的 ACTION 指向的服务器程序 2-3.php 后,2-3.php 将接收到表单变量$textfield 和该变量内的值。 当 在 超 链 接 地 址 或 地 址 栏 采 用 URL?var_name1=value1&var_name2=value2 … … 形 式 时 , var_name1 、PHP 讲义 第 22 页 共 90 页 var_name2 等是查询字符串变量。 另外,一个服务器程序,也称页,对接收到的表单变量或查询字符串变量,都作为页内局部变量处理,本页程序 执行完毕,这些变量统统自动释放,所以不能将这些变量传递到另外一个 PHP 程序中去,即不能跨页传递。就 像接力棒比赛中,不能跨人传棒。 既然默认情况下,不能将 x.php 中的$a 传到 y.php,要想将 x.php 中的局部变量$a 传到程序 y.php,可借助于隐 藏域:在 x.php 中用表单中的隐藏域,临时存储$a 的值,然后提交表单到 y.php,即可实现向 y.php 发送数据的 目的。 具体做法一般是这样: x.php: … &form action=”y.php” method=”post”& &input type=”hidden” name=”a” value=”&? echo $a;?&”& &input type=”submit” value=”提交”& &input type=”reset” value=”重置”& &/form& … 这时,从请求服务的角度来看,x.php 就是客户端程序,y.php 就是服务器程序了。2.JavaScript 嵌入 HTML 的方式与 C 语言非常相似,但去掉了C语言中有关指针等容易产生的错误,并提供了功能强大的类库。对于已经具备 C语言的人来说,学习 JavaScript 脚本语言是一件非常轻松愉快的事。 JavaScript 的脚本包括在 HTML 中,它成为 HTML 文档的一部分。与 HTML 标识相结合,构成了一个功能强大 的 Internet 网上编程语言。 (1)JavaScript 嵌入 HTML 的方法 1)块嵌入:显式的 JavaScript 脚本块嵌入的方法 JavaScript 块: &Script Language =&JavaScript&& JavaScript 语句 1; JavaScript 语句 2; …… &/Script& 说明: 通过脚本语言开始标记&Script&和脚本语言结束标记&/Script&指明 JavaScript 脚本源代码块。 通过属性 Language =&JavaScript&说明标记中是使用的何种语言,这里是 JavaScript 语言, 表示在 JavaScript 中使用的语言。 嵌入的地方: 嵌入&head&…&/Head&中:在主页和其余部分代码之前装载,从而可使代码的功能更强大; 嵌入&Body&…&/Body&中:以实现某些部分动态地创建文档。 下面是将 JavaScript 脚本块加入 Web 文档中的例子: 【例 2-5】将 JavaScript 脚本块加入 Web 文档 2-5.htm 源代码: &HTML& &Head& &Script Language =&JavaScript&& document.write(&hello,world&); //document.close();注释方式同 C 和 PHP 注释方式同 &/Script& &/Head& &/HTML& 在浏览器的窗口中调用 2-5.htm,则显示“hello,world”字串。见图所示。PHP 讲义 第 23 页 共 90 页 用 JavaScript 脚本输出的 hello,world 说明: ①document.write()是文档对象的输出函数,其功能是将括号中的字符或变量值输出到窗口; ②document.close()是将输出关闭。 在实际应用中,常常将自定义的 JavaScript 函数放在&head&…&/Head&中,JavaScript 脚本块形成这个样子: &Script Language =&JavaScript&& function fun1(参数表){ JavaScript 语句集 } function fun2(参数表){ JavaScript 语句集 } …… &/Script& 2)包含文件:为了避免&head&…&/Head&中 JavaScript 脚本块过大导致的网页文档代码过长,还可采取一种形 式类似 C 程序,在头部包含 JavaScript 代码的做法: &HEAD& &script language=”JavaScript” src=”abc/xyz.js”&&/script& &/HEAD& xyz.js 中的内容即具体的 JavaScript 脚本块。 3)隐式的嵌入方式 不进行声明或仅进行简短声明,直接用于事件驱动的处理程序中。 【例 2-6】直接用于事件处理代码中的 JavaScript 脚本 2-6.htm 源代码: &input type=&button& name=&Submit3& value=&单击我& onClick=&javascript:alert('hello,world');&& &!--或: &input type=&button& name=&Submit3& value=&单击我& onClick=&alert('hello,world');&& --&PHP 讲义第 24 页 共 90 页 直接用于事件驱动中的 JavaScript 脚本 显然这种方式对于较短的事件处理 JavaScript 代码很适用,若这种代码较长,应采取块嵌入或包含文件的方法。3.客户机对象技术 客户机对象技术从 JavaScript 的工作原理可以看出, 为了更好地完成控制操作和做出响应动作, JavaScript 编程者必须清楚地了 解常用的客户机对象。 (1)对象的基础知识 1)使用对象的什么:使用对象的属性、事件、方法。在 JavaScript 中,属性,表示对象的性质的值,往往用“对 象名.属性名”的形式引用;事件往往用“on 事件名”来侦测、标识,表示“当……的时候” ;方法是对象发出 的动作,往往用“对象名.方法名()”的形式使用。 2)如何获得(引用)对象:一个对象要真正地被使用,可采用以下几种方式获得该对象: 引用 JavaScript 内部对象 内部对象(常用) 引用浏览器对象 浏览器对象(常用) 浏览器对象 创建新对象 新对象,然后引用之 新对象 即对象使用之前必须存在,要么创建新的对象,要么利用现存的对象。 JavaScript 内部对象:JavaScript built-in Object,即 JavaScript 语言本身的对象,如 eval(字符串)――返回字符 串表达式中的值。 浏览器对象:如窗口 WINDOW,文档 DOCUMENT、表单 FORM 等,它们之间是分层次的树状关系,反映这 种关系的模型,称作文档对象模型(DOM:Document Object Model) 。文档对象模型PHP 讲义 第 25 页 共 90 页 创建新对象: 格式:新对象名=new 已存在对象名(参数表); 如: var now = new Date(); var year = now.getYear(); alert(‘现在是’+now); alert(‘今年是’+year); (2)对象的引用方式 自引用 指对象的自我引用,用关键字 this 代指自己。 【例 2-7】使用 this 关键字进行自引用 2-7.htm 源代码: &CENTER&【例 2-7】this 关键字的使用&/CENTER& 今天要到哪里去逛一逛?&br& &input type=&radio& name=&where& value=&http://211.64.32.2/dsks& onClick=&alert('网址:'+this.value);&&孙寿龙 教学网站&br& &input type=&radio& name=&where& value=&http://www.& onClick=&alert('网址:'+this.value);&&德州学 院&br& &input type=&radio& name=&where& value=&& onClick=&alert('网址:'+this.value);&&网易this 关键字的使用 按层次引用:按文档对象模型层次进行引用 按层次引用引用的基本模式是:父对象.子对象,如: window.alert(window.document.form1.textfield1.value); 其中,当前窗口可不用指明 window 对象,所以上一行代码常常写成这个样子: alert(document.form1.textfield1.value); 按 DOM 层次引用对象的适用条件:应明确知晓父子关系和各自名称。 按下标引用。适用于对象集合的处理,同名对象的集合按该名字命名的数组,通过数组下标的访问引用每个对 象,下标从 0 开始。使用场合:同名单选按钮组、复选框组等,组内各成员的引用。 【例 2-8】以遍历数组的形式引用对象 2-8.htm 源代码: &html& &head& &meta http-equiv=&Content-Type& content=&text/ charset=gb2312&& &title&【例 2-8】以遍历数组的形式引用对象&/title& &script language=&javascript&& function func2_8(){PHP 讲义 第 26 页 共 90 页 var mychoice=&&; for(var i=0;i&document.form1.ah.i++){ if(document.form1.ah[i].checked) mychoice=mychoice+document.form1.ah[i].value+&、&; } alert(&你的选择是:&+mychoice); } &/script& &/head& &body& &form name=&form1& method=&post& action=&&& 爱好:&br& &input type=&checkbox& name=&ah& value=&运动&&运动 &input type=&checkbox& name=&ah& value=&音乐&&音乐 &input type=&checkbox& name=&ah& value=&旅游&&旅游&br& &input type=&button& name=&Submit& value=&看看我选择了什么& onClick=&func2_8();&& &/form& &/body& &/html& 说明:数组元素的个数,即数组的长度,用“数组名.length”引用数组的长度属性值 length 得到。以遍历数组的形式引用对象 按名引用。同类型但不同名的对象集合内各成员,可通过这种方式引用。 【例 2-9】按名引用对象 2-9.htm 源代码: &html& &head& &meta http-equiv=&Content-Type& content=&text/ charset=gb2312&& &title&【例 2-9】按名引用对象&/title& &script language=&javascript&& function func2_9(){ var xm=&&; var nl=&&; var dw=&&; xm=document.form1.elements[&xm&]. nl=document.form1.elements[&nl&].PHP 讲义 第 27 页 共 90 页 dw=document.form1.elements[&dw&]. alert(&你填写的是:\n\n 姓名:&+xm+&\n 年龄:&+nl+&\n 单位:&+dw); } &/script& &/head& &body& &form name=&form1& method=&post& action=&&& 姓名:&input type=&text& name=&xm&&&br& 年龄:&input type=&text& name=&nl&&&br& 单位:&input type=&text& name=&dw&&&br& &input type=&button& name=&Submit& value=&看看我填写了什么& onClick=&func2_9();&& &/form& &/body& &/html&按名引用对象 类似地,也可通过 document. Forms[]数组来引用在同一个页面上多个表单中的某个表单,例如, 将第一个表单中名为 textfield1 的文本框赋值 123: document.forms[0].textfield1.value=123; (2)事件及事件处理 ①基本概念 通常鼠标或热键的动作我们称之为事件(Event) ,而由鼠标或热键引发的一连串程序的动作,称之为事件驱动 (Event Driver) 。驱动,在这里就是引发,触发的意思。这些动作,就是对事件进行处理的程序或函数,我们称 之为事件处理程序(Event Handler) 。其基本格式与函数全部一样,可以将前面所介绍的所有函数作为事件处理 程序。格式如下: Function 事件处理名(参数表){ 事件处理语句集; } 可以使用自己编写的函数作为事件处理程序, 也可以使用 JavaScript 中内部的函数, 还可以直接使用 JavaScript 的代码等,如例 2-6。 ②主要事件 onClick――单击PHP 讲义 第 28 页 共 90 页 当用户单击鼠标按钮时,产生 onClick 事件,同时 onClick 指定的事件处理程序将被调用执行。在很多对象中产 生: button(按钮对象) :包括 reset button(重置型按钮) submit button(提交型按钮) radio (单选按钮或无线按钮) checkbox(复选框或检查框) 超链接 …… 使用方法大同小异,参考【例 2-6】即可。 onChange――数据被更改 下列情况将触发相关对象的 onChange 事件: text 元素输入的字符值改变时 texturea 元素输入的字符值改变时 select 元素选项改变后 【例 2-10】onChange 事件的处理 2-10.htm 源代码: &html& &head& &meta http-equiv=&Content-Type& content=&text/ charset=gb2312&& &title&【例 2-10】onChange 事件的处理&/title& &script language=&javascript&& function func2_10(textname,textvalue){ alert(&文本框&+textname+&的值被改成了&+textvalue) } &/script& &/head& &body& 修改这些文本框中的值,看看会发生什么事情:&br& &input name=&textfield1& type=&text& onChange=&func2_10(this.name,this.value);&&&br& &input name=&textfield2& type=&text& onChange=&func2_10(this.name,this.value);&& &/body& &/html&onChange 事件PHP 讲义 第 29 页 共 90 页 更多事件的详细介绍,请参考相关资料,在此不再赘述。 (3)常用 JavaScript 内置对象的使用 按数据类型可分为:字符串(string)对象、算术函数(math)对象、日期(Date)对象 按使用时是否需要创建实例可分为:静态对象和动态对象。 静态对象:在引用其属性或方法时不需要为它创建实例,如 string(字符串) ; 动态对象:在引用其属性或方法时必须为它创建一个实例,如 Date(日期) 。 基本使用格式:对象名.属性名 对象名.方法名() 1)串对象 ①属性。只有一个属性,即 length。它表明了字符串中的字符个数,包括所有符号。例: ②方法。共有 19 个,主要用于串在 Web 页面中的显示、字体大小、字体颜色、字符的搜索以及字符的大小写 转换等。 其中,常用方法如下: 显示的控制方法 (a)fontsize(size)字体大小:作用同 HTML 字体标签。 语法:fontsize(size) 其中,1≤size≤7 (b)bold()粗体字 (c)Italics()斜体字 字体颜色;fontcolor(color) 大小写转换 toLowerCase()小写转换,toUpperCase()大写转换。 取指定位置的字符:charAt(index), ,0≤index≤串.长度-1。 定位字符首次出现位置:indexOf(character,fromIndex) 从指定 formIndtx 位置开始,在串中搜索 character 首出现的位置,0≤formIndex≤串.长度-1。 定位字符末次出现位置:lastIndexOf(character,fromIndex) 从指定 formIndtx 位置开始,在串中搜索 character 末次出现的位置,0≤formIndex≤串.长度-1。 取子串:substring(start,end) 取下标为[start,end)的子串。 若 start&end,返回下标为[start,end)的子串; 若 start=end,返回空串; 若 start&end,返回下标为[start,end)的子串 上标:sup(),作用同 HTML 上标标签 下标:sub(),作用同 HTML 下标标签 【例 2-11】JavaScript 串对象的使用 2-11.htm 源代码: &html& &head& &meta http-equiv=&Content-Type& content=&text/ charset=gb2312&& &title&【例 2-11】JavaScript 串对象的使用&/title& &/head& &script language=&javascript&& document.write(&&center&【例 2-11】JavaScript 串对象的使用&/center&&); document.write(&&br&&); sa=&hello&; sb=&world&; document.write(&串 sa:&+sa); document.write(&&br&&);PHP 讲义 第 30 页 共 90 页 document.write(&串 sb:&+sb); document.write(&&br&&); document.write(&sa 的长度:&+sa.length); document.write(&&br&&); document.write(&sa 设成 7 号字体:&+sa.fontsize(7)); document.write(&&br&&); document.write(&sa 变红色:&+sa.fontcolor(&red&)); document.write(&&br&&); document.write(&sa 变大写:&+sa.toUpperCase()); document.write(&&br&&); document.write(&sa 中首次出现字母 l 的下标位置=&+ sa.indexOf(&l&,0)); document.write(&&br&&); document.write(&sa 中末次出现字母 l 的下标位置=&+ sa.lastIndexOf(&l&,0)); document.write(&&br&&); document.write(&sa.substring(0,2)=&+ sa.substring(0,2)); document.write(&&br&&); document.write(&sa.substring(2,0)=&+ sa.substring(2,0)); document.write(&&br&&); document.write(&sa.substring(2,2)=&+ sa.substring(2,2)); document.write(&&br&&); document.write(&sa.charAt(2)=&+ sa.charAt(2)); document.write(&&br&&); document.write(&sb 输出为上标:&+sb.sup()); document.write(&&br&&); document.write(&sb 输出为 sa 的上标:&+sa+sb.sup()); document.write(&&br&&); document.close(); &/script& &body& &/body& &/html&PHP 讲义第 31 页 共 90 页 2)系统函数 JavaScript 中的系统函数又称内部方法。 它提供了与任何对象无关的系统函数, 使用这些函数不需创建任何实例, 可直接用。 方法名:eval(字串表达式) 作用:返回字符串表达式中的值 例: test=eval(&8+9+5/2&);//test=19.5 (4)窗口对象的使用 有关输入可通过窗口(Window)对象来完成,而输出可通过文档(document)对象的方法来实现。 【例 2-14】窗口的简单例子 2-14.htm 源代码: &html& &head& &meta http-equiv=&Content-Type& content=&text/ charset=gb2312&& &title&【例 2-14】窗口的简单例子&/title& &/head& &body& &script languaga=&JavaScript&& var yourinput=window.prompt(&请输入数据:&,&这里是默认数据&); document.clear(); document.write(&你刚才输入的是:&+yourinput);//输出流 document.close();//关闭输出流 &/script& &/body& &/html&PHP 讲义第 32 页 共 90 页 窗口的简单例子 其中 window.prompt()是窗口对象的一个方法,作用是,当装入 Web 页面时,在屏幕上显示一个具有“确定”和 “取消”的对话框,让你输入数据。document.write 是文档对象的一个方法,作用是实现 Web 页面的输出显示。 窗口对象在 DOM 中的层次:顶层 1)属性:主要用来对浏览器中存在的各种窗口和框架的引用 parent:指明当前窗口或框架的父窗口。 defaultStatus:窗口的状态栏的默认显示值。 status:窗口状态栏信息。 top:引用顶层窗口。 window:指的是当前窗口 self:当前窗口自引用。 frames 框架集合 location 窗口中文档地址 框架,窗口的窗口,可以理解为子窗口,实现一个窗口的分隔,注意以下几点: ①frames 中各 frame 是通过 HTML 标识&frame&的顺序来引用的,它包含了一个窗口中的全部帧数。 ②框架本身是窗口的子窗口,继承了窗口对象所有的全部属性和方法。 2)方法:主要用来提供信息或输入数据以及创建一个新的窗口。 open():将文档输出到一个新窗口中去。 语法格式:window.open(新窗口的文档来源,新窗口名称,新窗口特征参数); 可以创建一个新的窗口。其中参数表提供有窗口的主要特性和文档及窗口的命名。 表 新窗口特征参数 新窗口特征参数名 toolbar location directions status menubar scrollbar revisable width height 设定值 yes/no yes/no yes/no yes/no yes/no yes/no yes/no 像素值 像素值 含 义 窗口中是否含有标准工具栏 窗口中是否含有地址栏 窗口中是否含有文件夹按钮 窗口中是否含有状态栏 窗口中是否含有菜单栏 窗口中是否含有滚动条 能否调整窗口 确定窗口的宽度 确定窗口的说明:yes/no 也可以换成 1/0;参数之间用逗号分隔。 例如:window.open(“abc/xyz.htm”,xyz,”toolbar=no,status=no,resizable=no”);以 xyz 为窗口名称,在其中输出文档 abc/xyz.htm,窗口 xyz 不带有工具栏、状态栏,不允许调整大小,其他特征采用浏览器对窗口的默认设定值。 alert():输出一个具有“确定”按钮的消息框,用来向用户显示消息,一旦按“确定”钮后,方可继续执行其 他脚本程序,因此也可作为调试程序的手段。 语法格式:window.alert(消息);PHP 讲义 第 33 页 共 90 页 常常采用简化格式:alert(消息); confirm():输出一个具有“确定”和“取消”按钮的 确认框,获取用户确认信息。 语法格式:firm(消息); prompt():输出一个允许用户输入信息的输入框。 语法格式:window.prompt( “提示信息” ,默认值) close():关闭当前窗口 语法格式:window.close(); 3)事件 窗口对象对应于 HTML 文档中的&body&和&frame&两种标识; onload 事件:装入 Web 文档 onunload 事件:卸载 Web 文档 如下代码标识的文档,当打开时和关闭时,都有相应的消息显示。 &html& &head& &meta http-equiv=&Content-Type& content=&text/ charset=gb2312&& &title&&/title& &/head& &body onload=&alert('欢迎光临!');& onunload=&alert('欢迎再来!');&& &/body& &/html& (5)文档(document)对象 属性: bgColor 网页背景颜色 fgColor 网页前景颜色,即网页中文字的颜色 forms 网页中表单的集合 lastModified 网页最后修改日期 linkColor 网页中超链接文字颜色 links 网页中超链接的集合 location 网页文档地址 title 网页文档的标题,即&title&&/title&中的内容 方法: clear () 清空文档内容 write(字符串) 输出字符串 writeln(字符串) 输出字符串,然后换行 事件: onload 事件:装入 Web 文档 onunload 事件:卸载 Web 文档第三节 实验二 Web 客户端技术实验目的:掌握基本的 Web 客户端技术 实验要求:掌握基本 HTML 设计和 JavaScript 编程技术 实验环境: 实验室已经安装好如下实验环境 操作系统:Windows98PHP 讲义 第 34 页 共 90 页 Web 服务器:Apache 1.3.14 安装路径:c:\Apache 默认发布文档路径:c:\Apache\htdocs PHP:PHP 4.0.4 安装路径:c:\php 脚本编辑器:Macromedia Dreamweaver MX 中文版、记事本或 UltraEdit10 简体中文版 注意: 注意:使用以上脚本编辑器,若要保存为.php 文件,必须在保存时指明扩展名为.php 尤其是记事本,必须在保存时,单击“保存类型”下拉框,选择“所有文件(*.*)”类型,然后指定文件扩展名是.php, 单击“保存”按钮后,保存的文件才能保证是.php 文件。常见错误是直接保存,导致保存的文件其实是文本文件, 如 abc.php.txt 等以.txt 为扩展名的文本文件。 实验内容: 本章实例程序(代码可从教学网站下载)【例 2-1】~【例 2-14】 : 实验方法: (1)编写程序:录入或下载本章实例程序或附加试验程序,保存到发布文档目录 (2)阅读程序:结合讲义等资料,阅读理解这些程序,也可根据自己需要修改这些程序 (3)观摩效果:在浏览器中通过 HTTP 协议方式请求这些程序文件(而不是在我的电脑或资源管理器中打开) 做法:http://localhost/要访问的文件,回车PHP 讲义第 35 页 共 90 页 第三章 PHP 语法本章主要介绍 PHP 基本语法,为进一步控制客户端表示,和操纵数据库做准备。第一节 基本语法1.最简单的 PHP 程序 最简单的【例 3-1】最简单的 PHP 程序(3-1.php)例 3-1 源程序 该例作用是 PHP 向 Apache 送出一个字符串常量,内容是 hello,world,再由 Apache 将其送到给向客户端的浏 览器,由浏览器来解释执行。浏览器接收到的内容如图所示,可通过浏览器的查看菜单单击源文件来看到。例 3-1 浏览器收到的代码 由于 hello,world 不是 HTML 或 JavaScript 等浏览器能解释的客户端代码,所以它只能被浏览器原样输出到浏览 器窗口中。在浏览器窗口中看到的最终结果如图所示。例 3-1 浏览器执行结果PHP 讲义第 36 页 共 90 页 2.剖析最简单的 PHP 程序 剖析最简单的例 3-1 源程序 3-1.php 中: (1)PHP 语言标记符:&?是 PHP 语言开始标记符,?&是结束标记符,二者之间的部分是 PHP 代码。 注意: ①PHP 语言标记符有多种,&? … ?&是最为精简的一种,为简便起见,本课程采用这种标记符。 ②&? … ?&中的 PHP 代码与&? 以及 ?&至少应有一个空格或回车,以便 PHP 语言解释器能正确区分它们。 (2)变量:$a 是 PHP 变量。变量名区分大小写。 变量的表示:一个美元符号跟一个变量名称。 有效的变量名由字母或者下划线开头,后面跟上任意数量的字母,数字,或者下划线。 例如,$a 是一个变量,$A 是不同于$a 的另一个变量。$a、$_a、$_a123_123_a 是合法变量,$123a 不合 法。 变量的声明:使用前不需要声明数据类型,其类型由所存储的数据决定,即所用即所声明。 PHP 在变量定义中不需要明示的类型定义;变量类型是根据使用该变量的上下文所决定的。也就是说,如 果你把一个字符串值赋给变量 var,var 就成了一个字符串。如果你又把一个整型值赋给 var,那它就成了 一个整数。 (3)字符串常量:&hello,world&是 PHP 字符串常量。 (4)赋值运算:一个等号“=”表示赋值运算。 (5)语句结束符:分号“; ”是语句结束符,这一点也同 C 语言。 (6)关键字:echo 是 PHP 关键字,是 PHP 的内置函数名,可换成 print。许多 PHP 编程者常使用只有 4 个字 母的 echo。 注意: ①关键字 echo 等不区分大小写; ②同 C 语言,PHP 是函数化语言,echo 关键字就是 echo()函数的函数名,echo $a 也可写为 echo($a)或 print($a)。 (7)注释:本例采用的是 C/C++语言形式的注释方法,常用于简短的行注释。行注释也可采用 Unix Shell 语言 的注释方法,即把“//”换成“#”即可。多行注释的方法与 C 语言同。 总结:例 3-1 的程序,虽然简单,但基本浓缩了 PHP 的语法要素,其形式与 C 语言类似甚至更简单。3.常用变量处理函数 常用变量处理函数(1)gettype――获取变量类型 语法格式:string gettype ( mixed var ) 返回 PHP 变量 var 的类型。 常见的返回的字符串的可能值为: “boolean” “integer” “double” “string” “array” “object” “resource” “NULL” (2)判断变量是否为某种类型 is_int -- 检测变量是否是整数 语法格式: bool is_int ( mixed var )PHP 讲义 第 37 页 共 90 页 描述: 如果 var 是 integer 则返回 TRUE,否则返回 FALSE。 注: 若想测试一个变量是否是数字或数字字符串(如表单输入,它们通常为字符串) ,必须使用 is_numeric()。 其他常用的,判断变量是否为某种类型的函数: is_bool() is_float() is_integer() is_numeric() is_string() is_array() (3)unset -- 释放给定的变量 语法格式: void unset ( mixed var [, mixed var [, ...]] ) 描述: unset() 销毁指定的变量。 &? // 销毁单个变量 unset ($foo); // 销毁单个数组元素 unset ($bar['quux']); // 销毁一个以上的变量 unset ($foo1, $foo2, $foo3); ?& unset():删除数组或数组元素 注: unset() 函数允许取消一个数组中的键名。要注意数组将不会重建索引。 &? $a = array( 1 =& 'one', 2 =& 'two', 3}

我要回帖

更多关于 手机表单页面设计 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信