第一部分 编写基本的PHP程序 3
第1章 创建PHP程序 3
1.1 创建PHP脚本 4
1.1.1 编写PHP脚本 4
1.1.2 编写PHP代码框架 4
1.1.3 创建用于Web浏览器的输出 6
1.1.4 说明PHP脚本 7
1.2 执行PHP脚本 9
1.2.1 上载PHP脚本 9
1.2.2 执行脚本 11
1.2.3 排除脚本故障 12
第2章 PHP的组成部分 15
2.1 数和字符串 16
2.1.1 数 16
2.1.2 字符串 17
2.2 文字和变量 18
2.3 标量和数组 22
2.4 操作符和函数 23
2.4.1 操作符 23
2.4.2 函数 25
第3章 创建HTML表单 29
3.1 表单设计的基础知识 30
3.1.1 设计表单 30
3.1.2 创建HTML表单 31
3.2 创建表单控件 37
3.2.1 创建自定义的文本框 37
3.2.2 创建文本区域 37
3.2.3 创建密码框 38
3.2.4 创建复选框 38
3.2.5 创建单选按钮 39
3.2.6 创建列表框 39
3.2.7 创建隐藏域 40
3.3 关于提交表单的更多信息 46
3.3.1 使用图像提交数据 46
3.3.2 创建重置按钮 47
3.3.3 创建一个多表单页面 47
3.3.4 使用链接向脚本提供数据 48
第4章 访问数据 53
4.1 获取和使用来自表单的数据 54
4.1.1 向浏览器发送输出 55
4.1.2 构造嵌入了变量值的字符串 56
4.2 获取和使用来自环境变量的数据 60
第5章 使用标量值 65
5.1 使用常量和动态变量 66
5.1.1 使用常量 66
5.1.2 使用动态变量 67
5.2 使用类型 68
5.2.1 自动的类型转换 68
5.2.2 手工的类型转换 69
第二部分 编写更高级的PHP程序 83
第6章 编写条件语句 83
6.1 使用True/False值 84
6.2 编写简单的if语句 87
6.3 编写更加复杂的if语句 90
6.4 编写switch、break和default语句 92
6.5 编写for语句 94
6.6 编写while和do while语句 96
第7章 使用函数 106
7.1 使用函数 107
7.2 使用包含文件 108
7.3 定义函数 110
7.3.1 调用用户定义的函数 110
7.3.2 终止函数的执行 111
7.3.3 递归函数 111
7.3.4 定义默认参数 112
7.4 PHP变量和引用 113
7.4.1 使用全局变量 113
7.4.2 使用局部变量和静态变量 114
7.4.3 使用引用(PHP 4) 116
第8章 使用数组 126
8.1 创建数组 127
8.1.1 使用赋值创建数组 127
8.1.2 使用array()函数 128
8.2 在数组内迭代 130
8.2.2 搜索顺序数组 131
8.2.1 在顺序数组内迭代 131
8.2.3 break语句 132
8.2.4 continue语句 133
8.2.5 在非顺序数组内迭代 134
8.3 使用列举函数 136
8.3.1 key()函数 136
8.3.2 each()函数 137
8.3.3 list()函数 138
8.4 对数组排序 139
第9章 使用字符串 145
9.1.1 其他转义序列 146
9.1 创建和显示字符串 146
9.1.2 使用ASCII码 147
9.1.3 单引号字符串 148
9.1.4 创建格式化输出 149
9.2 处理字符串 152
9.2.1 获得字符串的长度 152
9.2.2 去掉字符串中的空白字符 152
9.2.3 将字符串转换为全部大写或全部小写 153
9.3 比较和搜索字符串 154
9.3.1 比较字符串 154
9.3.2 查找和提取子串 156
9.3.3 替换子串 157
9.3.4 匹配字符 158
第三部分 使用存储的数据 169
第10章 使用cookie 169
10.1 访问和创建cookie 170
10.1.1 访问cookie 170
10.1.2 创建cookie 171
10.1.3 删除cookie 172
10.2 高级cookie技术 173
10.2.1 在一个cookie中存储多个值 173
10.2.2 指定对cookie的访问以及其他选项 174
第11章 使用文件和目录 180
11.1 Unix文件系统 181
11.1.1 使用Unix文件 181
11.1.2 使用Unix目录 188
11.2 使用文件 192
11.2.1 所有权和权限问题 192
11.2.2 获得文件的属性 193
11.2.3 更改文件权限 196
11.2.4 更改文件所有权 196
11.2.5 打开文件 197
11.2.6 确认文件操作的完成 198
11.2.7 关闭文件 199
11.2.8 读文件 200
11.2.9 浏览文件 203
11.2.10 写文件 205
11.2.11 获得对文件的独占访问 208
11.2.12 复制文件 211
11.2.13 重命名文件 212
11.2.14 删除文件 213
11.3 使用目录 215
11.3.1 获得和更改工作目录 215
11.3.2 处理路径 216
11.3.3 查看和更改目录权限 217
11.3.4 读取目录内容 217
11.3.5 创建目录 218
11.3.6 删除目录 218
第12章 发送和接收电子邮件 225
12.1 发送电子邮件 226
12.2 接收邮件 231
12.2.1 打开邮箱 231
12.2.2 切换文件夹 233
12.2.3 关闭邮箱 234
12.2.4 获得邮箱的信息 235
12.2.5 获得邮件列表 237
12.2.6 使用邮件ID 238
12.2.7 获得邮件信息 238
12.2.8 获得邮件正文 240
12.2.9 获得邮件头 240
12.2.10 将邮件标记为删除 242
12.3 操作文件夹 250
12.3.1 列出现有的文件夹 250
12.3.2 创建文件夹 250
12.3.3 给文件夹重命名 251
12.3.5 将邮件复制到文件夹中 252
12.3.4 删除文件夹 252
12.3.6 将邮件移入一个文件夹 253
第13章 关系数据库和SQL基础知识 255
13.1 关系数据库的概念 256
13.1.1 关系数据库的结构 256
13.1.2 关系数据库的基本原理 258
13.1.3 帮助共享数据 258
13.1.4 提供数据独立性 258
13.1.5 特殊请求 258
13.1.8 最小化必需的编程技术 259
13.1.9 获得计算的效率 259
13.1.6 组织数据 259
13.1.7 保护数组 259
13.1.10 确定何时使用关系数据库管理系统 260
13.2 数据库的实现 261
13.2.1 数据库的设计 261
13.2.2 E-R模型化 261
13.2.3 数据库标准化 264
13.2.4 E-R模型的优化 267
13.2.5 创建MySQL数据库 268
13.3 访问数据库数据:SQL查询 273
13.4 更改数据库的数据 276
13.5 排序、求和与分组 279
13.6 表达式和函数 281
13.7 连接 285
第四部分 使用高级PHP功能 295
第14章 访问关系数据库 295
14.1 使用MySQL数据库 296
14.1.1 连接到MySQL服务器 296
14.1.2 选择数据库 297
14.1.4 禁止不希望发生的错误和警告出现 298
14.1.3 检查错误 298
14.1.5 关闭与MySQL服务器连接 299
14.2 执行UPDATE、INSERT和DELETE查询 300
14.3 mysql_query()函数 300
14.4 检查不返回表行的查询 301
14.5 使用Auto_Increment表列 302
14.6 处理SELECT查询的结果 303
14.7 使用结果集 307
14.7.2 获得结果集列的名称 308
14.7.3 获得结果集列的长度 308
14.7.1 获得结果集的列数 308
14.7.4 获得与结果集列相关的MySQL标志 309
14.7.5 获得结果集列的MySQL类型 310
14.7.6 确定与结果集列相关的MySQL表 310
14.7.7 获得完整的结果集结构 310
14.7.8 不连续地访问结果集列 312
14.8 研究DBMS 313
14.8.1 确定服务器所存储的数据库 313
14.8.2 确定数据库中包含的表 314
14.8.3 确定表中包含的列 315
14.9.1 神奇的引号 317
14.9 引号和神奇的引号 317
14.9.2 换码与取消换码 318
14.9.3 对HTML文本进行换码 319
14.9.4 对URL进行换码 320
14.10 其他PHP数据管理工具 321
14.10.1 Postgresql 321
14.10.2 ODBC 322
14.10.3 LDAP 322
14.10.4 XML 323
第15章 使用类和对象 331
15.1.1 类 332
15.1 面向对象简介 332
15.1.2 继承 333
15.2 定义和例示一个类 334
15.2.1 例示对象 335
15.2.2 定义构造函数 336
15.3 使用继承 337
15.3.1 重载方法 339
15.3.2 调用重载的方法 340
15.4 对象数组 342
第16章 使用应用程序模板 349
16.1 模板简介 350
16.2 使用模板 351
16.2.1 创建模板文件 351
16.2.2 例示FastTemplate对象 352
16.2.3 将模板变量与模板文件关联在一起 352
16.2.4 为模板变量赋值 353
16.2.5 解析与模板文件相关的模板变量 353
16.2.6 打印包含结果的模板变量 353
16.2.7 构造一个完整的Web站点 353
第17章 调试PHP脚本 359
17.1.1 理解错误 360
17.1 调试和常见的编程错误 360
17.1.2 语法错误 361
17.1.3 运行时错误消息 362
17.1.4 错误或遗漏的输出 363
17.2 PHP中的错误消息管理 364
17.2.1 避免错误消息 365
17.2.2 控制错误消息的使用 365
17.2.3 记录错误消息 366
17.3 调试技巧和实践 368
17.3.1 重现错误征兆 368
17.3.2 查明错误 369
17.3.3 理解错误 370
17.3.4 修复错误 371
17.3.5 测试程序 371
第五部分 附录 377
附录A 各章练习的答案 377
附录B 安装PHP 390
B.1 Red Hat Linux 7.1 391
B.1.1 安装Apache 391
B.1.2 安装PHP 391
B.1.3 安装MySQL 392
B.1.4 安装IMAP 392
B.1.6 启动Apache服务 393
B.1.5 配置MySQL 393
B.1.7 测试安装 394
B.2 其他Linux和Unix软件版本 395
B.3 Windows NT/2000和95/98 395
B.3.1 Apache 396
B.3.2 IIS 396
B.3.3 PWS 396
B.3.4 PHP 396
附录C PHP资源 397
C.1 Web站点 398
C.2 邮件列表 398
C.3 新闻组 399
附录D Unix的基础知识 400
D.1 基本的Unix概念 401
D.1.1 文件 401
D.1.2 目录 402
D.1.3 路径 402
D.1.4 用户账号 403
D.1.5 用户组 404
D.1.6 所有权和权限 404
D.2 基本的Unix技术 405
D.2.1 登录和注销 405
D.2.3 更改密码 406
D.2.2 使用Unix命令 406
D.2.4 看看哪些人已经登录 407
D.2.5 查看主机是否在工作 407
D.2.6 阅读和发送电子邮件 408
D.2.7 更改当前工作目录 408
D.2.8 查看目录的内容 409
D.2.9 查看文件内容和命令输出 410
D.2.10 编辑文件 410
D.2.14 复制文件或目录 411
D.2.13 删除目录 411
D.2.12 删除文件 411
D.2.11 创建目录 411
D.2.15 重命名文件或目录 412
D.2.16 Shell元字符和名称Globbing 412
D.2.17 查阅Unix联机文档 412
D.2.18 报告磁盘空间的使用情况 413
D.2.19 设置文件的所有权 414
D.2.20 设置文件权限 414
D.2.21 查找文件 415
D.2.22 查找包含指定文本的文件 415
D.2.25 使用压缩的文件 416
D.2.23 确定文件类型 416
D.2.24 比较文本文件 416
D.2.26 使用Tarball 417
D.2.27 在远程主机之间传输文件 418
附录E 转义字符 419
附录F ASCII 421
附录G PHP操作符 426
附录H 安全性 429
H.1 安全和风险 430
H.2 对策 431
H.2.1 对用户进行验证和授权 431
H.2.4 正确地配置服务器 432
H.2.5 保护数据库 432
H.2.2 不信任用户输入 432
H.2.3 采取加密措施 432
H.2.6 资源 433
附录I PHP函数 434
I.1 数组函数 435
I.2 拼写函数 438
I.3 日历函数 438
I.4 类/对象函数 439
I.6 日期和时间函数 440
I.5 字符类型函数 440
I.7 目录函数 441
I.8 错误处理和记录函数 442
I.9 文件系统函数 442
I.10 FTP函数 445
I.11 HTTP函数 446
I.12 IMAP、POP3和NNTP函数 447
I.13 邮件函数 451
I.14 数学函数 451
I.15 其他函数 452
I.16 MySQL函数 453
I.17 输出控制函数 456
I.18 PHP选项和信息 457
I.19 程序执行函数 458
I.20 POSIX函数 459
I.21 POSIX扩展的常规表达式函数 460
I.22 会话处理函数 460
I.23 字符串函数 461
I.24 URL函数 465
I.25 变量函数 466