高等学校计算机应用规划教材

伪静态  时间:2021-02-19  阅读:()

PHP+MySQL动态网站开发实例教程张艳主编谢昆鹏李云帆马杰副主编北京内容简介本教程全面讲述了PHP+MySQL动态网站开发的基础知识和实用技术.
全书共分为11章,深入介绍了PHP开发环境的安装和配置、HTML和JavaScript语言基础、PHP相关的基本语法、常用函数介绍、PHP和Web页面交互、PHP文件和目录操作,最后给出了完整的开发实例.
本教程内容丰富、结构合理、思路清晰、语言简洁流畅、示例翔实,主要面向网站开发制作的初学者.

本书既可作为各类Web开发培训班的培训教材、高等院校的教材,也可作为动态网站设计与应用开发人员的参考资料.
本书的电子课件、实例源文件和习题答案可以到http://www.
tupwk.
com.
cn/downpage网站下载.
本书封面贴有清华大学出版社防伪标签,无标签者不得销售.
版权所有,侵权必究.
侵权举报电话:010-6278298913701121933图书在版编目(CIP)数据PHP+MySQL动态网站开发实例教程/张艳主编.
—北京:清华大学出版社,2017(高等学校计算机应用规划教材)ISBN978-7-302-48651-0Ⅰ.
①P…Ⅱ.
①张…Ⅲ.
①PHP语言-程序设计-高等学校-教材②关系数据库系统-高等学校-教材Ⅳ.
①TP312.
8②TP311.
138中国版本图书馆CIP数据核字(2017)第262219号责任编辑:胡辰浩马玉萍封面设计:孔祥峰版式设计:思创景点责任校对:曹阳责任印制:李红英出版发行:清华大学出版社网址:http://www.
tup.
com.
cn,http://www.
wqbook.
com地址:北京清华大学学研大厦A座邮编:100084社总机:010-62770175邮购:010-62786544投稿与读者服务:010-62776969,c-service@tup.
tsinghua.
edu.
cn质量反馈:010-62772015,zhiliang@tup.
tsinghua.
edu.
cn印刷者:北京富博印刷有限公司装订者:北京市密云县京文制本装订厂经销:全国新华书店开本:185mm*260mm印张:20.
25字数:468千字版次:2017年11月第1版印次:2017年11月第1次印刷印数:1~4000定价:52.
00元产品编号:073812-01前言信息技术的飞速发展大大推动了社会的进步,已经逐渐改变了人类的生活、工作、学习等方式.
PHP是一种广泛流行的编程语言,多年来始终保持在最流行编程语言排行榜的前五位.
PHP是一种跨平台且开源的服务器端嵌入式脚本语言,MySQL是目前流行的关系型数据库管理系统,它们的配合使得Web开发者能够快速地写出动态生成页面的脚本,从而在全球获得越来越多网站开发人员的青睐.
在过去的十年间,PHP已经从一套为Web站点开发人员提供的简单工具转化成完整的OOP(面向对象编程)语言了.
在Web应用开发方面,PHP现在可与Java和C#这样的主流编程语言抗衡,越来越多的公司为了给站点提供更加强大的功能都采用了PHP.
PHP的简单易学性和强大的功能使得它得以广泛应用.
本教程的编者具有多年的开发和教学经验,所筛选出的适合教学的开发案例,详细介绍了PHP+MySQL动态网站开发的所有重要知识.
本书通过结合不同难度的案例,比较全面地介绍了PHP+MySQL动态网站开发技术.
书中深入介绍了PHP开发环境的安装和配置、HTML和JavaScript语言基础、PHP相关的基本语法、常用函数介绍、PHP和Web页面交互、PHP文件和目录操作,最后还给出了两个完整的开发实例.
在每一章末尾都安排了有针对性的练习题,有助于读者巩固所学的基本概念;另外,还针对本章重点设计了编程题,有助于培养读者的实际动手能力、增强其对基本概念的理解和实际应用能力.

本教程内容丰富、结构合理、思路清晰、语言简洁流畅、示例翔实,主要面向网站开发制作的初学者.
本书既可作为各类Web开发培训班的培训教材、高等院校的教材,也可作为动态网站设计与应用开发人员的参考资料.
本教程共分11章,其中,第1章由李娜编写,第2章、第3章和第6章由王维哲编写,第5章由张艳编写,第4章和第7章由李云帆编写,第8章和第9章由谢昆鹏编写,第10章和第11章由马杰编写.
本教程是集体智慧的结晶,参加编写的人员还有王秀玲、陶永才、石育澄、巴阳、火昊、任鹏程、赵国桦、丁鑫、贾圣杰、曹仰杰、姚瑶、王战红、张鑫倩、曹朝阳、杨朝阳等.

由于编者水平有限,本书难免有不足之处,欢迎广大读者批评指正.
我们的信箱是huchenhao@263.
net,电话是010-62796045.
本书的电子课件、实例源文件和习题答案可以到http://www.
tupwk.
com.
cn/downpage网站下载.
编者2017年8月目录第1章动态网站开发概述·11.
1动态网站概述·11.
1.
1静态网站与动态网站·11.
1.
2动态网站的结构·21.
1.
3动态网站的运行原理·31.
1.
4动态网站编程技术·41.
1.
5动态网站的相关概念·51.
2PHP相关知识·71.
2.
1PHP的概念·71.
2.
2PHP的发展历程·71.
2.
3PHP语言的优势·81.
2.
4PHP常用工具·91.
3常用PHP集成运行环境工具的安装与配置·111.
3.
1WampServer的安装步骤·111.
3.
2集成运行环境的配置·131.
4开发第一个PHP网站·221.
4.
1开发第一个PHP网页·221.
4.
2设置PHP网站·221.
4.
3运行PHP网站·231.
5本章小结·231.
6习题·24第2章HTML与JavaScript语言速成···252.
1HTML简介·252.
1.
1HTML的结构·252.
1.
2HTML的标签·262.
2编辑网页·272.
2.
1编辑文本·272.
2.
2编辑列表·282.
2.
3编辑图像·292.
2.
4超链接·302.
2.
5创建表格312.
3创建表单332.
3.
1表单的定义342.
3.
2标签·352.
3.
3标签·382.
3.
4标签·382.
4JavaScript简介·402.
4.
1JavaScript的组成·412.
4.
2JavaScript的引入·412.
4.
3JavaScript事件·432.
5文档对象模型·452.
5.
1页面标签对象的引用·462.
5.
2改变HTML元素的内容·462.
5.
3读写HTML对象的属性·472.
5.
4改变CSS·482.
6浏览器对象模型·492.
6.
1window对象·492.
6.
2location对象·532.
6.
3history对象542.
7本章小结562.
8习题56第3章PHP基本语法583.
1语法入门583.
1.
1PHP基本格式·583.
1.
2PHP编码规范·593.
1.
3编写PHP程序的注意事项·······603.
1.
4使用PHP输出HTML·613.
1.
5在HTML中嵌入PHP·623.
1.
6在PHP中使用简单的JavaScript·62PHP+MySQL动态网站开发实例教程IV3.
2常量、变量和数据类型·623.
2.
1常量633.
2.
2变量643.
2.
3数据类型·673.
3表达式和运算符·703.
3.
1表达式703.
3.
2运算符703.
3.
3数据类型之间的转换·743.
4程序流程控制结构·763.
4.
1条件控制语句·763.
4.
2循环控制语句·783.
5数组·813.
5.
1数组及数组类型·813.
5.
2构造数组·833.
5.
3访问数组和数组元素·833.
5.
4数组的常用内置函数·843.
6本章小结·903.
7习题·90第4章字符串和正则表达式924.
1字符串的定义与显示·924.
1.
1字符串的定义·924.
1.
2字符串的显示·944.
2字符串的基本操作·954.
2.
1字符串的常用函数·954.
2.
2字符串与空格·1004.
2.
3字符串的比较·1014.
2.
4字符串的替换与插入·1034.
2.
5字符串与HTML·1054.
3正则表达式·1074.
3.
1正则表达式的基本知识·1074.
3.
2正则表达式的语法·1074.
3.
3正则表达式应用实例·1134.
4本章小结·1154.
5习题·115第5章函数和面向对象编程·1185.
1PHP的内置函数·1185.
1.
1字符串处理函数·1185.
1.
2日期和时间函数·1235.
1.
3检验函数1255.
1.
4数学函数1285.
2自定义函数及调用·1295.
2.
1函数的定义1295.
2.
2函数的调用1305.
2.
3变量函数和匿名函数·1325.
2.
4传值赋值和传地址赋值·1325.
3面向对象编程·1345.
3.
1类和对象1345.
3.
2继承和多态1415.
3.
3接口·1485.
3.
4封装·1515.
4本章小结1525.
5习题152第6章PHP与Web页面交互·1546.
1HTML表单·1546.
1.
1表单结构1546.
1.
2文本框·1556.
1.
3命令按钮1556.
1.
4单选按钮1566.
1.
5复选框·1566.
1.
6下拉列表1576.
1.
7多行输入框1586.
1.
8隐藏域·1596.
2获取表单传递数据的方法·1606.
2.
1GET方法·1606.
2.
2POST方法·1626.
3URL数据传递1646.
4本章小结1666.
5习题167第7章PHP文件和目录操作·1687.
1文件访问函数·1687.
1.
1打开和关闭文件·1687.
1.
2读取文件1697.
1.
3移动文件指针1737.
1.
4文本文件的写入和追加·174目录V7.
1.
5制作计数器·1757.
2文件及目录的基本操作·1777.
2.
1复制、移动和删除文件·1777.
2.
2获取文件属性·1787.
2.
3目录的基本操作·1797.
2.
4统计目录和磁盘大小·1837.
3本章小结·1847.
4习题·184第8章PHP操作MySQL数据库······1868.
1PHP操作MySQL数据库的基本步骤·1868.
1.
1连接MySQL数据库服务器·1868.
1.
2选择数据库·1878.
1.
3执行SQL语句·1888.
1.
4关闭MySQL数据库连接·······1968.
2PHP操作SQL语句的执行结果·1978.
2.
1获取查询结果集中的记录数·1978.
2.
2获取记录内容·1988.
2.
3移动指针·2028.
3本章小结·2048.
4习题·204第9章PHP+MySQL数据库编程综合实例·2059.
1登录功能·2059.
2分页功能·2109.
3PHP+MySQL图形绘制·2159.
4新闻发布·2199.
5本章小结·2269.
6习题·227第10章PHP+MySQL开发实战——网络考试系统·22810.
1需求分析·22810.
2数据库设计·22910.
3登录和密码修改功能·23510.
3.
1登录功能·23510.
3.
2密码修改·23710.
4主页功能23910.
5信息管理功能·24610.
5.
1学生信息管理·24610.
5.
2教师信息管理·24910.
5.
3班级信息管理·25210.
5.
4课程信息管理·25210.
6考试功能25310.
6.
1选择考试科目·25310.
6.
2进入考场·25510.
6.
3自动改卷·26010.
7试卷编辑26410.
7.
1试卷管理·26510.
7.
2题型编辑·26610.
7.
3题目编辑·26810.
8本章小结27410.
9习题275第11章PHP+MySQL开发实战——房屋租赁系统27611.
1需求分析27611.
2数据库设计·27711.
3主页28111.
4房屋租赁28211.
4.
1房屋租赁信息查询·28211.
4.
2房屋租赁信息发布·29311.
5留言板30011.
5.
1用户留言·30011.
5.
2管理员回复留言·30711.
6用户注册31211.
7本章小结31511.
8习题315参考文献316第1章动态网站开发概述目前,网站作为各行各业展示信息、沟通交流和办理业务的平台已经深入渗透到人们的日常生活中.
动态网站相对于静态网站而言,其内容可以根据不同情况进行变更,可实现对用户个性化需求的响应,而这些自动化和高级功能一般要通过访问数据库和编写程序代码来实现.
本章主要介绍动态网站的相关知识和工作原理、动态网站开发语言PHP的基本概念和相关知识、PHP开发工具的安装和环境配置,以及制作第一个PHP网站.
本章的主要学习目标:掌握动态网站的工作原理掌握PHP语言的基本概念掌握常用PHP开发工具的安装和环境配置1.
1动态网站概述1.
1.
1静态网站与动态网站静态网站是指网页所要展示的信息和数据全部写入网页文件中,任何用户在任何时间、任何地点访问网页得到的内容都是一样的,用户只能浏览信息,不能实现信息反馈.

而动态网站通过PHP、JSP、ASP等网页脚本语言将网站内容中的信息和数据动态地存储到服务器端的数据库中,用户通过填写表单、发表留言评论等形式将反馈的数据存储到服务器的数据库中或从数据库中获取想要的数据,不同的用户,在不同的时间、不同的地点访问网站,会呈现出不一样的页面.
静态网站一般由一种或多种后缀名为.
htm、.
html、.
shtml、.
xml的静态网页组成,且每个静态网页都有一个固定的URL,网页URL以.
htm、.
html、.
shtml等常见形式为后缀,而不含"";动态网站除了必须包含一种或多种后缀名为.
asp、.
jsp、.
php、.
perl、.
cgi的动态网页以外,还可以包含一部分静态网页,而动态网址URL除了以.
asp、.
jsp、.
php等常见形式为后缀外,有时还会增加""用于值的传递.
特殊情况下,有些网页后缀是html、htm或者是目录格式,但是网页内部包含ASP一类的动态脚本代码,这类网页称为伪静态网页.
使用伪静态技术不仅增强了搜索引擎对静态网页的友好程度,还能运用动态脚本实时地显示一些信息.
静态网站和动态网站最主要的区别在于,程序是否在服务器端运行.
在服务器端运行的程序、网页和组件,属于动态网页,它们会随不同客户、不同时间,返回不同的网PHP+MySQL动态网站开发实例教程2页.
运行于客户端的程序、网页、插件和组件,属于静态网页,它们是永远不变的.

1.
1.
2动态网站的结构早期的应用程序都运行在单机上,称为桌面应用程序.
后来由于网络的普及,出现了运行在网络上的网络应用程序(网络软件),网络应用程序有C/S和B/S两种体系结构.
1.
C/S体系结构(Client/Server的缩写)即客户端/服务器体系结构,如图1-1所示,这种软件包括客户端(Client)程序和服务器端(Server)程序两部分.
就像人们常用的QQ、微信等网络聊天软件,需要下载并安装专用的客户端软件,并且服务器端也需要安装特定的软件才能运行.
图1-1C/S体系结构示意图2.
B/S体系结构(Browser/Server的缩写)即浏览器(Browser)/服务器(Server)体系结构,如图1-2所示.
它是随着Internet技术的兴起,对C/S体系结构的一种变化或者改进的体系结构,将原来的客户端软件由浏览器代替,将原在客户端实现的部分事务逻辑在浏览器端实现,其他主要的事务逻辑在服务器端实现.
图1-2B/S体系结构示意图3.
C/S体系结构和B/S体系结构的优缺点C/S体系结构最大的缺点是不易部署,因为每个客户端都要安装客户端软件,且若客户端软件升级,须为每个客户端单独升级.
另外,客户端软件通常对客户端的操作系统也有要求.
B/S体系结构很好地解决了C/S体系结构的缺点.
因为每台客户端计算机都安装有浏览器,不需要额外安装客户端软件,也不存在客户端软件升级的问题,更不存在对操作系统的要求了.
第1章动态网站开发概述3B/S体系结构与C/S体系结构相比,也有自身的缺点.
首先,B/S体系结构的客户端软件界面无法做得像C/S体系结构那么复杂、漂亮.
其次,B/S体系结构下的每次操作一般都要刷新网页,响应速度明显不如C/S体系结构.
再次,在网页操作界面下,操作大多以鼠标为主,无法自定义快捷键,也就无法满足客户快速操作的个性化需求.
动态网站是一种基于B/S体系结构的网络程序.
它使用超文本传输协议(HyperTextTransferProtocol,HTTP)作为通信协议,通过网络让浏览器与服务器进行通信.
目前流行的是三层B/S体系结构,即表现层、事务逻辑层和数据处理层.
1.
1.
3动态网站的运行原理动态网站通常由提供静态网页内容的HTML文件、实现客户端浏览器与服务器端交互以及访问数据库或其他文件的脚本文件和图片、样式表及配置文件等资源文件组成.

1.
动态网站运行环境搭建动态网站运行环境,需要Web服务器、浏览器和HTTP通信协议的支持.
其中Web服务器是动态网站运行的载体,它不仅代表运行Web应用程序的计算机硬件设备,还专指Web服务器软件,这种软件响应用户在浏览器上提交的HTTP请求,将结果发送到客户端并显示在浏览器中.
浏览器用于从Web服务器接收、解析和显示信息资源,也可以执行CSS代码和客户端JavaScript脚本,但是无法处理服务器端脚本文件,服务器脚本文件只有被放置在Web服务器上才能被正常浏览.
HTTP是浏览器与Web服务器之间通信的语言.
浏览器向服务器发送HTTP请求信息,Web服务器根据请求返回相应的信息,这被称为HTTP响应,响应中包含请求的完整状态信息,并在信息体中包含请求的内容(如用户请求的网页文件内容等).
2.
动态网站与Web应用程序为了迎合用户的需求,网站需要经常更新内容并添加新的内容.
早期的静态网站内容的更新和添加非常烦琐,不仅需要手动编辑网页的HTML代码以实现内容的更新,还需要为添加的内容制作新的HTML文件并更新相关页面到这个页面的链接,最后要把所有更新过的页面上传到服务器上.
动态网站通过构建Web应用程序来管理网站内容,实现更新和添加新网页.
Web应用程序将网站的HTML页面部分和数据显示部分相分离,在数据库中更新或添加数据部分的内容后,通过服务器端脚本语言编写的Web应用程序会自动读取数据库记录并处理,并将结果生成新的页面代码发送给浏览器,实现网站内容的动态更新.
嵌入了服务器脚本代码的网页就称为动态网页文件,而包含动态网页文件的网站就相当于一个Web应用程序.
3.
动态网站的工作原理当用户请求的是一个动态网页时,服务器要做更多的工作才能把用户请求的信息发送回去,动态网站的工作流程一般按照以下步骤进行.
PHP+MySQL动态网站开发实例教程4(1)用户通过在Web浏览器地址栏中键入网址等方式访问动态网站.
(2)Web浏览器连接到Web服务器,服务器中存放有组成该网站的HTML和含有服务器脚本代码的动态网页.
Web服务器查找用户请求的网页文件并发送给Web浏览器上含有HTML表单的网页.
(3)用户在Web浏览器中填写HTML表单并提交给服务器.
(4)Web服务器收到提交的表单后,加载相关的文件来处理表单中提交的内容.
如果涉及访问数据库,则这些文件中会包含用于连接和访问数据库的服务器脚本程序,数据库接受请求并查找信息.
找到信息后,将结果发回给提出请求的服务器脚本;服务器脚本程序从数据库接收结果并用收到的结果创建HTML页面,然后将页面发送回Web浏览器.
(5)Web浏览器接收查询的HTML结果并将其显示给用户.
1.
1.
4动态网站编程技术动态网站编程技术用来编写动态网站的服务器端程序.
目前流行的动态网站开发技术有CGI、PHP、ASP、JSP和ASP.
NET等,下面分别对它们进行介绍.
1.
CGICGI(CommonGatewayInterface,公共网关接口)严格意义上来说并不算是一种网页编程语言.
CGI是信息服务器主机对外提供信息服务的标准接口,是为了向客户端提供动态信息而制定的,它允许服务器应用程序根据客户端的请求,动态生成HTML页面.
CGI脚本程序可以用C、C++等语言在多种平台上进行开发,无须太多修改就可以从一个平台移植到另一个平台上运行,具有很好的兼容性.
但是,CGI程序的编写比较复杂而且效率低下,并且每次修改程序后都必须将CGI的源程序重新编译成可执行文件,因此目前很少有人使用CGI技术.
2.
PHPPHP是HypertextPreprocessor(超文本预处理器)的英文缩写.
PHP是一种HTML内嵌式的语言,是一种在服务器端执行的"嵌入HTML文档的脚本语言".
该语言的风格类似于C语言,现在被很多的网站编程人员广泛运用.
用PHP制作的动态页面与用其他编程语言制作的相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;另外,PHP在服务器端执行,充分利用了服务器的性能;PHP执行引擎还会将用户经常访问的PHP程序驻留在内存中,这也是PHP高效率的体现之一.
PHP具有非常强大的功能,并且支持几乎所有流行的数据库以及操作系统.
3.
ASPASP的全称为ActiveServerPages,是微软公司推出的意图取代CGI的新技术.
用户可以通过它使用几乎所有的开发工具来创建和运行交互式的动态网页,而且容易学习.
它第1章动态网站开发概述5是一种服务器端脚本编程环境,可以混合使用HTML、服务器端脚本语言(VBScript或JavaScript)以及服务器端组件创建动态、交互的Web应用程序.
提示:脚本(Script)是一种可以在Web服务器端或浏览器端运行的程序,目前在Web编程上比较流行的脚本语言有JavaScript和VBScript,并且一般采用JavaScript作为客户端脚本语言,VBScript作为服务器端脚本语言.
4.
JSPJSP(JavaServerPages,Java服务器页面)是在Sun公司的倡导下,由许多公司共同参与建立的一种新的动态网页技术标准,它在动态网页的构建方面具有强大而特殊的功能.
JSP实际上是将Java程序片段和JSP标记嵌入HTML文档中,当客户端访问JSP网页时,将执行其中的程序片段,然后向客户端返回标准的HTML文档.
与ASP不同的是:客户端每次访问ASP文件时,服务器都要对该文件解释并执行一遍,再将生成的HTML代码发送给客户端.
而在JSP中,当第一次请求JSP文件时,该文件会被编译成Servlet,再生成HTML文档发送给客户端,当以后再次访问该文件时,如果文件没有被修改,就执行已经编译生成的Servlet,然后生成HTML文档发送给客户端,由于以后每次都不需要重新编译,因此JSP在执行效率和安全性方面有明显的优势.
JSP的另一个优点是可以跨平台,缺点是运行环境及Java语言都比较复杂,导致学习难度大.
5.
ASP.
NET2002年,微软公司在.
NETFramework和VisualStudio.
NET中引入了ASP.
NET这种全新的Web开发技术.
ASP.
NET可以使用VB.
NET、C#等编译型语言,支持Web窗体、.
NET服务器端控件和ADO.
NET等高级特性.
ASP.
NET应用程序最大的特点是程序与页面分离,也就是说它的程序代码可单独写在一个文件中,而不需要嵌入网页代码中.
ASP.
NET需要运行在安装了.
NETFramework的IIS服务器上.
总而言之,PHP和ASP属于轻量级的Web程序开发环境,只要安装了Dreamweaver就可以进行程序的编写.
而ASP.
NET和JSP属于重量级的开发平台,除了要安装Dreamweaver外,还必须安装VisualStudio或Eclipse等大型开发软件.
1.
1.
5动态网站的相关概念在开始学习动态网站编程前,先介绍一些相关的知识.
1.
URL当用户使用浏览器访问某个网站时,一般会在浏览器的地址栏中输入该网站的地址,这个地址就是统一资源定位符(UniversalResourceLocator,简称URL).
URL是Internet上任何资源都会使用的标准地址,每个网站上的网页(或其他资源文件)在Internet上都有一个与之对应的、唯一的URL地址,通过网页的URL,浏览器就能定位到目标网页或资源文件.
URL的一般格式为:PHP+MySQL动态网站开发实例教程6协议名://主机名[:端口号][/目录路径/文件名][#锚点名],URL协议名后必须接://,其他各项之间用/隔开,例如:http://news.
china.
com/focus/ydyllt/news/13000509/20170510/30509818.
html上面的URL表示请求的信息放置在china.
com域名下,主机名为news的服务器上,域名和主机名合成主机头;focus/ydyllt/news/13000509/20170510/是news服务器网站默认目录下的目录路径(目前不考虑focus是虚拟目录的情况),而30509818.
html是位于上述路径下的一个网页文件.
有时也会出现URL不含具体文件名的情况,例如:http://news.
china.
com/focus/xjpfwkaz/上面的URL表示请求china.
com域名中的news服务器网站默认目录下focus/xjpfwkaz/目录路径中的默认网页(目前不考虑focus是虚拟目录的情况).
除了HTTP协议,URL还常用FTP协议.
其中HTTP是超文本传输协议,主要用于传送网页;FTP是文件传输协议,主要用于传送文件.
2.
域名域名最初是用来代替IP地址方便人们访问网站而发明的,用户可以使用该网站的域名(例如:sohu.
com)而不是晦涩难记的IP地址来访问网站.
后来域名的作用发生了扩展,出现了多个域名对应一个IP地址的情况,也就是可以在一台主机或服务器上架设多个网站,相对于将一个服务器虚拟成多个服务器(虚拟主机),这些网站可以使用相同的域名(例如我们所讲述URL部分内容的china.
com)、不同的服务器名(例如www、news、military、auto等);也可以直接使用不同的域名和服务器名.
使用主机头这种服务器名+域名的形式就可以区分这些网站了.
域名的作用一般有两个,一个是将域名发送给DNS服务器,通过解析得到域名对应的IP地址以进行连接,另一个是将域名信息发送给Web服务器,通过域名与Web服务器上设置的"主机头"进行匹配,从而确认客户端请求的是哪个网站.
若客户端没有发送服务器名给Web服务器,则Web服务器将打开默认网站.
3.
PHP动态网页的工作原理当用户请求一个PHP文件时,Web服务器(一般是Apache服务器)会根据URL中的主机头信息在对应的网站目录中找到指定的PHP文件,然后解释并执行PHP文件中包含的脚本代码,将执行结果以HTML代码的形式嵌入网页中,之后再发送回浏览器.
保存在服务器网站目录中的PHP文件和浏览器接收到的PHP文件的内容一般是不同的,因此无法通过在浏览器中查看源代码的方式获取PHP程序的代码.
如果用户请求的是一个静态网页,Web服务器会根据URL中的主机头信息在对应的网站目录中找到指定的文件,不对它做任何处理,直接发送回浏览器.
第1章动态网站开发概述71.
2PHP相关知识1.
2.
1PHP的概念PHP是HypertextPreprocessor的缩写,是全球最流行的Web程序开发语言.
PHP是一种内嵌HTML的脚本语言,与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言.
它混合了C、Java和Perl等现代编程语言的长处以及PHP自创的新语法.
PHP的语法简单、易于学习、功能强大、灵活易用,目标就是让网页开发人员快速地制作出动态网页.
用PHP制作的动态页面与用其他编程语言制作的相比有更快的执行速度,因为PHP充分利用了服务器的性能,其执行引擎还会将用户经常访问的PHP程序驻留在内存中,当用户再次访问这个程序时就不需要重新编译程序了,只要直接执行内存中的代码即可,这也是PHP高效率的体现之一.
PHP支持几乎所有流行的数据库以及操作系统,完全不必考虑跨平台的问题.
PHP、Apache和MySQL的组合已成为Web服务器的一种配置标准.
1.
2.
2PHP的发展历程1.
PHP/FI1995年,RasmusLerdorf创建了一套简单的Perl脚本,用来跟踪访问他个人主页的信息,并把它命名为"PersonalHomePageTools",简称为PHP/FI,后来Rasmus用C语言对它进行了重写,开发了一个可以访问数据库,并能让用户开发简单的动态Web程序的工具.
Rasmus发布了PHP/FI的源代码,以便每个人都可以使用它,同时大家也可以修正它的Bug并且改进它.
PHP/FI后续版本2.
0于1997年11月发布,成为官方正式版本,但是那时只有几个人在为该项目撰写少量的代码,它仍然只是一个人的项目.
2.
PHP31998年6月正式发布了官方PHP3.
0版,PHP3.
0是类似于当今PHP语法结构的第一个版本.
AndiGutmans和ZeevSuraski在为一所大学的项目开发电子商务程序时发现PHP/FI2.
0的功能明显不足,于是他们重写了代码,这就是PHP3.
0.
考虑到PHP/FI已存在的用户群,从PHP/FI2.
0的名称中移去了暗含"本语言只限于个人使用"的部分,最终被命名为"PHP".
除了给最终用户提供数据库、协议和API的基础结构外,PHP3.
0强大的可扩展性还吸引了大量的开发人员加入并提交新的模块,也这是PHP3.
0取得巨大成功的关键.
PHP3.
0中的其他关键功能包括面向对象的支持和更强大和协调的语法结构.
3.
PHP41998年的冬天,在PHP3.
0官方版本发布不久,AndiGutmans和ZeevSuraski开始PHP+MySQL动态网站开发实例教程8重新编写PHP代码,以增强复杂程序运行时的性能和PHP自身代码的模块性.
虽然PHP3.
0的新功能和广泛的第三方数据库、API的支持使得编写这样的程序成为可能,但是PHP3.
0没有高效处理如此复杂程序的能力.
在1999年中期,新的被称为"ZendEngine"(这是Zeev和Andi的缩写)的引擎首次引入PHP,基于该引擎并结合了更多新功能的PHP4.
0于2000年5月发布,成为官方正式版本.
4.
PHP52004年6月,PHP的发展达到了第二个里程碑.
带有Zend引擎2代的PHP5正式发布,PHP5引入了新的对象模型和大量新功能,而且性能明显增强.
2008年很多程序都已不再支持PHP4版本,取而代之的是PHP5.
5.
PHP6PHP5版本发布后,收到最多的反馈内容就是在PHP中缺少编码转换的支持.
在AndreiZmievski的领导下,PHP中嵌入了ICU库,使文本字符串以unicode-16的方式呈现.
这一举动导致PHP本身以及用户的编码方式都发生了巨大的改变,所以PHP6应运而生.
但是由于这一改变跨越较大,开发人员不能很好地理解所做的改变,并且转换导致了性能的下降,另外,2009年发布的PHP5.
3和2010年发布的PHP5.
4几乎涵盖了所有从PHP6移植来的功能,因此在2010年这一项目就停止了,直到2014年也没有被人们所接受.
6.
PHP72014—2015年期间,PHP7正式发布了.
PHP7的主要目标就是通过重构Zend引擎,使PHP的性能更加优化,同时保留语言的兼容性.
由于是对其引擎的重构,因此PHP7的引擎目前已是第三代ZendEngine3.
1.
2.
3PHP语言的优势PHP能够迅速发展,并得到广大使用者的喜爱,主要原因是PHP不仅是有一般脚本所有的功能外,还具有它自身的优势,具体的特点如下.
源代码完全公开:事实上,所有的PHP源代码都可以获得.
读者也可以通过Internet获得所需要的源代码,快速进行修改并利用.
完全免费:同其他技术相比,PHP本身是免费的.
读者使用PHP进行Web开发无须支付任何费用.
语法结构简单:因为PHP结合了C语言和Perl语言的特色,所以编写简单、方便易懂.
可以嵌入到HTML语言中,实用性强,更适合初学者.
跨平台性强:由于PHP是运行在服务器端的脚本,因此可以运行在Linux和Windows等操作系统上.
效率高:PHP消耗相当少的系统资源,并且程序开发快、运行快.
强大的数据库支持:支持目前所有的主流和非主流数据库,这使PHP的应用对象非常广泛.
第1章动态网站开发概述9面向对象:在PHP中,面向对象有了很大的改进,PHP完全可以用来开发大型商业应用程序.
1.
2.
4PHP常用工具制作PHP动态网站可分为两个方面:一是网站的界面设计,主要是用浏览器能理解的代码及图片设计网页;二是使用PHP语言进行网站程序设计和代码实现,用来实现网站的新闻管理、与用户进行交互等各种功能.
1.
网页设计工具下面介绍几种常用的网页设计工具.
(1)DreamweaverDreamweaver是网页制作"三剑客"之一,其功能更多体现在对Web页面的设计上.
随着Web语言的发展,Dreamweaver的功能早已不再仅限于网页设计的方面,它更多支持各种Web应用流行的前后台技术的综合应用.
Dreamweaver对PHP的支持十分到位,它不但对PHP的不同方面进行了清晰的标识,并且给予足够的编程提示,使编程过程相当流畅.
(2)FrontPageFrontPage是微软公司出品的一款网页制作入门级软件.
FrontPage使用起来非常方便简单,会用Word就能够制作网页,所见即所得是其特点,该软件结合了设计、拆分、代码和预览4种模式.
2.
PHP代码开发工具(1)文本编辑工具Windows系统自带的记事本是一款体积小、启动快、占用内存小、易用、具备最基本文本编辑功能的工具.
UltraEdit是一套功能强大的文本编辑器,可以编辑文本、十六进制、ASCII码,完全可以取代Windows记事本,并且内置了英文单词检查、C++及VB指令突显等功能.
该软件还附有HTML标签颜色显示、搜索替换以及无限制的还原功能,可以满足用户的一切编辑需要.

(2)IDEIDE是IntegratedDevelopmentEnvironment(集成开发环境)的英文简称,它是集成了代码编写功能、分析功能、编译功能、debug功能等一体化的软件开发包.
目前常用于PHP的IDE包括以下几种.
Notepad++:Notepad++是一款Windows环境下免费开源的代码编辑器,支持的语言包括C、C++、Java、C#、XML、HTML、PHP、JavaScript等.
Notepad++不仅有语法高亮显示功能,也有语法折叠功能,并且支援宏以及扩充基本功能的外挂模组.

PHPEdit:PHPEdit是Windows下一款优秀的PHP脚本IDE(集成开发环境).
该软件为快速、便捷地开发PHP脚本提供了多种工具,其功能包括:语法关键字高亮;代码提示、PHP+MySQL动态网站开发实例教程10浏览;集成PHP调试工具;帮助生成器;自定义快捷方式等.
phpDesigner:phpDesigner是Linux下十分流行的免费PHP编辑器,它小巧且功能强大.
它以Linux下的gedit文本编辑器为基础,是专门用来编辑PHP和HTML的编辑器.
它可以显式地标识PHP和HTML、CSS以及SQL语句.
在编写过程中提供函数列表参考、函数参数参考、搜索和检测语法等.
ZendStudio:ZendStudio是由zend科技开发的一个针对PHP的全面开发平台,这个IDE融合了zendserver和zendframework,并且融合了Eclipse开发环境.
Eclipse是最早适用于Java的IDE环境,由于其优良的特性和对PHP的支持,成为很具影响力的PHP开发工具,是最优秀的PHPIDE之一.
它具备功能强大的专业编辑工具和调试工具,支持PHP语法高亮显示,支持语法自动填充功能,支持书签功能,支持语法自动缩排和代码复制功能,内置了一个强大的PHP代码调试工具,支持本地和远程两种调试模式,支持多种高级调试功能.
ZendStudio可以在Linux、Windows、MacOSX上运行.
PHP的开发工具有很多,但是我们建议使用记事本等轻型的编辑器进行前期的学习,不仅是因为程序体积小、安装方便、消耗系统资源少,更重要的是我们可以把代码完完整整地通过敲击键盘按键编辑出来,这样有利于我们对PHP语法规则的记忆和理解.
3.
PHP集成运行环境工具建立一个PHP动态网站,首先需要搭建PHP的开发和运行环境.
对新手来说,一般选择在Windows平台下使用Apache、MySQL和PHP的搭配组合,Apache是类似IIS的Web服务器软件,MySQL是数据库,这种组合也称WAMP(W代表Windows、A代表Apache、M代表MySQL、P代表PHP).
下面介绍几款在Windows下可以使用的WAMP集成工具.
WampServer:WampServer集成了Apache、MySQL、PHP、phpMyAdmin,支持Apache的mod_rewrite操作,PHP扩展和Apache操作只需要通过菜单操作就可以完成,省去了修改配置文件的麻烦.
APMServ:APMServ是一款拥有图形界面的绿色软件,无须安装,具有灵活的移动性.
只需点击APMServer的启动按钮即可自动进行相关设置,它拥有与IIS一样便捷的图形管理界面.
XAMPP:XAMPP是一款具有中文说明,但不支持中文界面的集成环境,XAMPP并不仅仅针对Windows,也适用于Linux等其他操作系统;其缺点是集成功能较多,不支持中文界面,操作不容易,安全设定较烦琐.
本书中之所以选择介绍PHP作为动态网站的开发语言,主要考虑到PHP语法结构简单、易学.
而动态网站开发语言的编程思想是很相似的,每种语言基本上都定义了一些服务器与浏览器之间交互信息的方法,只要深刻掌握其中一种,再去学习其他语言就容易了.
另外,WampServer、APMServ等集成环境的出现使配置PHP的Web服务器也变得更加简单,初学者能在短时间内学会Web应用程序开发的流程.
第1章动态网站开发概述111.
3常用PHP集成运行环境工具的安装与配置1.
3.
1WampServer的安装步骤WampServer是一款由法国软件开发人员开发的、应用在Windows环境下的ApacheWeb服务器、PHP解释器以及MySQL数据库的整合软件包,它免去了开发人员将时间花费在烦琐的配置环境过程中,从而腾出更多精力去做开发.
这个软件是完全免费的,可以在其官方网站下载到最新版本.
本书采用的是Windows7系统64位版,使用的WampServer版本是WampServer3.
0.
6中文64位版,其中包括Apache2.
4.
23,PHP5.
6.
25/7.
0.
10,MySQL5.
7.
14等软件.
WampServer3.
0.
6中文64位版软件可以通过常用的中文搜索引擎进行查找和下载,但需要注意的是下载和安装其32位版本时可能会出现意想不到的错误.
下载的软件名由WampServer的版本、所适用的操作系统平台、集成的Apache、MySQL和PHP软件版本等组成,中间以"_"作为分隔,例如:wampserver3_x64_apache2.
4.
17_mysql5.
7.
9_php5.
6.
16_php7.
0.
0,其中wampserver3是软件的版本系列,x64表示Windows系列的64位操作系统平台,apache2.
4.
17表示ApacheWeb服务器版本,mysql5.
7.
9是MySQL数据库的版本,php5.
6.
16和php7.
0.
0是指本版本软件支持的PHP解释器的版本.
WampServer集成运行软件的安装步骤如下.
(1)双击下载的WampServer软件,会出现如图1-3所示的SelectSetupLanguage界面,安装软件支持英语和法语界面,默认是"English"语言界面.
(2)点击"OK"按钮,进行软件的版权信息设置,如图1-4所示.
图1-3选择语言界面图1-4设置版权信息界面(3)选中"Iaccepttheagreement"单选按钮后点击"Next"按钮进入软件的安装环境的确认界面,如图1-5所示.
(4)点击"Next"按钮进入软件的安装目录选择界面,其中显示了安装软件所需要的最小硬盘空间,默认安装在C盘根目录下,如图1-6所示.
PHP+MySQL动态网站开发实例教程12图1-5安装环境确认界面图1-6目录选择界面(5)使用默认安装目录或修改安装目录后,点击"Next"按钮进入软件的快捷方式存放目录选择界面,如图1-7所示,默认在"开始菜单"中的"程序"目录下,也可以修改到其他目录下.
(6)点击"Next"按钮进入安装信息确认界面,如图1-8所示.
图1-7设置快捷方式界面图1-8安装信息确认界面(7)确认安装信息后,可点击"Install"按钮开始正式安装,安装界面如图1-9所示.
也可以点击"Back"按钮返回到上一界面中,修改安装目录和软件快捷方式的存放目录.

图1-9安装界面第1章动态网站开发概述13(8)在软件安装过程中会弹出两个对话框,如图1-10和图1-11所示,分别询问用户对WampServer默认使用的浏览器和代码编辑软件,默认是使用微软的Internet浏览器作为默认浏览器,使用微软操作系统自带的记事本作为代码编辑器,选择"是"接受默认选项,或者选择"否"不接受默认选项.
图1-10浏览器选择界面图1-11代码编辑器选择界面(9)如果软件在安装过程提示丢失了特定的DLL文件,则需要下载并安装所需的DLL文件后重新安装软件.
软件基本安装完毕后,会出现如图1-12所示的信息提示界面,包括phpMyAdmin默认的用户名和密码、WampServer的菜单操作等信息.
(10)点击"Next"按钮后,出现软件安装向导完成的界面,如图1-13所示.
图1-12信息提示界面图1-13安装完成界面(11)点击"Finish"按钮就可以完成全部的安装操作,双击桌面的应用程序快捷方式"Wampserver64"即可打开软件,如图1-14所示.
1.
3.
2集成运行环境的配置1.
第一次使用集成运行软件(1)集成运行软件的运行状态在安装WampServer成功后,双击如图1-14所示的软件快捷方式,可以在状态栏找到软件图标,会显示3种颜色(如图1-15所示),不同的颜色代表不同的含义.
如果是红色,表示Apache服务器和MySQL服务器均未能正常运行;如果图1-14软件快捷方式图1-15WampServer软件的三种运行状态PHP+MySQL动态网站开发实例教程14是橙色,表示Apache服务器或MySQL服务器两者中有一个没有正常运行;如果是绿色,表示两个服务器均正常运行.
一般情况下,橙色代表Apache服务器未能正常运行,造成这种情况的最常见原因是80端口被其他应用程序占用,重新为Apache服务器指定端口即可解决该问题.
另外也可能是由于Apache的某些服务未能正常安装而造成的,重新安装即可解决.
(2)更改操作界面语言默认状态下,操作界面的语言是英文版,可以鼠标右击状态栏中的软件图标,在弹出的快捷菜单中选择"Language",在其子菜单中选择"chinese",如图1-16所示,将软件的操作界面改为简体中文版.
(3)测试80端口鼠标右击软件图标,在弹出的快捷菜单中选择"Tools",进入二级菜单后选择"TestPort80".
在弹出的命令行界面窗口中,会显示"Testwhichuseport80"的具体信息,如果信息中显示80端口已被PHP的应用程序使用,就需要为PHP的运行开辟其他的端口,点击"Testport80"菜单项下的"Useaportotherthan80",会弹出一个对话框,默认会使用8080端口,如图1-17所示,点击"OK"按钮就会将原来的端口改为8080端口.
然后在"Tools"菜单中,会出现一个新的子菜单"Testportused:8080",如图1-18所示,点击该菜单项会在命令行界面窗口中显示类似于80端口的"Testwhichuseport8080"信息.
如果使用非80端口的其他端口(如8080),访问时就必须在域名后加上端口号,如http://localhost:8080.

PQS彼得巧 年中低至38折提供台湾彰化HiNet线路VPS主机 200M带宽

在六月初的时候有介绍过一次来自中国台湾的PQS彼得巧商家(在这里)。商家的特点是有提供台湾彰化HiNet线路VPS主机,起步带宽200M,从带宽速率看是不错的,不过价格也比较贵原价需要300多一个月,是不是很贵?当然懂的人可能会有需要。这次年中促销期间,商家也有提供一定的优惠。比如月付七折,年付达到38折,不过年付价格确实总价格比较高的。第一、商家优惠活动年付三八折优惠:PQS2021-618-C...

RAKsmart(年79元),云服务器年付套餐汇总 - 香港 美国 日本云服务器

RAKsmart 商家从原本只有专注于独立服务器后看到产品线比较单薄,后来陆续有增加站群服务器、高防服务器、VPS主机,以及现在也有在新增云服务器、裸机云服务器等等。机房也有增加到拥有洛杉矶、圣何塞、日本、韩国、中国香港等多个机房。在年前也有介绍到RAKsmart商家有提供年付129元的云服务器套餐,年后我们看到居然再次刷新年付云服务器低价格。我们看到云服务器低至年79元,如果有需要便宜云服务器的...

2021年全新Vultr VPS主机开通云服务器和选择机房教程(附IP不通问题)

昨天有分享到"2021年Vultr新用户福利注册账户赠送50美元"文章,居然还有网友曾经没有注册过他家的账户,薅过他们家的羊毛。通过一阵折腾居然能注册到账户,但是对于如何开通云服务器稍微有点不对劲,对于新人来说确实有点疑惑。因为Vultr采用的是预付费充值方式,会在每月的一号扣费,当然我们账户需要存留余额或者我们采用自动扣费支付模式。把笔记中以前的文章推送给网友查看,他居然告诉我界面不同,看的不对...

伪静态为你推荐
暴风影音怎么截图请问如何在暴风影音上截图vista系统重装vista怎样重装系统?微信如何建群微信建群怎么建伪静态伪静态和真静态哪种静态方式好伪静态怎么做伪静态?伪静态什么是伪静态伪静态有何作用arm开发板想购买一个ARM开发板,选什么类型的好保护气球为什么会那么害怕气球奇虎论坛奇虎问答是什么2012年正月十五农历2012年正月15早上9点多生的!命里缺什么!是什么命相
花生壳动态域名 域名管理 电信服务器租赁 域名停靠一青草视频 私人服务器 patcha debian6 标准机柜尺寸 100x100头像 php空间申请 ftp教程 日本bb瘦 南通服务器 cn3 上海联通宽带测速 linode支付宝 lamp架构 阿里dns 1美元 卡巴斯基试用版下载 更多