PHP是最流行的Web脚本语言之一,它运行在Web服务器端,根据用户请求或服务器端的数据产生动态网页。它功能强大,和HTML脚本融合在一起,并内建访问数据库的能力。它能够作为Apache Web服务器的模块执行,也使得它的执行效率要高于普通的CGI程序。本书作者是一个经验丰富的程序员,在书中使用了大量的、有一定使用价值的例子来深入浅出的讲解PHP语言及Web编程需要了解的方方面面。尤其值得注意的是,他在书中使用了多个“中场”章节,用来在学习过一定知识之后,通过实际例子来对所学的知识进行巩固,这些章节中介绍的内容具有很大的实用价值。因此本书不仅使用Web编程的入门者,即使对于有一定经验的 Web程序员来讲,本书也是非常有用的。
PHP3程序设计 1
序 6
第一章 什么是PHP? 9
1.1 起源 9
1.2 特性 9
1.3 PHP需要花费多少钱? 10
1.4 PHP语言可以嵌入HTML中 10
1.5 PHP语言是在Web服务器端运行 11
1.6 PHP无处不在 11
1.7 PHP和C或Java相似吗? 11
1.8 PHP比ColdFusion、Active Server Page或Java Server Page更好吗? 11
1.9 总结 12
第二章 安装PHP 13
2.1 基本概念 14
2.2 编译前的准备工作 15
2.3 编译C编译器gcc 16
2.3 编译MySQL 16
2.4 测试MySQL 17
2.5 编译iODBC和MyODBC 18
2.6 编译PHP 19
2.7 安装PHPLIB 21
2.8 测试Linux环境下的ODBC 23
2.9 总结: 24
第三章 PHP中的数据处理 25
3.1 数值 25
3.2 变量 28
3.3 常量 34
3.4 操作符 35
3.5 总结 46
第四章 程序控制 47
4.1 表达式 47
4.2 语句 48
4.3 函数 59
4.4 总结 67
第五章 中场一:数据库连接 69
5.1 开端 69
5.2 创建连接 69
5.3 获取HTML表单信息 70
5.4 使用HTML表单信息 71
5.5 common.inc文件 72
5.6 总结 73
第六章 数据库和SQL 74
6.1 信息和数据有何不同? 74
6.2 从信息向数据库转移 74
6.3 创建唯一的记录 75
6.4 每个记录的重要字段 75
6.5 有关字段数据类型的一两句话 76
6.6 设计能存储电子邮件消息的字段 76
6.7 SQL介绍 76
6.8 字段定义及修正 90
6.9 总结 92
第七章 中场二:列表维护 93
7.1 列表维护的规范 93
7.2 创建连接代码 93
7.3 创建phpuser用户名 94
7.4 创建数据库表 95
7.5 修改menu.php3文件 96
7.6 插入记录 96
7.7 显示记录 100
7.8 为新表配置应用程序 108
7.9 总结 109
第八章 phpMyAdmin:开放源码的MYSQL前端 110
8.1 phpMyAdmin的特性: 110
8.2 安装phpMyAdmin 110
8.3 防止“网络机器人” 111
8.4 用密码保护phpMyAdmin目录 112
8.5 使用phpMyAdmin 112
8.6 函数变量:转储表中数据 113
8.7 Query By Example,构造用户自定义页面 114
8.8 构建多语言网站 115
8.9 常见问题 116
8.10总结 117
第九章 模式匹配 118
9.1 正则表达式定义: 118
9.2 POSIX风格的函数: 120
9.3 PERL风格函数: 123
9.4 MySQL: 137
9.5 总结: 138
第十章 面向对象 140
10.1 了解类的知识: 140
10.2 对象和PHP 143
10.3 总结 149
第十一章 中场三:生成HTML模块 150
11.1 HTML类的设计目的 150
11.2 生成一个基类 151
11.3 继续进行下一步 152
11.5 添加HEAD支持 153
11.6 添加BODY支持: 154
11.7 添加TITLE支持 156
11.8 添加注释支持 158
11.9 添加对通用标签的支持 158
11.10 添加默认值支持 159
11.11 缓存HTML代码 160
11.12 总结 161
第十二章 什么是CGI? 162
12.1 CGI应用程序和JAVA Applet 162
12.2 CGI应用程序和JavaScript: 163
12.3 自己编写脚本 163
12.4 CGI是如何工作的 163
12.5 调用CGI程序 163
12.6 HTTP标题 164
12.7 CGI和环境变量 165
12.8 URL编码和解码 167
12.9 安全性 168
12.10 Cookies 169
12.11 调试CGI程序 171
12.12 表单处理 172
12.13 总结 175
第十三章 认证 177
13.1 HTTP认证 177
13.2 htaccess 认证: 178
13.3 总结 181
第十四章 深入了解SQL 183
14.1 表关联 183
14.2 创建数据库表 184
14.3 通过连接生成虚拟表 185
14.4 使用联接表 186
14.5 几种连接类型: 189
14.6 处理空值 190
14.7 完整性 191
14.8 总结 192
第十五章 中场四:管理并发访问 194
15.1 问题:一个用户能覆盖另一个用户的更改。 194
15.2 解决方案:阻止多用户编辑 195
15.3 总结 198
第十六章 XML 199
16.1 为什么使用XML 199
16.2 XML解决方法 201
16.3 XML核心 202
16.4 文档类型定义(DTD) 207
16.5 XML应用程序 214
16.6 XML是什么样的 215
16.7 进一步研究 216
16.8 总结 216
第十七章 用PHP处理XML 218
17.1 得到电影信息 218
17.2 总结 220
附录A Internet资源 221
IRC 221
邮件列表 221
Web站点 221
附录B ASCII表 227
附录C SQL语言参考 228
MySQL的SQL语句 228
MySQL的操作符 228
MySQL的函数 229
MySQL的工具 235
附录D PHP函数清单 237
生成PHP函数清单 237
字母顺序的PHP函数清单 238
附录E CD-ROM的内容 269
作者介绍 270
封底: 271
序
与我编著的其他书籍类似,本书也基于边学习边动手的原则,因为我相信只阅读而不实践并不是最好的学习方法。总之,就如同玩拼板游戏一样,不仅要看到这些拼板是怎样拼在一起的,而且应该自己动手将它们拼装起来!编程正是这样的道理,必须实际运行一些程序,才能真正理解相应的概念。
使用PHP编程向你展示了如何有机的创建应用程序,本书将从简单的程序出发,逐渐介绍各种新的功能。
在这里,每个技术专题是以一种简捷的、技术性并不强的方式加以介绍的,从而使你能够尽快的理解并掌握各种基本原理。每一章首先介绍主要专题,然后再进一步在各节中介绍相关的子专题,每一节都包含有相应的PHP程序实例。
本书中还有一些简短的中场章节,这样做尤其受到职业程序员的欢迎。中场章节的目的是用来解释代码的具体使用方法,这样即使在具体章节内容中没有对所有的函数都进行了详细解释,读者也能知道如何使用它们。
本书适合哪些人使用?
对于初学编程的人,本书是适合的。第4章和第5章引导你学习PHP语言,在第7章讲解数据库,阅读了以上章节以后,其余章节就容易多了--你的PHP3知识库就会越来越丰富,足以掌握本书涉及的所有内容。而有经验的编程员会把主要精力放在更复杂的章节上,比如第九章介绍的模式匹配,有关模式匹配的内容就算是高级程序员也常常会被搞糊涂。
本书介绍的学习方法适合于从初学者到高级程序员范围内的大量读者。即使以前从没有编过程序,本书中的边学习边动手练习的方法将帮助你快速提高水平,并轻松读完本书。如果有程序设计经验,那么你将会学到很多东西、懂得更多、能力更强,并会对PHP有更深刻的了解。
学习本书需要什么?
需要一台运行LINUX操作系统的计算机,其他需要的材料都能在本书附带的CD-ROM中找到。
如何使用本书进行学习?
有以下几种使用本书进行学习的办法。最常用的方法是从头到尾顺序读下去,大多数初学者都是采用这种方法,而且本书也是以此为目的而撰写的。但是也可以采用另一种方法,着重于包含实际代码的中场章节,而只有在遇到不熟悉的概念时再返回前面具体章节进行学习。
提示: 在任何一个较大的项目开始之前,至少应该通读一遍附录D的PHP函数清单。否则,花费几个小时编写的函数也许是已有的标准函数。
代码清单
许多读者更喜欢自己亲手输入大多数本书中的程序代码;这将有助于读者在每一时刻只注意一行代码。另一个好的方法是先仔细阅读一章中的一个例子,然后合住书重写这个例子,采用这种方法可以加深对程序代码的理解。记住,迷路能够帮助你学会如何找到正确的道路。
如果比较懒惰、打字太慢、或者像我的某些朋友一样有手腕疾病,也可以从本书附带的光盘中把这些代码复制一份。光盘中的每个代码清单都有一个如下所示的清单标题:
清单 0.1 example.php3 - 这是一个样本清单标题
// This is a sample program line.
每一个例子最好要亲自进行实验,观察有什么结果。然后再稍做变动,修改一点代码,或者增加一点代码,这样会帮助你从学习经历中找到快乐。有一种成功的学习经验,它最重要的特点是兴趣。如果学习既有趣而且你又喜欢它的话,那么你就会更愿意学习和使用它。
约定
本书包括如下默认的约定:
* 代码行、函数、变量名和能在屏幕上看到的任何文本都以特殊的等宽字体显示。
* 文件名也以一特殊的等宽字体显示。
* 新的术语以斜体 显示。
* 大小写在PHP编程中非常重要,要特别留意在变量名和函数名中的大小写。
* 如果需要读者进行输入,输入的文本以黑体字的形式显示。例如,“输入 ./mysqlshow.”,如下例所示,每行都是以等宽字体分开:
./mysqlshow
* 命令和关键字都是以黑体字显示。