第1篇 PHP准备篇 2
第1章 初识PHP 2
1.1关于静态网页与动态网页 2
1.1.1传统的静态网页HTML 2
1.1.2动态网页与传统网页的区别 3
1.2关于PHP 4
1.2.1什么是PHP 4
1.2.2 PHP的发展历史 4
1.2.3 PHP与其他CGI程序相比较 5
1.3第一个程序——HELLO WORLD! 5
1.3.1页面中加入PHP代码 5
1.3.2 PHP页中加入注释 7
1.3.3文件的引用 8
1.4本章小结 8
1.5本章习题 9
第2章 PHP的开发环境及安装 10
2.1 Windows平台下Apache的安装 10
2.2 PHP解释器的安装 12
2.3 MySQL的安装和配置 14
2.3.1MySQL的安装 14
2.3.2 MySQL的配置 16
2.3.3修改php.ini以支持MySQL 19
2.4安装phpMyAdmin 20
2.5 EditPlus的安装 21
2.6本章小结 21
2.7本章习题 22
第2篇PHP基础篇 24
第3章 PHP中的常量与变量 24
3.1 PHP中常量的定义与使用 24
3.1.1定义与使用常量 24
3.1.2 PHP中的预定义常量 25
3.2 PHP中的变量 27
3.2.1 PHP的变量类型 27
3.2.2转换变量类型 27
3.2.3变量的使用范围 29
3.3 PHP的预定义变量 29
3.4 PHP中的数组型变量 30
3.4.1数组变量的初始化 30
3.4.2获取数组中的元素 31
3.4.3给数组动态增加元素 32
3.4.4创建多维数组 33
3.5本章小结 35
3.6本章习题 35
第4章 PHP中的运算符与表达式 37
4.1运算符 37
4.1.1四则运算符 37
4.1.2逻辑运算符 37
4.1.3三目运算符 39
4.1.4运算符的优先级 40
4.2表达式 41
4.2.1表达式中变量的可能值 42
4.2.2赋值表达式的值 42
4.2.3递增表达式 42
4.2.4比较表达式 43
4.2.5组合的运算赋值表达式 43
4.3运算符与表达式综合运用实例 44
4.4本章小结 45
4.5本章习题 45
第5章PHP中的流程控制 47
5.1if…else判断 47
5.1.1简单的if判断 47
5.1.2 if…else判断 48
5.1.3 if…else if…else多重判断 49
5.2 switch…case多重判断 50
5.3 while循环 52
5.3.1单纯while判断循环 52
5.3.2使用break跳出循环 53
5.3.3使用continue语句 54
5.4 do…while循环 55
5.5 for循环 56
5.6流程控制综合运用实例 57
5.7本章小结 59
5.8本章习题 59
第6章 PHP中的函数 61
6.1什么是函数 61
6.2函数的参数 63
6.3函数的返回值 65
6.4 PHP内部函数的使用 67
6.5 PHP加载外部函数 69
6.6自定义函数 70
6.6.1如何自定义函数 70
6.6.2使用自定义函数 72
6.6.3函数的动态调用 73
6.6.4函数的递归 74
6.7本章小结 76
6.8本章习题 76
第3篇PHP进阶篇 78
第7章 PHP的数据处理 78
7.1怎样判断数据类型 78
7.2 PHP中常用的数学函数 81
7.2.1数学计算函数 81
7.2.2数学三角函数 82
7.2.3很有用的最值函数 85
7.2.4产生随机数函数 88
7.2.5进制转换函数 89
7.2.6其他数学函数 92
7.3 PHP中常用的字符串处理函数 94
7.3.1取得字符串长度 94
7.3.2输出字符串 95
7.3.3截取字符串 97
7.3.4按特定字符切开字符串 99
7.3.5去除字符串中的特殊符号 100
7.3.6转换字符串中的特殊符号为HTML标记 102
7.3.7加入转义符 103
7.3.8比较字符串函数 103
7.3.9改变字符串的大小写 105
7.3.10其他常用字符串处理函数 106
7.4 PHP中常用的数组处理函数 107
7.4.1新建一个数组 107
7.4.2计算数组的元素个数 108
7.4.3对数组排序 109
7.4.4对数组进行自定义排序 111
7.4.5移动数组指针 113
7.4.6获取数组当前元素 115
7.4.7移去数组中重复的值 115
7.4.8计算数组中所有值出现的次数 116
7.4.9合并多个数组 117
7.4.10其他常用数组函数 119
7.5本章小结 120
7.6本章习题 120
第8章 PHP文件应用 122
8.1判断文件是否存在 122
8.2访问文件属性 123
8.3打开文件 124
8.3.1用只读方式打开文件 124
8.3.2用写入方式打开文件 125
8.3.3用读写方式打开文件 126
8.4读取文件内容 126
8.4.1读取文件相应字符 127
8.4.2按行返回文件内容 128
8.4.3按行返回文件内容并去除HTML标记 129
8.4.4将整个文件内容读入数组变量中 130
8.5删除文件 130
8.6创建目录 131
8.7删除目录 132
8.8浏览目录下的文件 133
8.9关于文件上传 135
8.10文件操作综合实例:在线相册 137
8.10.1系统功能 137
8.10.2相册系统首页面 137
8.10.3相册系统上传前台页面 139
8.10.4相册系统上传后台页面 141
8.10.5相册系统浏览图片详细信息页面 142
8.10.6相册系统图片删除页面 143
8.10.7测试相册系统 145
8.11本章小结 149
8.12本章习题 150
第9章 用PHP获取主机信息 151
9.1phpinfo()函数的使用 151
9.2获取浏览器相关信息 152
9.2.1获取访问者浏览器信息 152
9.2.2获取访问者的IP地址 153
9.3日期时间相关函数 154
9.3.1检查日期的合法性 154
9.3.2格式化输出当前日期 155
9.3.3获得时间及日期信息 157
9.4本章小结 158
9.5本章习题 158
第10章 PHP中的图像处理 160
10.1图像函数 160
10.1.1访问图像的属性 160
10.1.2使用GD库函数 162
10.2图像使用实战 166
10.2.1使用GD库函数创建图像 166
10.2.2创建图形并在上面画图 167
10.2.3绘制几何图形更多的探索 169
10.2.4使用GD库函数在图片上写字 172
10.2.5使用GD库函数绘制直方统计图 173
10.2.6使用GD库函数创建图像的缩略图 175
10.3本章小结 176
10.4本章习题 176
第11章 PHP中的Session与Cookie 178
11.1Session的使用 178
11.1.1如何使用Session 178
11.1.2 Session使用实例 180
11.1.3使用Session的注意事项 180
11.2 Cookie的使用 181
11.2.1为什么使用Cookie 181
11.2.2怎样使用Cookie 182
11.2.3设置Cookie生命期 183
11.2.4 Cookie综合应用实例——网页风格转换 184
11.3本章小结 191
11.4本章习题 191
第12章 PHP中正则表达式的使用 192
12.1关于正则表达式 192
12.1.1什么是正则表达式 192
12.1.2如何使用模式匹配 194
12.2 POSIX扩展的正则表达式函数 197
12.2.1替换字符串 197
12.2.2匹配字符串 199
12.2.3替换字符串(忽略大小写) 201
12.2.4匹配字符串(忽略大小写) 202
12.2.5分割字符串到数组 203
12.2.6分割字符串到数组(忽略大小写) 205
12.2.7返回包含指定字符的正则表达式 206
12.3 Perl兼容的正则表达式函数 207
12.3.1 Perl兼容正则表达式的使用规范 207
12.3.2返回匹配数组 209
12.3.3全局表达式匹配 210
12.3.4正则表达式匹配 212
12.3.5转义正则表达式字符 213
12.3.6用回调函数实现正则表达式的搜索与替换 215
12.3.7执行正则表达式的搜索与替换 216
12.3.8用正则表达式分割字符串 217
12.4正则表达式使用实例 218
12.4.1构造检查Email的正则表达式 218
12.4.2对图像UBB代码进行替换 220
12.5本章小结 222
12.6本章习题 222
第13章 PHP面向对象编程 224
13.1面向对象编程(OOP)的基础 224
13.1.1什么是类(CLASS) 224
13.1.2为什么要用到类 225
13.2在PHP中创建和使用类 226
13.2.1自建类——类的封装 226
13.2.2为类添加属性 229
13.2.3为类添加方法 230
13.2.4类的继承 232
13.2.5类的重载 233
13.2.6类的引用 235
13.2.7类的构造函数 236
13.3 PHP中与类、对象相关的函数 238
13.4类的具体使用实例 249
13.5本章小结 252
13.6本章习题 252
第14章 使用MySQL数据库 254
14.1关系型数据库基础 254
14.1.1什么是关系型数据库 254
14.1.2关系型数据库的功能 254
14.2 PHP中的MySQL数据库相关函数 255
14.3数据库操作 263
14.3.1连接MySQL服务器 264
14.3.2连接到服务器并显示可用数据库 265
14.3.3在服务器上创建新的数据库 265
14.3.4在选定数据库里创建表 267
14.3.5如何删除已经存在的库和表 269
14.4对MySQL表进行操作 271
14.4.1执行INSERT INTO语句插入记录 272
14.4.2执行SELECT查询 274
14.4.3使用表单扩展添加记录功能 275
14.4.4执行UPDATE语句更新记录 278
14.4.5使用表单扩展更改记录功能 280
14.4.6执行DELETE语句删除记录 284
14.4.7执行ALTER TABLE语句改变表的结构 286
14.5对MySQL表的高级查询 288
14.5.1使用WHERE子句 288
14.5.2使用LIMIT子句对结果进行分页显示 290
14.5.3使用ORDER BY对查询结果进行排序 292
14.6 MySQL数据库使用实例 294
14.6.1明确设计目的——学生档案管理系统 294
14.6.2连接MySQL服务器建立学生档案表 295
14.6.3显示学生数据页的创建 296
14.6.4添加记录页的创建 298
14.6.5修改记录页的创建 301
14.6.6查找记录页的创建 304
14.6.7学生档案管理系统实际使用 307
14.7本章小结 310
14.8本章习题 311
第4篇 应用篇 314
第15章 用PHP实现人机交互 314
15.1用表单实现人机互动 314
15.1.1表单元素的组成 314
15.1.2在普通Web页中插入表单 316
15.1.3更改表单的action属性到PHP程序 319
15.1.4表单method属性POST与GET区别 320
15.1.5用PHP作后台处理表单提交数据 320
15.2 URL参数与PHP 323
15.2.1在PHP的URL地址上加入参数 323
15.2.2用PHP处理提交的参数 323
15.3表单使用实例 325
15.4本章小结 329
第16章 计数器程序 330
16.1简单计数器 330
16.1.1计数器的原理 330
16.1.2设计算法 330
16.1.3代码实现 330
16.2图形化计数器 331
16.2.1设计算法(图形化计数器) 332
16.2.2用图片替代文本 332
16.2.3代码实现(图形化计数器) 332
16.3添加“防止恶意刷新”功能 333
16.3.1设计算法(添加“防止恶意刷新”功能) 334
16.3.2代码实现(添加“防止恶意刷新”功能) 334
16.4多用户计数器 335
16.4.1多用户计数器的原理 335
16.4.2实现方法 335
16.4.3代码实现 336
16.5本章小结 337
第17章 网上投票程序 338
17.1投票程序的原理 338
17.2本实例的特点 338
17.3投票实例数据表设计 339
17.4代码实现 340
17.4.1准备工作 340
17.4.2创建显示所有投票项的页面 341
17.4.3创建添加投票记录页面 343
17.4.4创建删除投票项的页面 347
17.4.5创建显示投票项页面 348
17.4.6创建选择项提交处理页面 351
17.5测试程序 352
17.6如何防止重复投票 355
17.7本章小结 356
第18章 文本留言板程序 357
18.1留言板分类 357
18.1.1文本型留言板 357
18.1.2数据库型留言板 358
18.2文本留言板的实现原理 358
18.3本章文本留言板实例的组成 359
18.4文本留言板代码的实现 360
18.4.1配置文件的建立 360
18.4.2显示和提交留言文件的建立 360
18.4.3管理入口页的创建 365
18.4.4修改留言页面的创建 367
18.4.5删除留言页面的创建 369
18.5调试运行留言板 370
18.6进一步完善 372
18.7本章小结 373
第19章 PHP博客程序 374
19.1什么是博客 374
19.2简单博客程序的功能 375
19.3制作前的准备工作 375
19.3.1配置文件的创建 375
19.3.2安装文件的创建 376
19.3.3头文件的创建 380
19.3.4侧边文件的创建 380
19.4日志显示模块 384
19.4.1主显示页面的创建 384
19.4.2日志显示页面的创建 386
19.4.3单条日志详细信息页面的创建 390
19.5管理模块 392
19.5.1管理员/用户登录页面 392
19.5.2更改用户注册信息 395
19.5.3更改注册用户密码页面 398
19.5.4修改己经存在的日志类别 401
19.5.5签写新的日志页面 403
19.5.6已经存在的日志管理页 406
19.5.7留言的管理 409
19.5.8注册用户的管理 411
19.5.9添加新类别页面 413
19.5.10留言显示与发表页面 416
19.5.11新用户注册页面 419
19.5.12用户退出登录页面 423
19.6进一步完善 423
19.7关于RSS内容聚合 424
19.8本章小结 424
第20章 简单的BBS系统 425
20.1设计数据库表 425
20.1.1用户数据表的设计 425
20.1.2论坛分类数据表的设计 426
20.1.3帖子数据表的设计 427
20.2准备工作 428
20.2.1配置文件的创建 428
20.2.2安装文件的创建 428
20.3用户注册与登录 435
20.3.1用户注册页 435
20.3.2注册的后台处理 439
20.3.3用户登录页面 441
20.3.4登录出错及处理 444
20.4论坛首页、主论坛、分论坛显示文件的创建 445
20.4.1论坛首页显示文件的创建 446
20.4.2主论坛显示文件的创建 449
20.4.3分论坛显示文件的创建 451
20.5主题的显示与回复 454
20.5.1发表新主题 454
20.5.2现有主题的显示 458
20.5.3主题的回复 461
20.6论坛分类的管理 461
20.6.1为论坛增加新的类别 462
20.6.2更改现有类别 466
20.7帖子的管理 471
20.7.1编辑帖子 471
20.7.2删除帖子 475
20.7.3防掘墓功能 478
20.8用户的管理 480
20.8.1用户信息的显示 480
20.8.2普通信息的修改 482
20.8.3用户密码的修改 486
20.8.4用户退出页面 490
20.9进一步完善 491
20.10本章小结 492
第21章 网上商城全站系统 493
21.1系统分析 493
21.2设计数据库表结构 493
21.2.1用户表的设计 494
21.2.2图书类型表的设计 494
21.2.3图书记录表的设计 495
21.2.4订单记录表的设计 495
21.2.5销售记录表的设计 496
21.3准备工作 496
21.3.1配置文件的创建 496
21.3.2安装文件的创建 497
21.3.3头文件的创建 502
21.4用户的注册与登录 502
21.4.1用户注册 503
21.4.2用户登录 506
21.5前台显示界面 509
21.5.1首页面的实现 509
21.5.2图书列表页面的实现 514
21.5.3按种类查看页面的实现 516
21.5.4搜索图书页面的实现 519
21.5.5查看图书详情页面的实现 522
21.6购物车的实现 525
21.6.1查看当前购物车 525
21.6.2查看用户历史订单 527
21.7管理功能的实现 529
21.7.1更改用户信息 530
21.7.2更改用户密码 532
21.7.3为图书添加新的分类 535
21.7.4修改已经存在的分类 538
21.7.5增加新的图书 542
21.7.6修改已有图书信息 547
21.7.7查看、处理所有未处理订单 554
21.7.8查看销售记录 556
21.7.9当前登录用户退出页面 558
21.8本章小结 558