Web开发入门经典——使用PHP6、Apache和MySQL

Web开发入门经典——使用PHP6、Apache和MySQL"

作者:薛炎
ISBN:9787302203759
定价:¥88
字数:千字
页数:
出版时间:2009.07.01
开本:
版次:1-1
装帧:
出版社:清华大学出版社
简介

本书以逐步深入的方式介绍了3种重要的开源技术,它们组成了构建一个最活跃的Web站点所需要的基础。本书重点阐述了如何使用Apache Web服务

  本书是一本实践教程,共12章,每一章都给出了器、MySQL数据库系统和PHP脚本语言一个实际应用的例子。这12个例子涵盖了当前Web应快速地创建一个专业的、功能丰富的站用中最流行的功能,包括用户登录、论坛管理、相册维护以及购物车等。书中的所有代码都可以在实际应点。在这个过程中,您可以切身体会到用中进行重用,以节省广大读者开发代码的精力和时间,并使得读者可以把精力集中于让自己的应用更加美观、更加丰富。由于本书是以可重用和可扩展作为原则进行编程的,因此读者可以很容易地对它们进行扩展,以添加自己喜欢的功能。此外,本书所采用的编程技巧以及开发理念也为读者提供了很多借鉴

和学习的地方。

前言

前    言

    欢迎阅读本书,这是创建动态网站的一本值得信赖的参考资料。目前有许多技术都可以发布优秀的网站,而Apache/MySQL/PHP(有时简称为AMP)就是其中的一个选择。读者过去可能用过也可能没有用过这3个组件,但无论如何,读者都将会感受到它们的强大。有了本书的帮助,读者很快就会明白为什么这个组合会迅速成为开发动态网站的最流行的方式。

  Apache、MySQL和PHP本身都很复杂,本书不可能详细介绍这3个组件的所有高级功能。本书旨在为读者理解这3个核心组件如何单独工作和协同合作打下坚实的基础,使读者可以充分利用它们提供的所有功能。本书没有讨论一些高级主题,一方面,因为这有可能偏离我们的目标,使我们的讨论丧失重点,另一方面,也可能没有足够的篇幅来讨论它们。但本书给出了许多权威资料,读者可以从中得到更多的信息。本书的内容仅是Apache、MySQL、PHP的冰山一角,但提供了探讨其深层次内容的工具。读完本书后,读者就能全面理解高效开发人员使用Apache、MySQL、PHP所需要的核心概念,并且希望继续学习,成为真正的开发人员。

本书读者

  阅读本书的读者需要对网站开发的概念有一定的理解,了解HTML和CSS的基本知识。除了PHP之外,其他编程语言的知识并不是阅读本书的前提条件,但有编程经验肯定有助于理解和应用本书介绍的概念。

  本书面向Apache、MySQL、PHP方面的新手,从最基本的层面出发研究了许多核心概念和代码片段。随着自身的知识、级别和经验的增加,读者会发现完成相同的任务可能会有更复杂、更高效的方式。此时,读者就已经从Apache、MySQL、PHP的新手阶段进入到高手阶段了。

本书内容

  本书讨论了如下主题:

● Apache、MySQL和PHP的安装和配置

● 介绍每个组件及组件之间的交互操作

● 收集网站访客的信息,并与他们交流

● 如何避免错误,以及在发生错误时如何处理它们

● 创建、修改和使用图像文件

● 处理用户的注册和登录

● 发送电子邮件,建立电子邮件列表

● 建立内容管理系统

● 添加电子商务功能来提升网站质量

● 在网站中添加论坛

● 使用活动日志和错误日志监控网站的健康状况

● 选择第三方Web主机提供程序

● 找到适合自己的文本编辑器

● 用多个界面从PHP连接到MySQL上

  在阅读本书的各个章节,学习每个主题的过程中,读者将要创建两个完整的网站。第一个是电影评论站点,用来显示电影的信息及观众对其的评论。这个项目涵盖了许多基础知识,例如编写PHP代码,创建MySQL数据库,用数据填充数据库,显示访客希望看到的特定信息等。

  第二个项目是漫画书迷网站,这个站点会在本书的后半部分开发,它合并了使用Apache、MySQL和PHP开发的复杂主题。读者将要创建一个真正的交互式网站,使访客可以与读者及网站的其他成员交流。

  本书将一步步地引导读者开发这些网站,读者可以在学习了新概念后继续建立它们。但要注意,本书的每一章都是独立的,如果读者对某个主题不感兴趣,可以跳到下一章。

  如果读者认为“小测验”已经过时,那就要三思而行了。本书的大多数章节末尾都提供了练习,来测试读者对所讨论的主题的掌握情况,并激励读者做进一步的思考。这些练习的答案在附录A中。

  任何程序员都知道,软件总是在改进和调试。在使用Apache、MySQL和PHP的最新、最杰出的版本时,其实它们的推出时间并不长。所以,读者一定要访问每个组件的源网站,获得最新的版本和最近的发布信息。本书建议在使用Apache、MySQL和PHP开发网站时,一定要使用最新的、稳定的版本。使用旧软件版本或未经开发人员充分测试的版本,对应用程序而言是很危险的,可能会在代码中产生错误。

  目前,最新的、稳定的版本是:

● PHP:6.0.0版本

● Apache:2.2.9版本

● MySQL:5.0.67

  本书未来的版本会介绍这些程序的变化和改进。

使用本书的要求

  本书适用于多个平台,其中的主题和讨论可用于Windows平台和Linux平台的机器。读者需要使用Apache、MySQL和PHP来完成本书中的练习。这3个软件都是开源的,读者可以免费下载和使用它们。本书的第1章和附录I提供了下载安装这3个组件的指导。

  读者还需要一个文本编辑器来输入代码,这里可以使用多种编辑器,附录F列出了其中一些比较流行的编辑器。最后,还需要一个Web浏览器来浏览网页,如Mozilla Firefox、Internet Explorer、Google Chrome、Apple Safari或Opera。

源代码

  在读者学习本书中的示例时,可以手工输入所有的代码,也可以使用本书附带的源代码文件。本书使用的所有源代码都可以从本书合作站点http://www.wrox.com/或www.tupwk.com.cn/downpage上下载。登录到站点http://www.wrox.com/,使用Search工具或使用书名列表就可以找到本书。接着单击本书细目页面上的Download Code链接,就可以获得所有的源代码。

  注释:

  由于许多图书的标题都很类似,所以按ISBN搜索是最简单的,本书英文版的ISBN是978-0-470-39114-3。

  在下载了代码后,只需用自己喜欢的解压缩软件对它进行解压缩即可。另外,也可以进入http://www.wrox.com/dynamic/books/download.aspx上的Wrox代码下载主页,查看本书和其他Wrox图书的所有代码。

勘误表

  尽管我们已经尽了各种努力来保证文章或代码中不出现错误,但是错误总是难免的,如果您在本书中找到了错误,例如拼写错误或代码错误,请告诉我们,我们将非常感激。通过勘误表,可以让其他读者避免受挫,当然,这还有助于提供更高质量的信息。

  请给wkservice@vip.163.com发电子邮件,我们就会检查您的反馈信息,如果是正确的,我们将在本书的后续版本中采用。

  要在网站上找到本书英文版的勘误表,可以登录http://www.wrox.com,通过Search工具或书名列表查找本书,然后在本书的细目页面上,单击Book Errata链接。在链接到的页面上可以查看到Wrox编辑已提交和粘贴的所有勘误项。完整的图书列表还包括每本书的勘误表,网址是www.wrox.com/misc-pages/booklist.shtml。

P2P.WROX.COM

  要与作者和同行讨论,请加入p2p.wrox.com上的P2P论坛。这个论坛是一个基于Web的系统,便于您张贴与Wrox图书相关的消息和技术,与其他读者和技术用户交流心得。该论坛提供了订阅功能,当论坛上有新的消息时,它可以给您传送感兴趣的论题。Wrox作者、编辑和其他业界专家和读者都会到这个论坛上来探讨问题。

  在http://p2p.wrox.com上,有许多不同的论坛,它们不仅有助于阅读本书,还有助于开发自己的应用程序。要加入论坛,可以遵循下面的步骤:

  (1) 进入p2p.wrox.com,单击Register链接。

  (2) 阅读使用协议,并单击Agree按钮。

  (3) 填写加入该论坛所需要的信息和自己希望提供的其他信息,单击Submit按钮。

  (4) 您会收到一封电子邮件,其中的信息描述了如何验证账户,以完成加入过程。

  注释:

  不加入P2P也可以阅读论坛上的消息,但要张贴自己的消息,就必须加入该论坛。

  加入论坛后,就可以张贴新消息,响应其他用户张贴的消息。可以随时在Web上阅读消息。如果要让该网站给自己发送特定论坛中的消息,可以单击论坛列表中该论坛名旁边的Subscribe to this Forum图标。

  关于使用Wrox P2P的更多信息,可阅读P2P FAQ,以了解论坛软件的工作情况以及P2P和Wrox图书的许多常见问题。要阅读FAQ,可以在任意P2P页面上单击FAQ链接。

Web开发入门经典——使用PHP6、Apache和MySQL

  

  

  

  

  

目录

目    录

第1章  配置安装 1

1.1  本书中的项目 1

1.2  Apache、MySQL、PHP和开放

  源代码的简介 1

1.2.1  开源活动的简史 2

1.2.2  开源的优点 2

1.3  AMP中各个组件的协同工作 3

1.4  在Windows上安装Apache、

  MySQL和PHP 4

1.4.1  安装Apache 4

1.4.2  安装PHP 7

1.4.3  把PHP配置为使用MySQL 8

1.4.4  安装MySQL 10

1.5  帮助和其他有价值的资源 14

1.5.1  程序中的帮助 14

1.5.2  源网站 14

1.6  小结 14

第2章  用PHP6创建PHP页面 15

2.1  PHP结构和语法概述 15

2.1.1  PHP与HTML的协同合作 16

2.1.2  PHP语法规则 16

2.1.3  编码实践的重要性 16

2.2  创建第一个程序 18

2.3  用HTML给页面添加趣味 21

2.3.1  集成HTML和PHP 21

2.3.2  把HTML放在PHP中

     的考虑 22

2.4  用常量和变量添加功能 24

2.4.1  常量概述 24

2.4.2  变量概述 25

2.5  在页面之间传送变量 27

2.5.1  通过URL传送变量 27

2.5.2  在会话中传送变量 31

2.5.3  用cookie传送变量 34

2.5.4  用窗体传送信息 37

2.6  使用if/else参数 41

2.6.1  使用if语句 41

2.6.2  使用if和else 43

2.7  使用包含文件提高代码

  的效率 44

2.8  用函数提高代码的效率 46

2.9  数组 51

2.9.1  数组的用法 52

2.9.2  数组的排序 53

2.9.3  foreach结构 54

2.10  while语句 59

2.11  PHP中的替代语法 63

2.11.1  echo命令的替代命令 63

2.11.2  逻辑运算符的替代 64

2.11.3  双引号的替代:使用

       heredoc 64

2.11.4  递增/递减值的替代 64

2.12  OOP 65

2.12.1  类 65

2.12.2  属性和方法 66

2.12.3  使用OOP的原因 66

2.13  小结 66

2.14  练习 67

第3章  使用PHP和MySQL 69

3.1  MySQL结构和语法概述 69

3.1.1  MySQL结构 70

3.1.2  MySQL语法和命令 75

3.2  PHP和MySQL的联合使用 75

3.3  连接MySQL服务器 76

3.4  查看数据库 77

3.5  查询数据库 81

3.5.1  WHERE子句 82

3.5.2  使用PHP和数据数

     组:foreach 84

3.5.3  两个表的处理 87

3.6  帮助提示和建议 90

3.6.1  帮助文档 90

3.6.2  使用MySQL查询浏览器 91

3.7  小结 92

3.8  练习 92

第4章  用表格显示数据 93

4.1  创建表格 93

4.2  等一下 97

4.3  确定主表 104

4.4  关系 111

4.5  小结 115

4.6  练习 115

第5章  表单元素:让用户处理数据 117

5.1  第一个表单 117

5.1.1  FORM元素 120

5.1.2  INPUT元素 120

5.1.3  处理表单 121

5.2  驱动用户输入 121

5.2.1  一个表单,多种处理 124

5.2.2  单选按钮INPUT元素 127

5.2.3  多个提交按钮 128

5.2.4  基本的输入测试 128

5.2.5  三元运算符 129

5.3  把表单链接在一起 130

5.4  小结 135

5.5  练习 135

第6章  让用户编辑数据库 137

6.1  准备战斗 137

6.2  在关系数据库中插入记录 139

6.3  删除记录 145

6.4  编辑记录中的数据 149

6.5  小结 156

6.6  练习 156

第7章  用PHP处理和创建图像 157

7.1  使用GD库 157

7.1.1  GD & PHP可以处理的

     文件类型 157

7.1.2  在PHP中启用GD 158

7.2  允许用户上传图像 159

7.3  转换图像文件的类型 169

7.4  特殊效果 173

7.5  添加标题 182

7.6  添加水印和合并图像 189

7.7  创建小图标 192

7.8  小结 195

7.9  练习 195

第8章  验证用户的输入 197

8.1  用户就是用户 197

8.2  把验证部分合并到电影

  站点中 197

8.3  忘记了什么吗 198

8.4  检查格式错误 206

8.5  小结 217

8.6  练习 218

第9章  处理和避免错误 219

9.1  Apache网络服务器处理错误

  的方式 219

9.1.1  Apache的ErrorDocument

     指令 219

9.1.2  Apache的ErrorDocument

     指令:高级的定制错误

     页面 223

9.2  用PHP处理错误和创建错误

  处理页面 225

9.2.1  PHP中的错误类型 225

9.2.2  生成PHP错误 226

9.3  处理错误的其他方法 232

9.3.1  异常 232

9.3.2  不满足条件 234

9.3.3  解析错误 235

9.4  小结 235

9.5  练习 235

第10章  建立数据库 237

10.1  入门 237

10.1.1  什么是关系数据库 238

10.1.2  键 238

10.1.3  关系 239

10.1.4  引用完整性 239

10.1.5  规范化 240

10.2  设计数据库 240

10.2.1  创建第一个表 240

10.2.2  这些范式有多规范 244

10.2.3  标准化 244

10.2.4  完成数据库的设计 245

10.3  在MySQL中创建数据库 246

10.4  创建漫画人物应用程序 250

10.5  小结 282

10.6  练习 283

第11章  发送电子邮件 285

11.1  把PHP设置为使用电子

     邮件 285

11.2  发送电子邮件 286

11.3  用HTML修饰电子邮件 290

11.4  存储图像 295

11.5  进行确认 297

11.6  创建可重用的邮件类 308

11.7  小结 317

11.8  练习 318

第12章  用户登录、配置和个性化 319

12.1  保护文件最简单的方法 319

12.2  使用PHP的会话和cookie

     功能进行更友好的登录 322

12.3  使用数据库驱动的信息 325

12.3.1  在PHP中使用cookie 346

12.3.2  管理员注册 350

12.4  小结 361

12.5  练习 362

第13章  建立内容管理系统 363

13.1  刷新内容 363

13.2  设定规则 364

13.3  准备数据库 364

13.4  编写可重用的代码 368

13.5  事务处理页面 376

13.6  用户界面 388

13.6.1  一般功能 388

13.6.2  用户的管理 398

13.6.3  文章的发布 401

13.6.4  其他CMS功能 413

13.7  小结 419

13.8  练习 420

第14章  邮件列表 421

14.1  今天要发送什么 421

14.2  编写管理应用程序 422

14.3  加入邮件列表 437

14.4  邮件列表的道德规范 452

14.4.1  垃圾邮件 452

14.4.2  进入和退出邮件列表 452

14.5  小结 453

14.6  练习 453

第15章  在线商店 455

15.1  在漫画书迷站点上添加电子

     商务功能 455

15.1.1  要卖的东西 456

15.1.2  购物篮 456

15.2  电子商务 497

15.2.1  信息就是一切 498

15.2.2  信用的重要性 498

15.2.3  专业化的外观 500

15.2.4  易于导航 500

15.2.5  有竞争力的价格 500

15.2.6  恰当的商品 501

15.2.7  及时送货 501

15.2.8  交流 501

15.2.9  顾客反馈 501

15.3  小结 502

15.4  练习 502

第16章  创建公告板系统 503

16.1  公告板 503

16.2  准备数据库 504

16.3  可重用的代码 510

16.3.1  分页 519

16.3.2  面包屑 523

16.3.3  用户的身份验证 524

16.4  事务处理页面 525

16.5  账户功能 538

16.6  论坛功能 551

16.6.1  公告板管理 554

16.6.2  论坛管理 556

16.6.3  BBcode管理 556

16.6.4  搜索 566

16.7  事后补记 567

16.8  小结 568

16.9  练习 568

第17章  用日志文件改进网站 569

17.1  定位日志 570

17.1.1  Apache 570

17.1.2  PHP 571

17.1.3  MySQL 572

17.2  分析日志数据 574

17.2.1  Webalizer 574

17.2.2  Analog 574

17.2.3  AWStats 575

17.2.4  HTTP Analyze 575

17.2.5  Google Analytics 576

17.3  进行分析 577

17.3.1  站点的健康状况 577

17.3.2  用户的喜好和信息 577

17.3.3  点击数和页面访问次数 577

17.3.4  趋势 578

17.3.5  引用网站 578

17.4  小结 578

第18章  排除故障 579

18.1  安装故障的排除 579

18.2  解析错误 579

18.2.1  清理第16行,但其实第

       94行有错 580

18.2.2  基本常识 580

18.3  空变量 580

18.3.1  一致而有效的变量名 581

18.3.2  打开一个新浏览器 581

18.4  “标题已发送”错误 581

18.5  一般调试提示 582

18.5.1  使用echo 582

18.5.2  分而治之 583

18.5.3  测试、测试、再测试 584

18.5.4  用Xdebug调试 584

18.6  寻求帮助 584

18.6.1  www.wrox.com 584

18.6.2  PHPBuilder.com 584

18.6.3  源网站 584

18.6.4  搜索和求助 585

18.6.5  IRC通道 585

18.7  小结 585

附录A  习题答案 587

附录B  PHP快速参考 625

附录C  PHP6函数 633

附录D  MySQL 数据类型 679

附录E  MySQL快速参考 683

附录F  文本编辑器的比较 687

附录G  选择第三方主机 689

附录H  PHP数据对象简介 693

附录I  在Linux上的安装和配置 699

Web开发入门经典——使用PHP6、Apache和MySQL

  

  

  

  

  

  

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个