第1篇 PHP基础 3
第1章 初识PHP 3
1.1 关于静态网页与动态网页 4
1.1.1 传统的静态网页HTML 4
1.1.2 动态网页与传统网页的区别 4
1.2 关于PHP 5
1.2.1 什么是PHP 5
1.2.2 PHP的发展历史 5
1.2.3 PHP与其他CGI程序相比较 6
1.3 第1个程序——HELLO WORLD! 6
1.3.1 在页面中加入PHP代码 7
1.3.2 在PHP页中加入注释 8
1.3.3 文件的引用 8
1.4 本章小结 9
第2章 PHP的开发环境及安装 11
2.1 Windows平台下Apache的安装 12
2.2 PHP解释器的安装 14
2.3 MySQL的安装 15
2.3.1 MySQL的安装 15
2.3.2 MySQL的配置 16
2.3.3 修改php.ini以支持MySQL 17
2.4 安装phpMyAdmin 17
2.5 EditPlus的安装 18
2.6 本章小结 19
第2篇 PHP核心技术 23
第3章 PHP中的常量与变量 23
3.1 PHP中常量的定义与使用 24
3.1.1 定义使用常量 24
3.1.2 PHP中的预定义常量 25
3.2 PHP中的变量 26
3.2.1 PHP的变量类型 26
3.2.2 转换变量类型 27
3.2.3 变量的使用范围 28
3.3 PHP的预定义变量 28
3.4 PHP中的数组型变量 29
3.4.1 数组变量的初始化 29
3.4.2 获取数组中的元素 30
3.4.3 给数组动态增加元素 31
3.4.4 创建多维数组 32
3.5 本章小结 34
第4章 PHP中的运算符与表达式 35
4.1 运算符 36
4.1.1 四则运算符 36
4.1.2 逻辑运算符 36
4.1.3 三目运算符 37
4.1.4 运算符的优先级 38
4.2 表达式 40
4.2.1 表达式中变量的可能值 40
4.2.2 赋值表达式的值 40
4.2.3 递增表达式 41
4.2.4 比较表达式 41
4.2.5 组合的运算赋值表达式 42
4.3 运算符与表达式综合运用实例 42
4.4 本章小结 43
第5章 PHP中的流程控制 45
5.1 if…else判断 46
5.1.1 简单的if判断 46
5.1.2 if…else判断 47
5.1.3 if…else…else多重判断 47
5.2 switch…case多重判断 49
5.3 while循环 50
5.3.1 单纯while判断循环 50
5.3.2 使用break跳出循环 51
5.3.3 使用continue语句 52
5.4 do…while循环 53
5.5 for循环 54
5.6 流程控制综合运用实例 55
5.7 本章小结 56
第6章 PHP中的函数 57
6.1 什么是函数 58
6.2 函数的参数 59
6.3 函数的返回值 61
6.4 PHP内部函数的使用 63
6.5 PHP加载外部函数 64
6.6 自定义函数 66
6.6.1 如何自定义函数 66
6.6.2 使用自定义函数 67
6.6.3 函数的动态调用 68
6.6.4 函数的递归 69
6.7 本章小结 70
第7章 PHP的数据处理 71
7.1 怎样判断数据类型 72
7.2 PHP中常用的数学函数 74
7.2.1 数学计算函数 74
7.2.2 数学三角函数 76
7.2.3 很有用的最值函数 78
7.2.4 产生随机数函数 80
7.2.5 进制转换函数 81
7.2.6 其他数学函数 84
7.3 PHP中常用的字符串函数 85
7.3.1 取得字符串长度 85
7.3.2 输出字符串 86
7.3.3 截取字符串 88
7.3.4 按特定字符切开字符串 89
7.3.5 去除字符串中的特殊符号 91
7.3.6 转换字符串中的特殊符号为HTML标记 92
7.3.7 加入去掉斜线 93
7.3.8 两个字符串的比较 93
7.3.9 改变字符串的大小写 95
7.3.10 其他常用字符串函数 96
7.4 PHP中常用的数组函数 96
7.4.1 新建一个数组 97
7.4.2 计算数组的元素个数 98
7.4.3 对数组排序及逆排序 99
7.4.4 对数组进行自定义排序 101
7.4.5 移动数组指针 103
7.4.6 获取数组当前元素 104
7.4.7 移去数组中重复的值 104
7.4.8 计算数组中所有值出现的次数 105
7.4.9 合并多个数组 107
7.4.10 其他常用数组函数 109
7.5 本章小结 109
第8章 PHP文件应用 111
8.1 判断文件是否存在 112
8.2 访问文件属性 112
8.3 打开文件 114
8.3.1 用只读方式打开文件 114
8.3.2 用写入方式打开文件 114
8.3.3 用读写方式打开文件 115
8.4 读取文件内容 116
8.4.1 读取文件相应字符 116
8.4.2 按行返回文件内容 117
8.4.3 按行返回文件内容去除HTML标记 118
8.4.4 将整个文件内容读入到数组变量中 119
8.5 删除文件 120
8.6 创建目录 120
8.7 删除目录 121
8.8 浏览目录下的文件 122
8.9 关于文件上传 123
8.10 文件操作综合实例:在线相册 126
8.10.1 系统功能 126
8.10.2 相册系统首页面 126
8.10.3 相册系统上传前台页面 128
8.10.4 相册系统上传后台页面 130
8.10.5 相册系统浏览图片详细信息页面 131
8.10.6 相册系统图片删除页面 132
8.10.7 测试相册系统 134
8.11 本章小结 137
第9章 用PHP获取主机信息 139
9.1 phpinfo()的使用 140
9.2 浏览器相关操作 140
9.2.1 获取访问者浏览器信息 141
9.2.2 获取访问者的IP地址 142
9.3 日期时间相关函数 142
9.3.1 检查日期的合法性 142
9.3.2 格式化输出当前日期 143
9.3.3 获得时间及日期信息 145
9.4 本章小结 146
第10章 PHP中的图像处理 147
10.1 图像函数 148
10.1.1 访问图像的属性 148
10.1.2 使用GD库函数 149
10.2 图像使用实战 154
10.2.1 使用GD库函数创建图像 154
10.2.2 创建图形并在上面画图 155
10.2.3 绘制几何图形更多的探索 156
10.2.4 使用GD库函数在图片上写字 158
10.2.5 使用GD库函数绘制直方统计图 159
10.2.6 用GD库函数创建图像的缩略图 161
10.3 本章小结 162
第11章 PHP中的Session与Cookie 163
11.1 Session的使用 164
11.1.1 如何使用Session 164
11.1.2 Session使用实例 166
11.1.3 使用Session的注意事项 166
11.2 Cookie的使用 167
11.2.1 为什么使用Cookie 167
11.2.2 怎样使用Cookie 168
11.2.3 设置Cookie生命期 169
11.2.4 Cookie综合应用实例——网页风格转换 170
11.3 本章小结 176
第12章 PHP中正则表达式的使用 177
12.1 关于正则表达式 178
12.1.1 什么是正则表达式 178
12.1.2 如何使用模式匹配 180
12.2 POSIX扩展的正则表达式函数 183
12.2.1 替换字符串 183
12.2.2 匹配字符串 185
12.2.3 替换字符串(忽略大小写) 187
12.2.4 匹配字符串(忽略大小写) 187
12.2.5 分割字符串到数组 188
12.2.6 分割字符串到数组(忽略大小写) 190
12.2.7 返回包含指定字符的正则表达式 191
12.3 Perl兼容的正则表达式函数 192
12.3.1 Perl兼容正则表达式的使用规范 192
12.3.2 返回匹配数组 193
12.3.3 全局表达式匹配 194
12.3.4 正则表达式匹配 196
12.3.5 转义正则表达式字符 197
12.3.6 用回调函数实现正则表达式的搜索与替换 198
12.3.7 执行正则表达式的搜索与替换 199
12.3.8 用正则表达式分割字符串 201
12.4 正则表达式使用实例 202
12.4.1 构造检查E-mail的正则表达式 202
12.4.2 对图像UBB代码进行替换 203
12.5 本章小结 205
第13章 PHP面向对象编程 207
13.1 面向对象编程(OOP)基础 208
13.1.1 什么是类(class) 208
13.1.2 为什么要用到类 209
13.2 在PHP中创建和使用类 209
13.2.1 自建类——类的封装 209
13.2.2 为类添加属性 212
13.2.3 为类添加方法 213
13.2.4 类的继承 215
13.2.5 类的重载 216
13.2.6 类的引用 218
13.2.7 类的构造函数 219
13.3 PHP中与类、对象相关的函数 220
13.4 类的具体使用实例 230
13.5 本章小结 232
第14章 使用MySQL数据库 233
14.1 关系型数据库基础 234
14.1.1 什么是关系型数据库 234
14.1.2 关系型数据库的功能 234
14.2 PHP中与MySQL数据库相关的函数 234
14.3 数据库操作 242
14.3.1 连接MySQL服务器 242
14.3.2 连接到服务器并显示可用数据库 243
14.3.3 在服务器上创建新的数据库 244
14.3.4 在选定数据库里创建表 245
14.3.5 如何删除已经存在的库和表 247
14.4 对MySQL表进行操作 250
14.4.1 执行INSERT INTO语句插入记录 250
14.4.2 执行SELECT查询 252
14.4.3 使用表单扩展添加记录功能 253
14.4.4 执行UPDATE语句更新记录 256
14.4.5 使用表单扩展更改记录功能 258
14.4.6 执行DELETE语句删除记录 262
14.4.7 执行ALTER TABLE语句改变表的结构 263
14.5 对MySQL表的高级查询 265
14.5.1 使用WHERE子句 265
14.5.2 使用LIMIT子句对结果进行分页显示 267
14.5.3 使用ORDER BY对查询结果进行排序 269
14.6 MySQL数据库使用实例 271
14.6.1 明确设计目的——学生档案管理 271
14.6.2 连接MySQL服务器建立学生档案表 272
14.6.3 显示学生数据页的创建 272
14.6.4 添加记录页的创建 275
14.6.5 修改记录页的创建 278
14.6.6 查找记录页的创建 281
14.6.7 学生档案管理系统实际使用 284
14.7 本章小结 286
第15章 用PHP实现人机交互 287
15.1 用表单实现人机互动 288
15.1.1 表单元素的组成 288
15.1.2 在普通Web页中插入表单 290
15.1.3 更改表单的ACTION属性到PHP程序 293
15.1.4 表单METHOD属性POST与GET区别 293
15.1.5 用PHP作后台处理表单提交数据 293
15.2 URL参数与PHP 296
15.2.1 在PHP的URL地址上加入参数 296
15.2.2 用PHP处理提交的参数 296
15.3 表单使用实例 298
15.4 本章小结 302
第3篇 PHP常用模块 305
第16章 计数器程序 305
16.1 简单计数器 306
16.1.1 计数器的原理 306
16.1.2 设计算法 306
16.1.3 代码实现 306
16.2 图形化计数器 307
16.2.1 设计算法 307
16.2.2 用图片替代文本 307
16.2.3 代码实现 308
16.3 添加“防止恶意刷新”功能 309
16.3.1 设计算法 309
16.3.2 代码实现 309
16.4 多用户计数器 310
16.4.1 多用户的原理 310
16.4.2 实现方法 311
16.4.3 代码实现 311
16.5 本章小结 312
第17章 网上投票程序 313
17.1 投票程序的原理 314
17.2 本实例的特点 314
17.3 投票实例数据表的设计 314
17.4 代码实现 315
17.4.1 准备工作 316
17.4.2 创建显示所有投票项的页面 317
17.4.3 创建添加投票记录页面 318
17.4.4 创建删除投票项的页面 322
17.4.5 创建显示投票项页面 323
17.4.6 创建选择项提交处理页面 326
17.5 测试程序 327
17.6 如何防止重复投票 330
17.7 本章小结 331
第18章 文本留言板程序 333
18.1 留言板分类 334
18.1.1 文本型留言板 334
18.1.2 数据库型留言板 334
18.2 文本留言板的实现原理 335
18.3 文本留言板实例的组成 336
18.4 文本留言板代码的实现 336
18.4.1 配置文件的建立 336
18.4.2 显示提交留言文件建立 337
18.4.3 管理入口页的创建 341
18.4.4 修改留言页面的创建 343
18.4.5 删除留言页面的创建 345
18.5 调试运行留言板 347
18.6 进一步完善 349
18.7 本章小结 349
第19章 PHP博客程序 351
19.1 什么是博客 352
19.2 简单博客程序的功能 352
19.3 制作前的准备工作 352
19.3.1 配置文件的创建 353
19.3.2 安装文件的创建 353
19.3.3 头文件的创建 357
19.3.4 侧边文件的创建 358
19.4 日志显示模块 361
19.4.1 主显示页面的创建 361
19.4.2 日志显示页面的创建 363
19.4.3 单条日志详细信息页面的创建 367
19.5 管理模块 370
19.5.1 管理员/用户登录页面 370
19.5.2 更改用户注册信息 373
19.5.3 更改注册用户密码页面 376
19.5.4 修改已经存在的日志类别 379
19.5.5 签写新的日志页面 381
19.5.6 已经存在的日志管理页 384
19.5.7 留言的管理 387
19.5.8 注册用户的管理 389
19.5.9 添加新类别页面 391
19.5.10 留言显示与发表页面 393
19.5.11 新用户注册页面 396
19.5.12 用户退出登录页面 400
19.6 进一步完善 400
19.7 关于RSS内容聚合 401
19.8 本章小结 402
第4篇 PHP综合应用实例 405
第20章 简单的BBS系统 405
20.1 设计数据库表 406
20.1.1 用户数据表的设计 406
20.1.2 论坛分类数据表的设计 407
20.1.3 贴子数据表的设计 408
20.2 准备工作 408
20.2.1 配置文件的创建 409
20.2.2 安装文件的创建 409
20.3 用户注册与登录 416
20.3.1 用户注册页 416
20.3.2 注册的后台处理 420
20.3.3 用户登录页面 422
20.3.4 登录出错及处理 425
20.4 论坛首页、主论坛、分论坛显示文件的创建 426
20.4.1 论坛首页显示文件的创建 426
20.4.2 主论坛显示文件的创建 430
20.4.3 分论坛显示文件的创建 432
20.5 主题的显示与回复 435
20.5.1 发表新的主题 435
20.5.2 现有主题的显示 438
20.5.3 主题的回复 441
20.6 论坛分类的管理 442
20.6.1 为论坛增加新的类别 442
20.6.2 更改现有类别 446
20.7 贴子的管理 450
20.7.1 编辑贴子 450
20.7.2 删除贴子 455
20.7.3 防掘墓功能 457
20.8 用户管理 458
20.8.1 用户信息的显示 459
20.8.2 普通信息的修改 461
20.8.3 用户密码的修改 465
20.8.4 用户退出页面 468
20.9 进一步完善 470
20.10 本章小结 471
第21章 网上商城全站系统 473
21.1 系统分析 474
21.2 设计数据库表结构 474
21.2.1 用户表的设计 474
21.2.2 图书类型表的设计 475
21.2.3 图书记录表的设计 475
21.2.4 订单记录表的设计 476
21.2.5 销售记录表的设计 476
21.3 准备工作 477
21.3.1 配置文件的创建 477
21.3.2 安装文件的创建 477
21.3.3 头文件的创建 482
21.4 用户的注册与登录 483
21.4.1 用户注册 483
21.4.2 用户登录 486
21.5 前台显示界面 490
21.5.1 首页面的实现 490
21.5.2 图书列表页面的实现 495
21.5.3 按种类查看页面 496
21.5.4 搜索图书页面 499
21.5.5 查看图书详情页面 502
21.6 购物车的实现 505
21.6.1 查看当前购物车 505
21.6.2 查看用户历史订单 508
21.7 管理功能的实现 510
21.7.1 更改用户信息 510
21.7.2 更改用户密码 512
21.7.3 为图书添加新的分类 515
21.7.4 修改已经存在的分类 518
21.7.5 增加新的图书 522
21.7.6 修改已有图书 527
21.7.7 查看、处理所有未处理订单 533
21.7.8 销售记录的查看 535
21.7.9 当前登录用户退出页面 537
21.8 本章小结 537