第1篇 入门篇 1
第1章 PHP基础 1
1.1 概述 1
1.1.1 PHP 4.0和PHP 5.0 1
1.1.2 PHP的特性 3
1.1.3 PHP的环境需求 5
1.1.4 PHP的数据库集成功能 5
1.2 安装支持软件 6
1.2.1 下载Apache和PHP 6
1.2.2 安装Apache和PHP 10
1.2.3 测试PHP环境 12
1.2.4 Windows下扩展PHP 13
1.2.5 常见错误 13
1.2.6 查看并下载文档 14
1.3 配置环境 17
1.3.1 管理PHP的配置指令 17
1.3.2 PHP的配置指令 18
1.4 一个简单的PHP例子 22
第2章 PHP基础语法 24
2.1 PHP脚本基础 24
2.1.1 嵌入PHP代码 24
2.1.2 注释 27
2.1.3 输出 28
2.2 数据类型 30
2.2.1 标量数据类型 30
2.2.2 复合数据类型 32
2.2.3 特殊数据类型 33
2.2.4 类型强制转换 33
2.2.5 类型自动转换 34
2.2.6 与类型有关的函数 35
2.2.7 类型标识符函数 35
2.3 变量 36
2.3.1 变量的命名 37
2.3.2 创建变量 37
2.3.3 变量作用域 38
2.3.4 可变变量 39
2.4 常量 40
2.5 表达式 41
2.5.1 操作数 41
2.5.2 操作符 42
2.6 控制结构 46
2.6.1 条件语句 46
2.6.2 循环语句 48
2.6.3 break和continue语句 49
2.6.4 文件包含语句 49
第3章 函数 51
3.1 调用函数 51
3.2 用户自定义函数 52
3.2.1 创建函数 52
3.2.2 按值传递参数 53
3.2.3 按引用传递参数 55
3.2.4 默认参数值 56
3.2.5 可选参数 56
3.2.6 从函数返回值 57
3.2.7 嵌套函数 58
3.2.8 递归函数 59
3.2.9 变量函数 60
3.3 函数库 61
3.3.1 Math数学函数 61
3.3.2 日期/时间函数 62
3.3.3 自定义函数库 64
第4章 数组 66
4.1 初识数组 66
4.1.1 什么是数组 66
4.1.2 创建数组 67
4.1.3 输出及测试数组 68
4.2 管理数组 70
4.2.1 增加和删除数组元素 70
4.2.2 定位数组元素 72
4.2.3 确定数组大小和唯一性 74
4.3 数组应用 76
4.3.1 遍历数组 76
4.3.2 数组排序 78
4.3.3 合并、拆分、接合和分解数组 82
4.3.4 其他数组函数 87
4.4 PHP和HTML表单 91
4.4.1 HTML表单Get和Post 91
4.4.2 获取表单提交数据 91
第5章 面向对象的PHP 97
5.1 OOP特性 97
5.1.1 封装 97
5.1.2 继承 98
5.1.3 多态 98
5.2 关键的OOP概念 99
5.2.1 类和对象 99
5.2.2 字段 100
5.2.3 属性 103
5.2.4 常量 105
5.2.5 方法 106
5.3 构造函数和析构函数 109
5.3.1 构造函数 109
5.3.2 析构函数 111
5.4 新增OOP特性 112
5.4.1 类型提示 112
5.4.2 静态类成员 113
5.4.3 instanceof关键字 114
5.4.4 自动加载对象 114
5.5 类/对象函数 115
第6章 高级OOP特性 119
6.1 PHP不支持的高级OOP特性 119
6.2 对象克隆 120
6.2.1 克隆 120
6.2.2 __clone()方法 122
6.3 继承 123
6.3.1 类继承 123
6.3.2 继承和构造函数 124
6.4 接口 125
6.4.1 实现一个接口 125
6.4.2 实现多个接口 127
6.5 抽象类 128
6.6 反射 130
6.6.1 编写ReflectionClass类 130
6.6.2 编写ReflectionMethod类 132
6.6.3 编写ReflectionParameter类 134
6.6.4 编写ReflectionProperty类 135
6.6.5 编写ReflectionExtension类 136
6.7 对象的引用 137
6.8 对象的比较 138
第7章 错误和异常处理 140
7.1 配置指令 140
7.2 错误日志 142
7.3 异常处理 144
7.3.1 异常处理原因 144
7.3.2 实现异常处理 145
第8章 字符串和正则表达式 151
8.1 复杂(大括号)偏移语法 151
8.2 正则表达式 152
8.2.1 简介 152
8.2.2 POSIX正则表达式语法 153
8.2.3 POSIX正则表达式函数 156
8.2.4 Perl正则表达式语法 159
8.2.5 Perl正则表达式函数 161
8.3 普通字符串函数 165
8.3.1 获取字符串长度 165
8.3.2 字符串比较 166
8.3.3 字符串大小写转换 167
8.3.4 字符串与HTML相互转换 168
8.3.5 正则表达式函数的替代函数 171
8.3.6 填充和剔除字符串 175
8.3.7 字符和单词计数 176
第2篇 提高篇 179
第9章 处理文件和操作系统 179
9.1 了解文件和目录 179
9.1.1 解析目录路径 179
9.1.2 文件类型和连接 181
9.1.3 计算文件、目录和磁盘大小 184
9.1.4 访问和修改时间 187
9.2 文件所有权和权限 188
9.3 文件I/O 191
9.3.1 文件I/O基本概念 191
9.3.2 打开和关闭文件 192
9.3.3 读取文件 193
9.3.4 移动文件指针 197
9.3.5 写入文件 198
9.3.6 读取目录内容 200
9.4 执行Shell命令 201
9.5 系统级程序执行 203
9.5.1 清理输入 203
9.5.2 PHP的程序执行函数 203
第10章 MySQL数据库 206
10.1 MySQL应用基础 206
10.1.1 安装配置MySQL 206
10.1.2 登录到数据库 209
10.1.3 修改用户密码 210
10.1.4 MySQL的权限管理 211
10.1.5 管理用户 215
10.1.6 数据类型 215
10.1.7 管理数据库 218
10.1.8 管理表 220
10.1.9 创建索引 223
10.1.10 备份数据库 227
10.1.11 恢复数据库 228
10.2 使用MySQL数据库 229
10.2.1 插入数据 229
10.2.2 查询数据 231
10.2.3 编辑记录 232
10.2.4 删除记录 233
10.3 MySQL的高级应用 235
10.3.1 事务 235
10.3.2 存储过程 241
10.4 使用MySQL Administrator管理数据库 246
10.5 使用phpMyAdmin管理数据库 248
第11章 PHP和数据访问 250
11.1 准备工作 250
11.2 连接MySQL数据库 251
11.2.1 建立连接 251
11.2.2 单独存放连接文件 254
11.2.3 选择数据库 254
11.3 数据库基本操作 255
11.3.1 执行SQL语句 255
11.3.2 获取和显示数据 257
11.3.3 插入数据 262
11.3.4 删除数据 264
11.3.5 修改数据 265
11.4 数据库高级操作 268
11.4.1 获取报错消息 268
11.4.2 获取数据库和表信息 269
11.4.3 获取字段信息 271
11.4.4 辅助函数 275
11.5 PHP的MySQLI扩展 276
11.5.1 MySQLI的启用和使用 276
11.5.2 MySQLI查询 278
11.5.3 多个查询 279
11.5.4 准备语句 280
11.5.5 事务处理 282
11.6 PHP使用ODBC数据源 283
11.6.1 连接指定数据库 284
11.6.2 执行数据库操作 285
第12章 PEAR 287
12.1 PEAR概述 287
12.2 PEAR管理器安装和更新 289
12.2.1 PEAR管理器安装 289
12.2.2 PEAR管理器更新 291
12.3 使用PEAR管理器 291
12.3.1 查看PEAR安装包 291
12.3.2 升级PEAR包 292
12.3.3 安装PEAR包 293
12.3.4 删除PEAR包 295
12.3.5 测试PEAR包 295
12.4 常用PEAR包 296
12.4.1 使用HTML_QuickForm 296
12.4.2 使用Calendar创建日历 300
12.4.3 使用AUTH_HTTP认证 302
12.4.4 使用HTTP_Upload上传 303
第13章 Cookie和会话 307
13.1 Cookie概述 307
13.1.1 基本操作 307
13.1.2 Cookie如何工作 309
13.1.3 控制Cookie的有效性 310
13.1.4 删除Cookie 313
13.1.5 Cookie数组 313
13.1.6 把什么放到Cookie中 314
13.2 会话 315
13.2.1 基本用法 315
13.2.2 配置PHP的会话 316
13.2.3 如何传输会话ID 319
13.2.4 使用会话存储数据 320
13.2.5 页面缓存 321
13.2.6 破坏会话 323
13.2.7 会话存储如何工作 324
13.3 会话的安全性 325
13.3.1 获得会话ID 325
13.3.2 限制泄密的会话ID造成的损害 326
13.4 会话实例 329
13.4.1 Cookie的使用 329
13.4.2 Session的使用 331
第14章 用户身份验证 334
14.1 Web服务器提供的身份验证 334
14.1.1 基本的HTTP身份验证 334
14.1.2 PHP身份验证 335
14.2 实现用户的身份验证 339
14.2.1 配置数据库来处理登录 339
14.2.2 添加新的用户 341
14.2.3 登录用户 344
14.2.4 更新需要用户登录的页面 347
14.2.5 注销用户 349
14.2.6 删除用户 352
第15章 PHP和XML 357
15.1 XML 357
15.1.1 XML概述 357
15.1.2 XML优点 359
15.1.3 XML文档的结构 359
15.1.4 命名空间 362
15.1.5 DTD 364
15.1.6 相关技术 371
15.2 在PHP中处理XML 372
15.2.1 解析方法比较 372
15.2.2 使用DOM接口 373
15.2.3 使用SimpleXML处理XML 378
15.3 客户端处理XML 381
第3篇 实践篇 383
第16章 聊天室设计 383
16.1 系统概述 383
16.2 用户注册页面 384
16.3 用户登录页面 388
16.4 聊天室的主页面 393
16.5 显示聊天内容页面 395
16.6 显示在线用户列表页面 395
16.7 输入聊天内容页面 396
16.8 聊天室注销页面 399
第17章 留言板 403
17.1 系统及数据库设计 403
17.2 留言主页面 404
17.3 添加留言页面 407
17.4 显示留言页面 409
17.5 显示全部留言页面 411
17.6 删除留言 413
第18章 会员管理系统 418
18.1 系统整体设计 418
18.2 数据库设计 419
18.3 注册模块 421
18.3.1 注册页面 421
18.3.2 注册处理页面 423
18.3.3 测试注册模块 426
18.4 查询模块 427
18.4.1 查询页面 427
18.4.2 查询信息处理页面 429
18.4.3 测试查询模块 434
18.5 显示模块 435
18.6 会员中心模块 437
18.6.1 用户登录与注销 437
18.6.2 会员个人信息修改 442
18.6.3 退出协会及扩展功能 444
18.7 管理模块 446
18.7.1 管理会员验证状态 446
18.7.2 提升会员为管理员 448
18.7.3 删除会员 449
18.8 系统首页实现 450
18.8.1 顶部模块 451
18.8.2 右部模块 452
18.8.3 主体和底部模块 453
18.8.4 其他通用文件 456
第19章 投票管理系统 458
19.1 系统概述 458
19.2 数据库实现 459
19.3 首页 460
19.3.1 实现公共代码 460
19.3.2 实现首页 461
19.4 投票统计模块 466
19.4.1 实现统计显示页面 466
19.4.2 实现统计页面 469
19.5 投票管理模块 471
19.5.1 实现管理显示页面 471
19.5.2 删除操作 473
19.5.3 修改操作 474
19.5.4 追加操作 476
19.5.5 选项操作 478
19.5.6 查看操作 482
19.6 选项管理模块 483
19.6.1 选项管理显示页面 483
19.6.2 投票项目添加页面 484
19.6.3 选项添加显示页面 485
19.6.4 选项添加页面 486
19.7 投票模块 487
19.7.1 投票项目选择页面 487
19.7.2 投票选项显示页面 490
19.7.3 获取投票人信息页面 491
19.7.4 投票页面 493
19.8 显示当前日期 494
第20章 图书管理系统 497
20.1 系统实现 497
20.2 数据库设计 498
20.3 会员管理模块 499
20.3.1 通用文件conn.php 499
20.3.2 图书库存情况查询 500
20.3.3 用户借阅情况查询 507
20.3.4 测试会员管理模块 509
20.4 图书入库模块 511
20.4.1 新书入库页面 511
20.4.2 提交处理页面 512
20.4.3 测试图书入库模块 514
20.5 图书管理模块 515
20.5.1 图书信息修改 515
20.5.2 图书删除 519
20.5.3 测试图书管理模块 521
20.6 图书借阅模块 521
20.6.1 借阅图书页面 522
20.6.2 借阅处理页面 524
20.6.3 测试图书借阅模块 526
20.7 图书归还模块 526
20.7.1 图书归还页面 526
20.7.2 归还处理页面 528
20.7.3 测试图书归还模块 531
第21章 产品进销存管理系统 532
21.1 系统概述 532
21.2 数据库设计 533
21.3 首页 535
21.3.1 实现公共代码 535
21.3.2 编写首页代码 536
21.4 产品购入模块 539
21.4.1 产品录入页面 539
21.4.2 产品进货查询 541
21.5 产品销售模块 546
21.5.1 结账销售 546
21.5.2 日结算 551
21.5.3 月结算 553
21.6 产品库存管理模块 554
21.6.1 库存盘点 554
21.6.2 库存查询 557
21.7 用户管理模块 559
21.7.1 用户登录 559
21.7.2 用户注册 561
21.7.3 用户资料修改 563
21.7.4 用户管理 565
21.7.5 联系我们页面 569