第1篇 基础篇 3
第1章 PHP运行环境配置 3
1.1 PHP服务器构件介绍 3
1.1.1 PHP介绍 3
1.1.2 Apache服务器 4
1.1.3 MySQL数据库 5
1.2 Apache服务器的安装与设置 5
1.2.1 关闭原有的服务器 5
1.2.2 安装Apache服务器 7
1.2.3 设置Apache服务器 9
1.3 在Apache服务器上安装PHP 11
1.3.1 安装PHP 11
1.3.2 修改配置文件 13
1.3.3 测试PHP 14
1.4 安装MySQL数据库 14
1.5 安装AppServ-Win32服务器 17
1.6 总结与练习 21
第2章 PHP语法知识 23
2.1 在HTML中嵌入PHP代码 23
2.1.1 一个网上书店购书订单的例子 23
2.1.2 使用PHP标记 24
2.1.3 PHP输出语句 25
2.1.4 PHP中的空格 25
2.1.5 PHP中的注释 26
2.1.6 添加PHP函数 26
2.2 变量 27
2.2.1 变量的命名 28
2.2.2 声明和使用常量 28
2.2.3 PHP的基本数据类型 28
2.2.4 PHP中的类型转换 29
2.2.5 可变变量 29
2.2.6 表单数据 29
2.3 PHP的操作符 31
2.3.1 算术操作符 31
2.3.2 字符串操作符 31
2.3.3 赋值操作符 32
2.3.4 引用(&)和重置操作符 32
2.3.5 比较操作符 32
2.3.6 逻辑操作符 33
2.3.7 其他操作符 33
2.4 PHP的控制结构 34
2.4.1 条件与分支 34
2.4.2 循环 40
2.5 实战演练提高 41
2.6 总结与练习 43
第3章 数组、字符串及正则表达式 45
3.1 数组 45
3.1.1 数字索引数组 45
3.1.2 相关数组 47
3.1.3 数组操作符 48
3.1.4 多维数组 49
3.1.5 数组排序 51
3.1.6 数组函数 55
3.2 字符串 57
3.2.1 字符串的格式化 58
3.2.2 字符串的连接与分隔 60
3.2.3 字符串的比较 61
3.2.4 字符串的匹配与替换 62
3.3 正则表达式 63
3.3.1 基本模式匹配 63
3.3.2 正则表达式函数 65
3.4 实战演练提高 66
3.5 总结与练习 67
第4章 函数及代码复用 69
4.1 函数 69
4.1.1 PHP函数的编写规则 69
4.1.2 PHP变量的作用域 70
4.2 require函数和include函数 73
4.3 建立一个网上书店会员申请表 78
4.4 实战演练提高 88
4.5 总结与练习 89
第5章 session和cookie 91
5.1 什么是session和cookie 91
5.1.1 HTTP协议 91
5.1.2 什么是session 92
5.1.3 什么是cookie 92
5.1.4 session和cookie的区别 92
5.1.5 在客户端设置cookie的使用级别 93
5.2 通过PHP设置cookie 94
5.3 在session中使用cookie 95
5.4 实现会话 95
5.5 session常用函数 96
5.6 创建一个会话示例 98
5.7 会话控制及应用 99
5.8 实战演练提高 100
5.9 总结与练习 100
第6章 调试与异常处理 103
6.1 错误的类型 103
6.1.1 语法或编译错误 103
6.1.2 语义或运行时的错误 105
6.1.3 逻辑错误 107
6.1.4 环境错误 108
6.2 PHP的错误信息 108
6.2.1 PHP的错误级别 108
6.2.2 设置错误报告的级别 110
6.3 PHP的错误处理 111
6.4 PHP的异常机制 113
6.5 扩展PHP内置的异常处理类 114
6.6 实战演练提高 115
6.7 总结与练习 116
第7章 面向对象的程序设计 119
7.1 生活中面向对象的例子 119
7.2 类 120
7.3 实例 120
7.4 继承 123
7.5 PHP 5面向对象新特性 128
7.5.1 私有成员和保护成员 128
7.5.2 私有方法和保护方法 128
7.5.3 抽象类和抽象方法 129
7.5.4 接口 129
7.5.5 final关键字 130
7.5.6 对象克隆 130
7.5.7 构建函数 130
7.5.8 析构函数 131
7.5.9 使用_call()重载方法 131
7.5.10 实现迭代器和迭代 132
7.5.11 将类转换为字符串 133
7.6 实战演练提高 134
7.7 总结与练习 135
第8章 创建数据库示例 137
8.1 创建一个Web数据库 137
8.2 创建一个数据库表 138
8.3 编辑、删除数据库表 141
8.4 数据库的导出和导入操作 143
8.5 数据库的权限设置 147
8.6 总结与练习 150
第9章 使用PHP访问MySQL数据库 151
9.1 数据库查询语言 151
9.1.1 数据定义语言(DDL) 151
9.1.2 数据操作语言(DML) 153
9.2 连接与断开数据库 157
9.2.1 连接数据库 157
9.2.2 从PHP查询数据库 158
9.3 构建简单网上书店书本信息 159
9.3.1 建立网上书店的数据库和数据库表 159
9.3.2 建立网上书店的首页 161
9.3.3 建立数据库连接文件 162
9.3.4 建立书籍信息页面 163
9.3.5 建立所有书籍信息页面 165
9.3.6 建立插入书籍信息页面 167
9.3.7 建立删除书籍信息页面 171
9.3.8 建立删除功能页面 174
9.4 实战演练提高 175
9.5 总结与练习 177
第2篇 进阶篇 181
第10章 创建新闻系统 181
10.1 系统总体设计 181
10.1.1 系统功能描述和功能模块划分 181
10.1.2 系统流程分析 182
10.1.3 系统所用文件 183
10.2 数据库设计 183
10.2.1 创建数据库 183
10.2.2 设计表结构 184
10.3 设计新闻发布模块 184
10.3.1 新闻首页 184
10.3.2 公司新闻详细信息页面 190
10.3.3 社会新闻详细信息页面 192
10.3.4 员工动态详细信息页面 195
10.3.5 公司所有新闻页面 197
10.3.6 社会所有新闻页面 198
10.3.7 员工动态所有信息页面 200
10.4 新闻管理模块的设计与开发 202
10.4.1 新闻管理首页 203
10.4.2 新闻插入页面 208
10.4.3 新闻修改页面 211
10.4.4 新闻删除确认页面 216
10.4.5 新闻删除页面 219
10.5 总结 220
第11章 网上投票系统 221
11.1 系统需求分析和系统总体设计 221
11.1.1 系统需求分析 221
11.1.2 系统功能描述 221
11.1.3 系统流程分析 222
11.1.4 系统所用文件 222
11.2 数据库设计 223
11.2.1 创建数据库和数据库表 223
11.2.2 数据库知识准备 225
11.3 网上投票功能模块的设计与开发 226
11.3.1 网上投票系统首页的实现 226
11.3.2 投票项目详细页面的实现 232
11.3.3 计算票数页面 235
11.3.4 投票结果查看页面 237
11.4 网上投票系统管理模块的设计与开发 238
11.4.1 管理员登录页面 238
11.4.2 投票项目详细信息页面 240
11.4.3 删除投票项目页面 245
11.4.4 新建投票项目页面 246
11.4.5 新建投票项目的选项的页面 248
11.5 总结 252
第12章 创建电子日记系统 253
12.1 系统需求分析和系统总体设计 253
12.1.1 系统需求分析 253
12.1.2 系统流程分析 254
12.1.3 系统所用文件 254
12.2 数据库设计 255
12.3 电子日记首页的设计与开发 256
12.3.1 电子日记首页的实现 256
12.3.2 电子日记详细页面的实现 260
12.3.3 查看作者联系方式页面 263
12.4 电子日记管理页面的设计与开发 264
12.4.1 管理员登录页面的实现 264
12.4.2 管理页面主页的实现 266
12.4.3 添加日记页面的实现 270
12.4.4 修改日记页面的实现 273
12.4.5 删除日记页面的实现 275
12.4.6 修改管理员资料页面的实现 276
12.5 总结 279
第13章 创建Web论坛 281
13.1 系统需求分析和系统总体设计 281
13.1.1 系统需求分析 281
13.1.2 系统流程分析 282
13.1.3 系统所用文件 283
13.2 数据库设计 283
13.3 论坛信息模块的设计与开发 285
13.3.1 站点首页的实现 285
13.3.2 主题详细页面的实现 290
13.3.3 发表主题页面的实现 297
13.3.4 发表回复页面的实现 301
13.3.5 计算点击次数页面的实现 303
13.4 系统用户管理模块的设计与开发 304
13.4.1 管理员登录页面的实现 304
13.4.2 管理页面的实现 306
13.4.3 管理员修改资料页面的实现 307
13.4.4 删除主题页面的实现 309
13.4.5 删除主题的回复页面 310
13.4.6 添加管理员页面的实现 312
13.5 总结 314
第14章 志愿者信息管理系统 315
14.1 系统需求分析和系统总体设计 315
14.1.1 系统需求分析 315
14.1.2 系统功能模块描述 316
14.1.3 系统流程分析 316
14.1.4 系统所用文件 316
14.2 数据库设计 317
14.3 系统主页面的设计与开发 319
14.3.1 设计青年志愿者信息系统首页框架(纯HTML页面) 319
14.3.2 建立数据库连接文件 324
14.3.3 index.php页面功能 325
14.4 志愿者模块的设计与开发 330
14.4.1 加入青协页面的实现 330
14.4.2 申请成功页面的实现 335
14.4.3 志愿者专区页面的实现 336
14.4.4 志愿者修改个人资料页面的实现 342
14.5 系统特殊功能模块的设计与开发 346
14.5.1 密码补寄页面1的实现 346
14.5.2 密码补寄页面2的实现 346
14.6 系统管理模块的设计与开发 348
14.6.1 管理页面的实现 348
14.6.2 管理员修改志愿者资料页面的实现 353
14.6.3 管理员删除志愿者资料页面的实现 356
14.6.4 管理员查询志愿者详细资料页面的实现 358
14.7 总结 361
第3篇 提高篇 365
第15章 班级交流系统 365
15.1 系统需求分析和系统总体设计 365
15.1.1 系统需求分析 365
15.1.2 系统功能描述 366
15.1.3 系统流程分析 366
15.1.4 系统所用文件 367
15.2 数据库设计 367
15.3 班级交流系统功能模块的设计与开发 370
15.3.1 系统公共文件的设计 370
15.3.2 系统首页的设计与开发 377
15.3.3 注册成为班级成员模块的设计与开发 379
15.3.4 班级相册功能模块的设计与开发 384
15.3.5 成员信息模块的设计与实现 394
15.3.6 生日提醒模块的设计与实现 395
15.3.7 班级留言的设计与实现 396
15.3.8 班级管理模块的设计与实现 398
15.3.9 成员地址导出模块的设计与实现 401
15.3.10 历史留言下载模块的设计与实现 403
15.4 总结 403
第16章 在线销售系统 405
16.1 系统需求分析和系统总体设计 405
16.1.1 系统需求分析 405
16.1.2 系统功能描述 406
16.1.3 系统流程分析 407
16.1.4 系统所用文件 407
16.2 数据库设计 408
16.3 在线销售系统功能模块的设计与开发 414
16.3.1 最新商品模块的设计 414
16.3.2 推荐商品模块的设计 417
16.3.3 热门商品模块的设计 421
16.3.4 站点公告模块的设计 424
16.3.5 商品分类模块的设计 425
16.3.6 用户注册模块的设计 426
16.3.7 用户中心模块的设计 429
16.3.8 订单查询模块的设计 432
16.3.9 购物车模块的设计 433
16.3.10 商品查找模块的设计 435
16.3.11 用户登录模块的设计 436
16.3.12 商品管理模块的设计 438
16.3.13 用户管理模块的设计 441
16.3.14 订单管理模块的设计 442
16.3.15 信息管理模块的设计 445
16.4 总结 447
第17章 AJAX聊天室 449
17.1 系统需求分析和系统总体设计 449
17.1.1 系统需求分析 449
17.1.2 系统流程分析 449
17.1.3 系统所用文件 450
17.2 数据库设计 450
17.3 AJAX基础知识 451
17.3.1 Asynchronous Java-Script+XML 452
17.3.2 XMLHttpRequest 453
17.3.3 Hello!Ajax! 455
17.3.4 获取Request对象 457
17.3.5 文档对象模型(DOM) 459
17.4 AJAX聊天室系统功能模块的设计与开发 462
17.4.1 聊天室前台页面的设计 462
17.4.2 客户端JavaScript处理逻辑的设计 470
17.4.3 服务器端响应逻辑的设计 479
17.5 总结 481
附录A 课后习题答案 483