PHP和MySQLWeb应用开发(txt+pdf+epub+mobi电子书下载)


发布时间:2020-08-27 07:02:55

点击下载

作者:刘乃琦 李忠

出版社:人民邮电出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

PHP和MySQLWeb应用开发

PHP和MySQLWeb应用开发试读:

前言

互联网技术的不断发展和普及已经改变了人们的工作和生活习惯,很多人希望能够通过互联网足不出户地满足自己的需求,电子商务已经成为许多企事业单位的业务发展方向。因此,如何构建互连网站、开发Web应用程序已经成为当前的热门技术之一。高校的许多专业都开设了相关的课程。

开发Web应用程序必须了解两部分内容,即前台的开发工具和后台的数据库,本书选择了这一领域中的经典组合PHP+MySQL,使读者能够掌握最实用的开发技术。PHP和MySQL具有开放源代码、可以免费下载使用和支持多种操作系统平台等特点,是开发Web应用程序的最佳选择之一。

编者在多年开发Web应用程序和研究相关课程教学的基础上编写了本书。全书内容分为3个部分。第1部分介绍PHP程序设计基础,由第1章~第8章组成,全面地讲解了开发Web应用程序的基本流程、配置PHP服务器环境、PHP语言基础、数组、接收用户的数据、自定义函数、面向对象程序设计和会话处理;第2部分介绍MySQL数据库的管理和开发接口,由第9章~第11 章组成,比较详尽地讲解了 Web 应用程序所必备的后台数据库管理及开发技术,读者无须再查阅其他数据库管理的参考资料,即可开发PHP+MySQL。第2部分还介绍几个非常实用的案例,包括网络留言板实例、网络投票系统、网站流量统计系统和二手交易市场系统。这些案例具有很强的实用性,读者可以通过这些案例系统学习开发Web应用程序的过程和技术,也可以在实例的基础上稍加修改,独立使用。第3部分是附录,包括为了便于老师教学和学生实践设计的实验和1个综合性的大作业,以及HTML语言的介绍。另外,本书每章都配有相应的习题,帮助读者理解所学习的内容,使读者加深印象、学以致用。

本书提供教学PPT课件、源程序文件等,需要者可以登录人民邮电出版社教学服务与资源网(http://www.ptpedu.com.cn)免费下载。

本书在内容的选择、深度的把握上充分考虑初学者的特点,内容安排上力求做到循序渐进,不仅适合教学,也适合开发Web应用程序的各类人员自学使用。

本书由刘乃琦、李忠任主编,李雯、宋燕红、汪文彬、陈亮亮任副主编。其中,刘乃琦、李忠策划并对全书进行统稿,李雯编写了本书的第1章~第3章,宋燕红编写了本书的第4章~第8章,汪文彬编写了本书的第9章~第10章,陈亮亮编写了本书的第11章和附录A。此外,李晓黎编写了本书的附录B和附录C。

由于编者水平有限,书中难免存在不足之处,敬请广大读者批评指正。编者2012年11月第1章Web应用程序设计与开发概述

随着互联网技术的应用和普及,人类社会已经进入了信息化的网络时代,开发Web应用程序已经成为程序员的必备技能。开发Web应用程序必须了解两部分内容,即用于编写应用程序的开发语言和用于存储数据的数据库,本书选择了这一领域中的经典组合 PHP 和 MySQL。PHP 和MySQL具有开放源代码、可以免费下载使用和支持多种操作系统平台等特点,是开发Web应用程序的最佳选择之一。

为了使读者更好地理解Web应用程序的开发过程,本章介绍Web应用程序的演变、发展和工作原理,使读者从宏观上了解开发Web应用程序需要掌握哪些技术,为学习本书后面的内容奠定基础。1.1 应用网络模型的演变

早期的计算机只是独立的主机,用于完成一系列单独的任务,比如数学计算,主机之间并无连接。随着计算机技术的应用和推广,使用计算机的用户越来越多。出于共享资源、相互通信等需求,人们开始研发不同的网络模型,从实验室里的小型局域网,发展到今天的无处不在、无所不能的互联网,期间主要经历了主机/终端、客户机/服务器(C/S)、浏览器/服务器(B/S)等应用网络模型的演变。1.1.1 主机/终端网络模型

主机/终端(mainframe /terminal)网络模型是个人计算机没产生之前比较流行的网络模型,其工作原理如图1-1所示。

1.主机(mainframe)

主机(mainframe),也称作大型主机或大型机,是19世纪60年代发展起来的计算机系统,具有一流的处理能力、稳定性和安全性。在主机/终端网络模型中,终端通过分时系统轮流分配使用主机的处理器和内存,因此主机的硬件配置通常很高。早期的主机甚至体积都很大,如 1954年推出的IBM 704大型机,如图1-2所示。因为成本很高,通常只有政府、金融系统、科学计算等行业使用大型机系统。

在主机/终端(mainframe /terminal)网络模型中,主机并不一定使用大型机,也可以使用服务器,甚至普通 PC。比较常见的主机/终端网络模型的应用就是一些超市的收银系统,其主机显然不可能使用昂贵的大型机。图1-1 主机/终端网络模型的工作原理图1-2 IBM 704大型机

2.终端(terminal)

终端指端点用户与主机进行通信的设备,不具有存储和计算能力。传统的终端由键盘和显示器组成,如图1-3所示。图1-3 传统的终端

终端通过介质与主机连接。离开主机,终端几乎做不了任何事。用户通过键盘在终端上输入命令,终端通过介质将命令传送到主机,主机执行命令后将结果传送回终端,并显示在显示器的屏幕上(通常只支持字符模式)。终端上没有操作系统,因此不能安装任何应用软件,它所做的任何事情都是主机指示的。

主机/终端网络模型在个人计算机出现之前曾广泛应用。20世纪80年代直至90年代初,国内实验室的机房基本都采用主机/终端网络模型。

随着个人计算机的推广,现在已经很少有人使用终端了。但还有一些银行和超市使用主机/终端网络模型。1.1.2 客户机/服务器(C/S)网络模型

随着个人计算机逐渐取代终端,从主机/终端网络模型也衍生出了客户机/服务器(C/S)网络模型,其工作原理如图1-4所示。图1-4 客户机/服务器网络模型

因为个人计算机有独立的处理能力,所以客户机/服务器网络模型对服务器的要求并不是很高,不需要使用大型机,在一般的应用中只需要使用PC服务器即可。

客户机/服务器网络模型的特点是客户机通过发送一条消息或一个操作来启动与服务器之间的交互,而服务器通过返回消息进行响应。

典型的客户机/服务器网络模型就是支持多用户的数据库管理系统,比如本书介绍的 MySQL数据库。

客户机/服务器结构把整个任务划分为客户机上的任务和服务器上的任务。下面以数据库管理系统为例进行说明。

客户机必须安装操作系统和必要的客户端应用软件,客户机上的任务主要如下。

• 建立和断开与服务器的连接。

• 提交数据访问请求。

• 等待服务通告,接收请求结果或错误。

• 处理数据库访问结果或错误,包括重发请求和终止请求。

• 提供应用程序的友好用户界面。

• 数据输入/输出及验证。

同样,服务器也必须安装操作系统和必要的服务器端应用软件,服务器上的任务主要如下。

• 为多用户管理一个独立的数据库。

• 管理和处理接收到的数据访问请求,包括管理请求队列、管理缓存、响应服务、管理结果、通知服务完成等。

• 管理用户账号、控制数据库访问权限和其他安全性。

• 维护数据库,包括数据库备份、恢复等。

• 保证数据库数据的完整或为客户提供完整性控制手段。1.1.3 浏览器/服务器(B/S)网络模型

在C/S网络模型中,客户端和服务器都需要安装相应的应用程序,而且不同的应用程序需要安装不同的客户端程序,系统部署的工作量很大。

随着互联网的应用和推广,浏览器/服务器(B/S)网络模型诞生了,其工作原理如图1-5所示。图1-5 浏览器/服务器(B/S)网络模型

B/S结构的应用程序只需要部署在Web服务器上即可,应用程序可以是HTML(HTM)文件或 ASP、PHP 等脚本文件。用户只需要安装 Web 浏览器就可以浏览所有网站的内容,这无疑比C/S结构应用程序要方便得多。

Web浏览器的主要功能如下。

• 由用户向指定的Web服务器(网站)申请服务。申请服务时需要指定Web服务器的域名或IP地址以及要浏览的HTML(HTM)文件或ASP、PHP等脚本文件。如果使用ASP作为开发语言,则Web服务器只能使用Windows;如果使用PHP作为开发语言,则Web服务器可以选择使用Windows或UNIX、Linux等多种平台。可见,PHP具有更大的灵活性。而且UNIX平台下的软件多为开放源代码的免费软件,包括MySQL数据库,因此选择PHP开发Web应用程序的实施成本更低。

• 从Web服务器下载申请的HTML(HTM)文件。

• 解析并显示HTML(HTM)文件,用户可以通过Web浏览器申请指定的Web服务器

• Web浏览器和Web服务器使用HTTP协议进行通信。

Web服务器通常需要有固定的IP地址和永久域名,其主要功能如下。

• 存放Web应用程序。

• 接收用户申请的服务。如果用户申请浏览ASP、PHP 等脚本文件,则Web 服务器会对脚本进行解析,生成对应的临时 HTML(HTM)文件。PHP 是服务器端的脚本语言。它可以嵌入HTML语言,因此在使用PHP编写Web应用程序时,可以先使用Dreamweaver设计网页界面,然后使用在网页中添加PHP程序,这对于程序设计人员是很方便的。

• 如果脚本中需要访问数据库,则将SQL语句传送到数据库服务器,并接收查询结果。

• 将HTML(HTM)文件传送到Web浏览器。1.2 Web应用程序的工作原理

在1.1.3中已经介绍了B/S网络模型的工作原理。基于B/S网络模型的应用程序被称为Web应用程序。本节将介绍Web应用程序的发展历史、组成和工作原理。1.2.1 Web应用程序的发展历史和工作原理

本节概要地介绍Web应用程序产生和发展过程中一些主要技术的推出和应用情况,读者可以从技术的演变过程中进一步理解Web应用程序的工作原理。

1.Web应用程序产生之前

在Web应用程序出现之前,“客户机/服务器”(C/S)是应用程序的主流架构。C/S应用程序通过客户端程序它为用户提供管理和操作界面,而数据通常保存在服务器端。在部署C/S架构的应用程序时,需要为每个用户安装客户端程序,升级应用程序时也同样需要升级客户端程序。这无疑增加了维护成本。

2.Web应用程序的产生

1990年,欧洲原子物理研究所的英国科学家TimBerners-Lee(见图1-6)发明了WWW(World Wide Web)。通过Web,用户可以在一个网页里比较直观地表示出互联网上的资源。因此,TimBerners-Lee被称为互联网之父。图1-6 互联网之父TimBerners-Lee

采用B/S网络模型开发的应用程序被称为Web应用程序, Web应用程序使用Web文档(网页)来表现用户界面,而Web文档都遵循标准HTML格式(包括2000年推出的XHTML标准格式)。因为所有Web文档都遵循标准化的格式,所以在客户端可以使用不同类型的Web浏览器查看网页内容。只要用户选择安装一种Web浏览器,就可以查看所有Web文档,从而解决了为不同应用程序安装不同客户端程序的问题。

Web应用程序只部署在服务器端。用户在客户端使用浏览器浏览服务器上的页面,客户端与服务器之间使用超文本传送协议(HTTP)进行通信。早期的Web服务器只能简单地响应浏览器发送过来的HTTP请求,并将存储在服务器上的HTML文件返回给浏览器。客户端只接收到经过服务器端处理的静态网页。

3.从静态页面到动态页面

这里所说的静态页面和动态页面并不是指页面的内容是静止的还是动态的视频或画面。静态页面指页面的内容在设计时就固定在页面的编码中,而动态页面则可以从数据库或文件中动态读取数据,并显示在页面中。以网上商场系统为例,如果使用静态页面浏览商品的信息,则只能在设计时为每个商品设计一个页面,新增商品,就需要新增对应的页面;如果使用动态页面浏览商品的信息,则可以使用一个页面显示所有商品的信息,页面中的程序根据商品编号从数据库中读取商品,然后显示在页面中。

Web应用程序产生之初,Web页面都是静态的,用户可以通过单击超链接等方式与服务器进行交互,访问不同的网页。

最早能够动态生成 HTML 页面的技术是 CGI(Common Gateway Interface)。1993 年,NCSA (National Center for Supercomputing Applications)提出了CGI 1.0的标准草案;1995年,NCSA开始制订CGI 1.1标准;1997年,CGI 1.2也被纳入了议事日程。CGI技术允许服务端的应用程序根据客户端的请求,动态生成HTML页面,这样客户端就可以和服务端实现动态信息交换了。早期的CGI程序大多是编译后的可执行程序,其编程语言可以是 C、C++、Pascal 等任何通用的程序设计语言,也可以是 Perl、Python等脚本语言。

1994年,Rasmus Lerdorf(见图1-7)发明了专门用于Web服务端编程的PHP(Personal Home Page)工具语言。与以往的CGI程序不同,PHP语言将HTML代码和PHP指令结合成为完整的服务端动态页面,程序员可以用一种更加简便、快捷的方式实现动态Web功能。这也正是本书要介绍的主要内容。图1-7 Rasmus Lerdorf发明了PHP语言

1995年,Netscape公司推出了一种在客户端运行的脚本语言——JavaScript。使用JavaScript语言可以在客户端的用户界面上添加一些动态的元素,如弹出一个对话框。

1996年,Macromedia公司推出了Flash,一种矢量动画播放器。它可以作为插件添加到浏览器中,从而在网页中显示动画。

同样在1996 年,Microsoft 公司推出了ASP 1.0。这是Microsoft公司推出的第1 个服务器端脚本语言,使用ASP可以生成动态的、交互式的网页。从Windows NT 4.0开始,所有的Windows服务器产品都提供IIS(Internet Information Services)组件,它可以提供对ASP语言的支持。在ASP中,可以使用VBScript和JavaScript等脚本语言开发服务器端Web应用程序。

1997—1998年,Servlet技术和JSP技术相继问世,这两者的组合(还可以加上JavaBean技术)让Java开发者同时拥有了类似CGI程序的集中处理功能和类似PHP的HTML嵌入功能。此外,Java的运行时编译技术也大大提高了Servlet和JSP的执行效率。

2002年,Microsoft公司正式发布.NET Framework和Visual Studio .NET开发环境。它引入了ASP.NET这样一种全新的Web开发技术。ASP.NET可以使用VB.NET、C#等编译型语言,支持Web Form、.NET Server Control、ADO.NET等高级特性。

在互联网的发展历史中,还出现了很多实用的技术,由于本书篇幅和侧重点等原因,这里就不做展开了,点到为止,仅供读者参考。1.2.2 Web应用程序的组成及各部分的主要功能

Web应用程序通常由HTML文件、脚本文件和一些资源文件组成。

• HTML文件可以提供静态的网页内容,这也是早期最常用的网页文件。

• 脚本文件可以提供动态网页。ASP 的脚本文件扩展名为.asp,PHP 的脚本文件扩展名为.php,JSP的脚本文件扩展名为.jsp。

• 资源文件可以是图片文件、多媒体文件、配置文件等。

要运行Web应用程序,还需要考虑Web服务器、客户端浏览器、HTTP通信协议等因素。

1.Web服务器

运行Web应用程序需要一个载体,即Web服务器。一个Web服务器可以放置多个Web应用程序,也可以把Web服务器称为Web站点。

通常服务器有两层含义,一方面它代表计算机硬件设备,用来安装操作系统和其他应用软件;另一方面它又代表安装在硬件服务器上的相关软件。Web服务器上需要安装Web服务器应用程序,用来响应用户通过浏览器提交的请求。如果用户请求执行的是PHP脚本,则Web服务器应用程序将解析并执行PHP脚本,最后将结果转换成HTML格式,并返回到客户端,显示在浏览器中。

2.Web浏览器

Web浏览器是用于显示HTML文件的应用程序,它可以从WWW接收、解析和显示信息资源(可以是网页或图像等)。信息资源可以使用统一资源定位符(URL)标识,

Web浏览器只能解析和显示HTML文件,而无法直接处理脚本文件。这就是为什么可以使用Web浏览器查看本地的HTML文件,而脚本文件则只有被放置在Web服务器上才能被正常浏览。

3.HTTP通信协议

HTTP(Hypertext Transfer Protocol,超文本传输协议)是Web浏览器和Web服务器之间交流的语言。Web浏览器向服务器发送HTTP请求消息,服务器返回相应消息,其中包含请求的完整状态信息,并在消息体中包含请求的内容。1.2.3 网页的分类与布局

网页是Web应用程序的重要组成部分,本小节介绍网页的分类与布局,为设计Web应用程序奠定基础。

1.网页的分类

按照编制网页所使用的语言和技术,可以将网页分为静态网页和动态网页。静态网页由HTML语言编制,扩展名为htm或html,多使用Dreamweaver等网页设计工具设计。动态网页指使用PHP、ASP等脚本编写,扩展名为.asp或.php等的网页。一个网站中通常既有静态网页,也有动态网页。

按照网页的用途,还可以将网页分为商业型、门户型、搜索引擎、论坛、博客、在线游戏等类型。

2.网页的布局

设计网页时,首先要根据网页的用途和内容设计网页的布局。常用的网页布局包括如下几种。(1)国字型

国字型网页也称为同字型网页,即网页的布局类似国字,最上面是网站的标题或横幅广告,下面的内容被分为左中右3列。中间是网页的内容,左右一般是一些栏目、广告或新闻的链接,最下面是网站的基本信息、联系方式、版权声明等。一些大型门户网站的首页多采用此种布局,如新浪首页就属于国字形网页,如图1-8所示。(2)拐角型

拐角型网页与国字型网页很相似,最上面是网站的标题或横幅广告,下面的左侧是一个窄条的链接,中间和右侧是网页的内容,最下面是网站的基本信息、联系方式、版权声明等。有一些公司的网站首页采用此种布局,图1-9所示为拐角型网页的例子。(3)标题正文型

这是一种简单的网页布局,即上面是标题或广告等,下面是正文。一般采用此种类型的网页显示新闻或文章。图1-8 国字形的新浪首页图1-9 拐角型网页(4)框架型

即使用框架将页面分成上下或左右两部分的网页类型,这种结构比较清晰。图1-10所示为框架型网页的例子。左侧的框架中显示产品分类,右侧的框架中是产品展示。(5)封面型

封面型多用于一些公司或商务活动的首页,采用精美的图片或动画加上一些简单的链接。图1-11所示为封面型网页的例子。图1-10 框架型网页图1-11 封面型网页(6)Flash型

与封面型网页类似,Flash型网页也多用于一些公司或商务活动的首页,采用精美的Flash加上一些简单的链接。Flash的功能十分强大,视觉效果明显优于图片。图1-12所示为Flash型网页的例子。图1-12 Flash型网页1.3 Web应用程序的基本开发流程

在完成需求分析和总体设计的情况下,开发Web应用程序的基本流程如图1-13所示。图1-13 开发Web应用程序的基本流程1.3.1 准备Web服务器

运行Web应用程序需要一个载体,即Web服务器。一个Web服务器可以放置多个Web应用程序,也可以把Web服务器称为Web站点。

通常服务器有两层含义:一方面它代表计算机硬件设备,用来安装操作系统和其他应用软件;另一方面它又代表安装在硬件服务器上的相关软件。

要配置Web应用程序,首先需要准备一台硬件服务器,如果没有特殊需要,选择普通的PC服务器即可。PC服务器的组件与普通计算机相似,主要包括主板、CPU、内存、硬盘、显卡等。只是 PC 服务器比普通计算机拥有更高的性能和更好的稳定性。在开发和测试阶段,或者比较小的网络环境下,也可以使用普通计算机作为Web服务器。1.3.2 安装操作系统

操作系统是控制其他程序运行、管理系统资源并为用户提供操作界面的系统软件的集合。准备硬件Web服务器后,需要安装适当的操作系统。本书选择的PHP、Apache等软件都是支持跨平台的开源项目,既可以工作于Windows平台下(如果需要配置Web服务器的工作机,则建议安装Windows Server操作系统,如Windows Server 2000、Windows Server 2003等),也可以运行于UNIX或Linux操作系统环境下。

如果只是安装开发或测试环境,则可以使用Windows XP 或Windows 7等流行的操作系统。本书就是在Windows 7环境下编写完成的。1.3.3 安装Web服务器应用程序

Web 服务器应用程序可以响应用户通过浏览器提交的请求。如果用户请求执行的是 PHP 脚本,则Web服务器应用程序将解析并执行PHP脚本,最后将结果转换成HTML格式,并返回到客户机,显示在浏览器中。

常用的Web服务器应用程序包括IIS、Apache等。选择PHP作为Web应用程序的开发语言时,通常选择Apache作为Web服务器应用程序。因为它们都是开放源代码和支持跨平台的产品,可以很方便地在Windows和UNIX(Linux)之间整体移植。本书将在2.1小节介绍Apache的安装和配置情况。1.3.4 安装和配置脚本语言编辑工具

与Visual Basic、Visual C++等高级编程语言不同,PHP没有提供一个集成的开发环境,也没有专用的编辑工具。可以使用任何文本编辑工具编辑PHP程序,包括Windows记事本。事实上,一些小的示例程序确实可以使用Windows记事本编辑,但开发比较大的Web应用程序时,使用Windows记事本就不够用了,必须选择专业的PHP IDE开发软件。

首先PHP代码是嵌入在网页中的,单纯的编辑工具都无法很友好地设计漂亮的网页。因此,建议读者选择一个专业设计网页的工具,目前比较流行的网页设计工具包括 Dreamweaver、FrontPage等,读者可以根据自己的喜好选择。本书将在2.4.2小节介绍使用Dreamweaver设计网页的情况。

当然,Dreamweaver的特点是设计网页的界面,使用它来开发PHP程序也是不适合的。笔者推荐使用基于可扩展开发平台Eclipse的EclipsePHP Studio 简体中文版,这是经典的PHP IDE开发软件。它不仅可以创建和管理PHP项目、按PHP的语法显示代码,还可以很方便地对PHP程序进行运行和调试。在测试程序和解决Bug(程序中的问题)时,这是非常有用的。具体情况将在3.7节中讲解。1.3.5 安装和配置后台数据库系统

数据库服务器用来存储网站中的动态数据,如注册用户的信息、用户发贴的信息等。常用的数据库服务器包括SQL Server、Access、Oracle、MySQL等。通常PHP可以与MySQL数据库结合使用,因为它们都是开放源代码的、跨平台的项目,可以很方便地在Windows和UNIX(Linux)平台之间整体移植Web应用程序。本书采用MySQL作为Web应用程序的后台数据库,相关内容将在第9章介绍。1.3.6 设计数据库结构,创建数据库对象

在完成需求分析和总体设计后,程序员(通常项目组里有专门负责数据库管理和编程的人员)需要根据总体设计的要求设计具体的数据库结构,包括创建数据库、决定数据库中包含哪些表和视图、设计表和视图结构等。

在设计数据库结构后,可以通过编写数据库脚本来创建这些数据库对象。在安装应用程序时就可以执行这些数据库脚本来创建数据库对象了。1.3.7 设计Web应用程序中包含的模块和页面

在开始开发Web应用程序之前,应由项目组长或系统分析员将Web应用程序划分成若干模块,并定义每个模块包含的页面以及模块间的接口。这是项目组成员分工合作的前提。1.3.8 设计网页界面

通常程序员需要根据总体设计文档将每个功能模块划分成若干个网页文件;然后由美工设计网页中需要使用的图片和Flash等资源,再使用Dreamweaver设计网页的界面,包括网页的基本框架和网页中的静态元素,如表格、静态图像、静态文本等。1.3.9 设计Web应用程序,编写脚本语言代码

这正是本书要介绍的重点内容,在网页界面设计人员完成网页界面设计后,由PHP程序员在网页中添加PHP代码,完成网页的具体功能,具体方法将在后续章节中介绍。1.3.10 测试Web应用程序,通过测试后上线运行

在Web应用程序开发完成后,需要设计测试案例,测试其具体功能的实现情况。在通过测试达到实际应用的需求后,可以将Web应用程序布署到Web服务器上。通常需要准备一个备份Web服务器,以便实现数据备份,并且在增加新功能时提供测试环境。1.3.11 开发Web应用程序的项目组组成和分工

开发Web应用程序的项目组通常由下面的角色组成。

1.项目组长

项目组长的主要职责如下:

• 根据需求文档编写和设计总体设计文档,将项目划分成若干模块;

• 规划项目组的人员分工和进度计划;

• 监督组员的工作,协调组员间的配合,帮助解决技术难题;

• 对组员的工作进行日常管理和考评。

2.数据库设计人员

数据库设计人员的主要职责如下:

• 根据总体设计的要求设计具体的数据库结构,包括创建数据库、决定数据库中包含哪些表和视图、设计表和视图结构等;

• 编写数据库脚本来创建这些数据库对象;

• 编写数据库访问和管理的相关代码。

3.美工

美工的主要职责是设计网页中需要使用的图片、Flash等资源。

4.网页设计人员

网页设计人员的主要职责是设计网页的界面,包括网页的基本框架和网页中的静态元素,如表格、静态图像、静态文本等。

5.程序设计人员

程序设计人员的主要职责是在网页中添加脚本语言(如PHP)代码,完成网页的具体功能。

6.测试人员

程序设计人员的主要职责如下:

• 搭建测试环境;

• 设计测试案例、并对应用程序进行测试;

• 将发现的bug汇总、整理、并与程序设计人员沟通。

在实际工作中,往往做不到一人一岗,经常是一人兼任多个角色,如有时网页设计人员、程序设计人员和数据库设计人员都是一个人。当然,无论如何兼任这些角色的职责是同样的。练习题

一、单项选择题

1.在B/S网络模型中,客户端与服务器之间使用(  )进行通信。

A.HTTP

B.TCP

C.PHP

D.HTML

2.Web文档都遵循标准(  )格式。

A.PHP

B.HTM

C.HTTP

D.HTML

3.最早能够动态生成HTML页面的技术是(  )。

A.PHP

B.ASP

C.CGI

D.JavaScript

二、填空题

1.应用网络模型的主要经历了______、______、______等演变。

2.基于B/S网络模型的应用程序被称为______应用程序。

3.Web应用程序通常由______文件、______文件和一些______文件组成。

4.超文本传输协议的缩写是______。

三、简答题

1.客户机/服务器结构把整个任务划分为客户机上的任务和服务器上的任务。以数据库管理系统为例分别说明客户机和服务器上的主要任务。

2.试以流程图的方式说明浏览器/服务器(B/S)网络模型的工作原理。

3.试列举常用的网页布局。

4.试述Web应用程序的基本开发流程。

5.试述开发Web应用程序的项目组通常由哪些角色组成。第2章搭建PHP服务器和开发环境

本书的主要目的是使读者能够使用PHP程序设计语言和MySQL数据库开发Web应用程序。要达到这样的目标,需要做一些必要的准备工作。

本章将介绍搭建PHP服务器的方法。用户可以选择下面2种搭建PHP服务器的方式。(1)下载和安装WampServer。WampServer 是Apache Web 服务器、PHP 解释器以及MySQL数据库的整合软件包。这种方式比较简单,很多安装和配置工作都由 WampServer 安装程序完成了。(2)手动下载、安装和配置Apache Web服务器、PHP解释器、MySQL数据库等软件。

本书选择第2种方法,原因如下。(1)WampServer中未必集成各种软件的最新版本,而分别下载则可以及时得到最新版本的软件。(2)使用 WampServer 虽然可以免去一些安装和配置的工作,但同时也对用户隐藏了一些应该了解的技术点。特别是对初学者而言,亲自动手下载、安装和配置 Apache Web 服务器、PHP解释器、MySQL 数据库等软件对于了解和认识它们的工作原理是有必要的,对日后的工作也是有帮助的。

本书使用的软件多数是跨平台(支持UNIX、Linux和Windows等平台)的开源软件,且可以从其官网上免费下载,具体下载方法请参照附录C了解。本书选择Windows平台来搭建PHP服务器。2.1 安装与配置Apache HTTP Server

Apache软件基金会(Apache Software Foundation,ASF)是一个非营利性的民间机构,它对Apache社区的开源软件项目提供支持。Apache HTTP Server是Apache软件基金会提供的一个开源Web服务器项目,它具有扩展性强、开放源代码、跨平台、可以免费下载等优势。虽然Apache是开源的项目,但是它在全球数以百万计的服务器上运行和测试,因此是理想的、稳定的Web应用服务器。2.1.1 安装Apache HTTP Server

首先参照附录C 下载Apache HTTP Server 2.2.22 的Windows 安装包。双击下载得到的 msi文件,打开Apache HTTP Server安装向导,如图2-1所示。图2-1 Apache HTTP Server安装向导

单击Next按钮,打开许可协议对话框,如图2-2所示。图2-2 Apache HTTP Server许可协议页面

选中I accept the terms in the license agreement复选框,然后单击Next按钮,打开Apache HTTP Server 简要说明对话框,其中介绍了 Apache HTTP Server 的基本情况,如图2-3所示。单击Next按钮,打开配置服务器对话框,如图2-4所示。图2-3 介绍Apache HTTP Server的基本情况图2-4 配置服务器信息

在配置服务器对话框中要输入的各项内容说明如下。

• Network Domain:服务器已经或者将要注册的DNS域名。例如,服务器的全称DNS域名是server.mydomain.net,则输入mydomain.net。

• Server Name:服务器的全称DNS域名。

• Administrator’s Email Address:服务器管理员的E-mail地址。此地址将会在默认的出错页面上显示给客户端。

单击Next按钮,打开选择安装类型的对话框,如图2-5所示。用户可以选择经典(Typical)安装或自定义(Custom)安装。

选择Typical,然后单击Next按钮,打开选择安装路径对话框,如图2-6所示。默认情况下,安装路径为C:\Program Files\Apache Group\。通常可以保持默认配置,然后单击Next按钮,打开准备安装对话框。在此对话框中单击Install按钮,开始安装Apache HTTP Server。

安装完成后,在任务栏的右下角会出现一个Apache的图标。如果图标中出现绿色的三角符号,则表示Apache HTTP Server已经开始运行了。图2-5 选择安装类型图2-6 选择安装路径

为了验证Apache HTTP Server已经安装成功,可以打开浏览器,在地址栏中输入下面的网址:

http://localhost

如果Apache HTTP Server工作正常,则可以看到如图2-7所示的页面。图2-7 默认的Apache HTTP Server的主页面

默认情况下,Apache HTTP Server的网站根目录为 C:\Program Files\Apache Software Foundation\Apache2.2\htdocs,默认的网页文件为index.html。

如果Apache HTTP Server不能正常启动,最常见的错误提示信息如下:

Unable to bind to Port ...

这是由于 Apache HTTP Server 使用的端口(默认为80)被占用所导致的。如果启用了其他的Web服务器(如IIS),将会导致此错误。此时,请关闭其他的Web服务器,并重新启动Apache HTTP Server。2.1.2 配置Apache HTTP Server

单击任务栏右下角的Apache图标,在弹出菜单中选择“Apache2.2”,可以看到二级菜单中会出现Start、Stop、Restart等菜单项。使用此菜单项,可以启动、停止和重启动Apache HTTP Server服务,如图2-8所示。鼠标右键单击任务栏右下角的Apache图标,弹出的快捷菜单如图2-9所示。图2-8 控制Apache HTTP Server服务的菜单项图2-9 鼠标右键单击Apache图标的菜单

选择Open Apache Monitor菜单项,可以打开Apache服务监视窗口,如图2-10所示。

在Apache服务监视窗口中,可以查看到Apache服务的状态和版本信息。通过窗口右侧的按钮,也可以启动、停止和重新启动Apache服务。

单击 Services 按钮,可以打开 Windows 的服务窗口,Apache HTTP Server 对应的 Windows服务为Apache2.2,如图2-11所示。不同版本的Apache HTTP Server对应的服务名称也不相同。图2-10 Apache服务监视窗口图2-11 Apache HTTP Server对应的Windows服务

可以通过配置文件对Apache服务进行管理。Apache的配置文件保存在Apache主目录的conf目录下,文件名为httpd.conf。httpd.conf是包含若干指令的纯文本文件,它具有如下特征。

• 配置文件中的每行文字都是一条指令。

• 如果一行指令长度过大,可以使用反斜杠(\)表示续行。反斜杠后面不能存在任何其他字符,包括空格。

• 配置文件中的指令是不区分大小写的,但指令的参数通常是大小写敏感的。

• 配置文件中使用“#”作为注释符号,以“#”开头的行被视为注释行,不会被Apache服务解析。“#”不能出现在指令的后面。

配置文件的内容比较多,看起来也比较复杂。但如果只是简单使用Apache HTTP Server作为Web服务器,完全可以保持配置文件的默认设置,了解其中几个常用的配置指令就可以了。下面介绍Apache配置文件中的几个常用配置指令。

1.DocumentRoot

配置指令DocumentRoot可以设置网站的根目录。在配置文件中查找DocumentRoot,如图2-12所示。图2-12 配置网站根目录

默认的网站根目录为C:/Program Files/Apache Software Foundation/Apache2.2/htdocs。

用户可以在这里修改默认的网站根目录,同时需要修改下面的指令,将目录与上面设置的根目录保持一致。

指令的默认值如下:

2.DirectoryIndex

DirectoryIndex指令可以设置目录索引,其默认值如下:

DirectoryIndex index.html index.html.var

目录索引指在浏览器的地址栏中输入此目录时自动打开的网页文件。默认的目录索引文件为index.html,用户可以设置多个目录索引,每个文件名之间以半角空格分隔。Apache 会按从左至右的顺序选择打开的网页文件。

3.ServerAdmin

ServerAdmin指令用于设置服务器管理员的E-mail地址。服务器返回给客户端的错误信息中将包含此E-mail。

4.ErrorLog

ErrorLog指令用于设置Apache服务器的错误日志文件。其默认值如下:

ErrorLog "logs/error.log"

可以看到,默认的错误日志文件为logs/error.log。当Apache服务器工作异常时,可以通过错误日志文件分析原因,定位故障。

5.LogLevel

LogLevel指令用于设置记录日志的级别。可以选择的错误级别如表2-1所示,它们按照重要性从高到低排列。表2-1 LogLevel指令可以选择的错误级别

默认的错误级别为warn。设置一个错误级别,比它级别高的所有错误信息都会被记录在日志中。

6.Listen

Listen指令用于设置Apache服务器监听的IP地址和端口。其语法格式如下:

Listen [IP地址:]端口号 [协议]

如果指定Apache服务器监听所有的IP地址,则可以省略IP地址。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载