第1章 简介 1
1.1 从静态到动态站点 1
1.1.1 静态Web站点 1
1.1.2 动态Web站点 2
1.1.3 什么是开放源码 3
1.2 关于PHP 3
1.3 关于MySQL 6
1.3.1 在哪里获得MySQL和文档 6
1.3.2 MySQL特性 7
1.3.3 如何安装MySQL和PHP 7
1.3.4 MySQL和PHP的优点 8
1.4 本章小结 9
1.4.1 应该掌握的内容 9
1.4.2 下一步 9
第2章 入门 10
2.1 Web页面的生存周期 10
2.2 PHP脚本剖析 11
2.3 需要考虑的一些事情 16
2.3.1 PHP和HTML是不同的语言 16
2.3.2 语句、空白和换行 17
2.3.3 注释 19
2.3.4 使用PHP函数 21
2.4 复习 24
2.4.1 在命令行运行PHP 24
2.4.2 确定PHP的版本 25
2.4.3 在命令行执行脚本 25
2.4.4 以交互方式运行PHP 26
2.4.5 命令行PHP的选项 26
2.4.6 Php.ini文件 27
2.5 本章小结 29
2.5.1 应该掌握的内容 29
2.5.2 下一步 29
第3章 PHP快速入门 31
3.1 快速入门、快速参考 31
3.1.1 对于程序员 31
3.1.2 对于非程序员 31
3.1.3 PHP语法和结构 31
3.2 本章小结 44
第4章 构件:数据类型、文字、变量和常数 45
4.1 数据类型 45
4.1.1 数值 46
4.1.2 字符串 47
4.1.3 布尔值 52
4.1.4 特殊数据类型 52
4.2 变量 54
4.2.1 定义和赋值 54
4.2.2 变量名 54
4.2.3 变量声明和初始化 55
4.2.4 显示变量 57
4.2.5 变量和混合数据类型 60
4.2.6 串接和变量 61
4.2.7 引用 62
4.2.8 可变变量(动态变量) 63
4.2.9 变量的作用域 64
4.2.10 管理变量 65
4.2.11 表单变量简介 69
4.3 常数 76
4.3.1 常数是什么 76
4.3.2 利用define()函数创建常数 76
4.3.3 constant()函数 77
4.3.4 预定义常数和一些“神奇”常数 78
4.4 本章小结 79
4.4.1 应该掌握的内容 79
4.4.2 下一步 80
第5章 操作符 82
5.1 关于PHP操作符和表达式 82
5.1.1 赋值 83
5.1.2 优先与结合 83
5.1.3 算术操作符 86
5.1.4 短路赋值操作符 87
5.1.5 自动增量和自动减量操作符 88
5.1.6 一些常用数学函数 90
5.1.7 强制转化操作符 91
5.1.8 串接操作符 93
5.1.9 比较操作符 94
5.1.10 数字比较 96
5.1.11 比较字符串 97
5.1.12 逻辑操作符 98
5.1.13 条件操作符 106
5.1.14 比特操作符 108
5.1.15 执行操作符 110
5.1.16 错误控制操作符 111
5.1.17 类型操作符 112
5.2 本章小结 112
5.2.1 应该掌握的内容 112
5.2.2 下一步 113
第6章 字符串 114
6.1 字符串是什么 114
6.1.1 引号 115
6.1.2 字符串操作符 117
6.2 字符串函数 119
6.2.1 字符串的格式化和显示 119
6.2.2 数字和货币的格式化 123
6.2.3 字符串长度 124
6.2.4 字符串里的单词数量 125
6.2.5 改变字符串大小写 126
6.2.6 字符串比较 128
6.2.7 字符串相似性 133
6.2.8 分解字符串 137
6.2.9 重复字符串 138
6.2.10 字符串剪裁与填充 139
6.2.11 查找和替换 142
6.2.12 字符定位 145
6.2.13 提取字符串片断——子串 146
6.2.14 特殊字符和字符串 153
6.2.15 处理HTML特殊字符 161
6.3 其他字符串函数 164
6.4 本章小结 167
6.4.1 应该掌握的内容 167
6.4.2 下一步 167
第7章 条件与循环 169
7.1 控制结构、语句块和复合语句 169
7.2 循环 177
7.2.1 while循环 177
7.2.2 do/while循环 179
7.2.3 for循环 180
7.2.4 foreach循环 183
7.2.5 用break和continue控制循环 183
7.3 本章小结 187
7.3.1 应该掌握的内容 187
7.3.2 下一步 187
第8章 数组 190
8.1 什么是数组 190
8.1.1 创建和命名数组 193
8.1.2 访问数组的元素(值) 197
8.1.3 显示数组内容 201
8.1.4 利用循环访问数组元素 204
8.1.5 检查数组是否存在 210
8.1.6 从数组创建字符串和从字符串创建数组 212
8.1.7 数组的大小 214
8.1.8 从数组提取关键字和值 216
8.1.9 从数组元素创建变量 221
8.1.10 多维数组 226
8.1.11 数组排序 230
8.1.12 随机处理数组 237
8.2 修改数组(清除、删除、添加和改变元素) 240
8.2.1 删除数组及其元素 241
8.2.2 向数组添加元素 244
8.2.3 拷贝数组的元素 248
8.2.4 结合与合并数组 250
8.2.5 数组操作符 254
8.2.6 其他数组函数 257
8.3 本章小结 260
8.3.1 应该掌握的内容 260
8.3.2 下一步 261
第9章 自定义函数 262
9.1 什么是函数 262
9.1.1 函数声明、定义和调用 263
9.1.2 传递变元 265
9.1.3 返回值 273
9.1.4 使用回调函数 279
9.1.5 作用域 282
9.1.6 嵌套函数 286
9.1.7 递归函数 288
9.1.8 函数库——要求与包含 290
9.2 本章小结 293
9.2.1 应该掌握的内容 293
9.2.2 下一步 294
第10章 PHP表单 295
10.1 简介 295
10.2 复习HTML表单 295
10.2.1 浏览器担当的角色 295
10.2.2 服务器担当的角色 298
10.2.3 创建HTML表单 299
10.3 PHP与表单 303
10.3.1 register_globals指令 304
10.3.2 使用超全局数组获取表单数据 305
10.3.3 请求方法 306
10.3.4 表单字段名称及用户输入里的怪字符 306
10.3.5 表单参数:$_REQUEST数组 308
10.3.6 表单参数和中样式 311
10.3.7 表单参数和长(旧)样式 316
10.3.8 处理具有多选项的表单 317
10.3.9 使用图像按钮的表单 320
10.3.10 自处理HTML表单 322
10.3.11 使用隐藏字段 324
10.3.12 用户的重定向 326
10.3.13 上传文件 329
10.3.14 粘性表单 333
10.3.15 何处获取关于超全局数组的信息 337
10.3.16 如何获取服务器信息 337
10.3.17 如何获取环境的信息 340
10.4 本章小结 341
10.4.1 应该掌握的内容 341
10.4.2 下一步 342
第11章 文件和目录 344
11.1 文件 344
11.1.1 文件权限和所有权 344
11.1.2 UNIX/Linux权限 344
11.1.3 Windows权限 346
11.2 Web服务程序、PHP和权限 348
11.2.1 PHP内置函数 348
11.2.2 文件句柄 349
11.2.3 打开文件 350
11.2.4 打开文件进行读取 351
11.2.5 文件指针的定位 358
11.2.6 打开URL进行读取 361
11.2.7 不使用文件名称读取文件内容 362
11.2.8 打开文件进行写入和添加 367
11.2.9 文件检查 371
11.2.10 创建、拷贝、重命名和删除文件 375
11.3 目录 376
11.3.1 打开和读取目录 377
11.3.2 获取路径信息 378
11.3.3 改变和获取当前目录 379
11.4 利用包含文件管理内容 380
11.5 本章小结 385
11.5.1 应该掌握的内容 386
11.5.2 下一步 386
第12章 正则表达式和式样匹配 387
12.1 什么是正则表达式 387
12.2 式样匹配函数 388
12.2.1 查找式样 389
12.2.2 查找和替换 394
12.2.3 获得控制——正则表达式元字符 403
12.2.4 在文本文件里查找式样 431
12.2.5 利用PHP实现表单检验 433
12.2.6 获取Web上的帮助 438
12.3 本章小结 439
12.3.1 应该掌握的内容 439
12.3.2 下一步 440
第13章 MySQL简介 442
13.1 关于数据库 442
13.1.1 客户端/服务器数据库 443
13.1.2 与数据库通信 443
13.1.3 MySQL的优缺点 443
13.2 剖析关系型数据库 444
13.2.1 数据库服务程序 445
13.2.2 数据库 445
13.2.3 表 446
13.2.4记录和字段 446
13.2.5 主键和索引 448
13.2.6 数据库规划 448
13.3 连接到数据库 449
13.3.1 MySQL命令行选项 450
13.3.2 图形用户工具 452
13.4 MySQL授权系统 455
13.4.1 登录到数据库服务程序 455
13.4.2 查找数据库 456
13.4.3 “user”表 457
13.4.4 “db”表 458
13.4.5 “host”表 459
13.4.6 实际范例 460
13.4.7 Grant与Revoke命令 461
13.4.8 创建和清除数据库 462
13.4.9 一些有用的MySQL函数 463
13.5 本章小结 464
13.5.1 应该掌握的内容 464
13.5.2 下一步 465
第14章 SQL语言指南 466
14.1 SQL是什么 466
14.1.1 SQL的标准化 466
14.1.2 执行SQL语句 467
14.1.3 关于SQL命令/查询 468
14.1.4 SQL与数据库 470
14.1.5 SQL数据库表 471
14.2 SQL数据操作语言(DML) 473
14.2.1 SELECT命令 474
14.2.2 INSERT命令 484
14.2.3 UPDATE命令 484
14.2.4 DELETE语句 485
14.3 SQL数据定义语言 486
14.3.1 创建数据库 486
14.3.2 SQL数据类型 487
14.3.3 创建表 488
14.3.4 创建关键字 490
14.3.5 关系 492
14.3.6 改变表 495
14.3.7 删除表 496
14.3.8 删除数据库 496
14.4 SQL函数 496
14.4.1 数值函数 497
14.4.2 字符串函数 499
14.4.3 日期和时间函数 500
14.5 本章小结 503
14.5.1 应该掌握的内容 503
14.5.2 下一步 504
第15章 PHP与MySQL的集成 507
15.1 导言 507
15.1.1 连接到数据库服务程序 507
15.1.2 选择数据库 509
15.1.3 执行SQL语句(INSERT、UPDATE、DELETE) 510
15.1.4 获取查询结果(SELECT) 512
15.1.5 其他常用MySQL函数 515
15.2 留言簿范例 520
15.2.1 第1步:设计数据库 520
15.2.2 第2步:创建消息页面 521
15.2.3 第3步:列出全部消息 524
15.2.4 范例小结 525
15.3 本章小结 526
15.3.1 应该掌握的内容 526
15.3.2 下一步 526
第16章 Cookie和会话 528
16.1 什么是无状态 528
16.2 什么是Cookie 528
16.2.1 Cookie的成分 529
16.2.2 Cookie的属性 530
16.3 PHP与Cookie 531
16.3.1 使用setcookie()函数创建Cookie 531
16.3.2 利用Cookie追踪用户 536
16.3.3 延长Cookie的生命 539
16.3.4 缓存与HTTP头标 540
16.3.5 删除Cookie 543
16.4 什么是会话 544
16.4.1 在哪里保存会话 546
16.4.2 启动基于Cookie的会话 548
16.4.3 注册会话 549
16.4.4 在会话里保存数组 551
16.4.5 会话Cookie函数和配置选项 554
16.4.6 利用会话设置偏爱 555
16.4.7 命名会话 560
16.4.8 没有Cookie的会话 562
16.4.9 利用链接传递会话ID 565
16.4.10 修改会话ID 569
16.4.11 终止会话 570
16.4.12 会话运行时间配置 572
16.4.13 利用会话实现一个登录系统 573
16.5 本章小结 577
16.5.1 应该掌握的内容 577
16.5.2 下一步 578
第17章 对象 579
17.1 什么是对象? 579
17.2 使用类 580
17.2.1 定义类 580
17.2.2 类的实例化 581
17.2.3 创建一个完整的类 584
17.2.4 显示一个对象 586
17.2.5 获取类信息的函数 587
17.2.6 封装和信息隐藏 587
17.2.7 类成员和作用域 588
17.2.8 特殊方法 590
17.2.9 继承 598
17.2.10 覆盖方法 601
17.2.11 访问受保护的成员 602
17.3 PHP 5的一些对象特性 605
17.3.1 final类和方法 605
17.3.2 静态成员 606
17.3.3 类常数 607
17.3.4 类的重用 608
17.4 本章小结 612
附录A 建立一个艺术图库 614
A.1 项目概述 614
A.2 公共和私有 614
A.3 创建Web站点 615
A.3.1 创建数据库 615
A.3.2 管理页面 616
A.3.3 公共页面 625
A.3.4 利用登录保护页面 631
A.4 安装艺术画廊站点 632
A.4.1 Canvas Gallery站点的文件在哪里 632
A.4.2 安装MySQL数据库 632
A.4.3 编辑PHP页面 634
A.5 小结 634
附录B PHP与电子邮件 635
B.1 邮件服务程序 635
B.2 MIME(多用途互联网邮件扩展) 636
B.3 运行时间配置选项 636
B.4 mail()函数 636
B.5 发送一个简单的电子邮件消息 637
B.6 范例:发送一个HTML消息 638
附录C PHP与日期/时间 643
C.1 格式化日期和时间 643
C.1.1 date()函数 643
C.1.2 strftime()函数 645
C.2 获取时标 647
C.2.1 time()函数 647
C.2.2 mktime()函数 648
C.2.3 从字符串创建UNIX时标 650
C.3 获取日期和时间 651
附录D 安全与调试 655
D.1 关于安全 655
D.1.1 网络安全与SSL 655
D.1.2 操作系统、Web服务程序和文件系统的安全 656
D.2 保护PHP和MySQL 656
D.3 调试 661
D.3.1 启动错误报告 661
D.3.2 首先纠正解析错误 662
D.3.3 用于调试的显示语句 662
D.3.4 纠正SQL错误 665
D.3.5 更多调试技巧 666
附录E 安装过程 667
E.1 关于Web服务程序 667
E.2 在Windows上安装Apache 667
E.3 在Windows上安装PHP 668
E.4 在Linux/UNIX上安装PHP 669
E.5 在MacOSX上安装PHP 669
E.6 配置Apache使用PHP模块(各种平台) 669
E.7 配置php.ini(各种平台) 670
E.8 在Windows上安装MySQL 671
E.9 在Linux/UNIX上安装MySQL 671
E.10 在MacOSX上安装MySQL 672
E.11 阅读手册 672