标题：PHP项目开发全程实录
版权信息
  PHP项目开发全程实录书 名: PHP项目开发全程实录 
作　者：张仿彦等
出版社： 清华大学出版社
出版时间： 2008
ISBN: 9787302172444
开本： 16
定价: 56.00 元
内容简介
本书以九九度供求信息网、BCTY365网上社区、办公自动化管理系统、电子商务平台网、网络在线考试系统、物流配送信息网、学校图书馆管理系统、博客管理系统、企业快信系统、online影视365等10个实际项目开发程序为案例，从软件工程的角度出发，按照项目的开发顺序，系统、全面地介绍了程序开发流程。从开发背景、需求分析、系统功能分析、数据库分析、数据库设计、网站开发到网站发布，每一过程都详细地进行了介绍。
本书附有配套光盘，光盘中提供有10多个小时的教学视频录像、编程词典的体验版学习软件，还提供了书中所有案例的全部源代码，所有源代码都经过精心调试，在Windows NT、Windows Server 2003、Linux、Unix操作系统下全部通过，保证能够正常运行。
本书案例涉及行业广泛，实用性非常强，通过本书的学习，读者可以了解各个行业的特点，能够针对某一行业进行网站开发，也可以通过光盘中提供的案例源代码和数据库进行二次开发，以减少开发系统所需要的时间。
目录
第1章 都市供求信息网（Struts 2.0+SQL Server 2000实现） 1
教学视频：3小时55分
1.1 开发背景 2
1.2 系统分析 2
1.2.1 需求分析 2
1.2.2 可行性分析 2
1.2.3 编写项目计划书 3
1.3 系统设计 5
1.3.1 系统目标 5
1.3.2 系统功能结构 5
1.3.3 系统流程图 6
1.3.4 系统预览 6
1.3.5 构建开发环境 7
1.3.6 文件夹组织结构 11
1.3.7 编码规则 12
1.4 数据库设计 13
1.4.1 数据库分析 14
1.4.2 数据库概念设计 14
1.4.3 数据库逻辑结构 15
1.4.4 创建数据库及数据表 16
1.5 公共类设计 18
1.5.1 数据库连接及操作类 18
1.5.2 业务处理类 21
1.5.3 分页类 24
1.5.4 字符串处理类 26
1.6 前台页面设计 27
1.6.1 前台页面概述 27
1.6.2 前台页面的技术分析 28
1.6.3 前台页面的实现过程 28
1.7 前台信息显示设计 29
1.7.1 信息显示概述 29
1.7.2 信息显示技术分析 31
1.7.3 列表显示信息的实现过程 32
1.7.4 显示信息详细内容的实现过程 43
1.8 信息发布模块设计 44
1.8.1 信息发布模块概述 44
1.8.2 信息发布技术分析 45
1.8.3 信息发布实现过程 49
1.8.4 单元测试 52
1.9 后台登录设计 56
1.9.1 后台登录功能概述 56
1.9.2 后台登录技术分析 57
1.9.3 后台登录的实现过程 57
1.10 后台页面设计 60
1.10.1 后台页面概述 60
1.10.2 后台页面的技术分析 60
1.10.3 后台页面的实现过程 61
1.11 后台信息管理设计 62
1.11.1 信息管理功能概述 62
1.11.2 信息管理技术分析 64
1.11.3 信息显示的实现过程 66
1.11.4 信息审核的实现过程 70
1.11.5 信息付费设置的实现过程 73
1.12 网站发布 75
1.13 开发技巧与难点分析 76
1.13.1 实现页面中的超链接 76
1.13.2 Struts 2.0中的中文乱码问题 77
1.14 Struts 2.0框架搭建与介绍 77
1.14.1 搭建Struts 2.0框架 77
1.14.2 Struts 2.0框架介绍 78
1.15 本章小结 83
第2章 图书馆管理系统（Struts 1.2+MySQL 5.0实现） 84
教学视频：5小时8分
2.1 开发背景 85
2.2 系统分析 85
2.2.1 需求分析 85
2.2.2 可行性分析 85
2.2.3 编写项目计划书 86
2.3 系统设计 88
2.3.1 系统目标 88
2.3.2 系统功能结构 89
2.3.3 系统流程图 89
2.3.4 系统预览 90
2.3.5 构建开发环境 90
2.3.6 文件夹组织结构 94
2.4 数据库设计 95
2.4.1 数据库分析 95
2.4.2 数据库概念设计 95
2.4.3 使用PowerDesigner建模 96
2.4.4 创建数据库及数据表 98
2.5 公共模块设计 102
2.5.1 数据库连接及操作类的编写 103
2.5.2 字符串处理类的编写 106
2.5.3 配置Struts 107
2.6 主界面设计 108
2.6.1 主界面概述 108
2.6.2 主界面技术分析 108
2.6.3 主界面的实现过程 110
2.7 管理员模块设计 110
2.7.1 管理员模块概述 110
2.7.2 管理员模块技术分析 111
2.7.3 系统登录的实现过程 113
2.7.4 查看管理员的实现过程 117
2.7.5 添加管理员的实现过程 121
2.7.6 设置管理员权限的实现过程 124
2.7.7 删除管理员的实现过程 127
2.7.8 单元测试 129
2.8 图书档案管理模块设计 130
2.8.1 图书档案管理模块概述 130
2.8.2 图书档案管理模块技术分析 131
2.8.3 查看图书信息列表的实现过程 132
2.8.4 添加图书信息的实现过程 134
2.8.5 修改图书信息的实现过程 137
2.8.6 删除图书信息的实现过程 139
2.9 图书借还模块设计 140
2.9.1 图书借还模块概述 140
2.9.2 图书借还模块技术分析 140
2.9.3 图书借阅的实现过程 142
2.9.4 图书续借的实现过程 146
2.9.5 图书归还的实现过程 149
2.9.6 图书借阅查询的实现过程 151
2.9.7 单元测试 154
2.10 开发技巧与难点分析 156
2.10.1 如何自动计算图书归还日期 156
2.10.2 如何对图书借阅信息进行统计排行 156
2.11 操作MySQL数据库 157
2.11.1 创建、删除数据库和数据表 157
2.11.2 查看、修改数据表结构及重命名数据表 158
2.12 本章小结 159
第3章 企业电子商城（Struts 1.2+SQL 
Server 2000实现） 160
教学视频：4小时32分
3.1 开发背景 161
3.2 系统分析 161
3.2.1 需求分析 161
3.2.2 可行性研究 161
3.3 系统设计 162
3.3.1 系统目标 162
3.3.2 系统功能结构 162
3.3.3 业务流程图 163
3.3.4 系统预览 164
3.3.5 开发环境 165
3.3.6 文件夹组织结构 166
3.4 数据库设计 166
3.4.1 数据库需求分析 166
3.4.2 数据库概念设计 166
3.4.3 数据库逻辑结构 168
3.5 公共类设计 170
3.5.1 获取系统时间的类 171
3.5.2 数据库连接类 171
3.5.3 字符串自动处理类 172
3.6 前台首页设计 172
3.6.1 前台首页概述 172
3.6.2 前台首页技术分析 173
3.6.3 前台首页的布局 174
3.7 用户登录模块设计 174
3.7.1 用户登录模块概述 174
3.7.2 用户登录模块技术分析 175
3.7.3 用户登录模块的实现过程 177
3.7.4 单元测试 181
3.8 前台商品信息查询模块设计 182
3.8.1 前台商品信息查询模块概述 182
3.8.2 商品信息查询模块技术分析 183
3.8.3 商品信息分页查询的实现过程 185
3.8.4 商品信息分类查询的实现过程 189
3.8.5 商品销售排行查询的实现过程 191
3.8.6 单元测试 192
3.9 前台购物车模块设计 193
3.9.1 前台购物车模块概述 193
3.9.2 前台购物车模块技术分析 193
3.9.3 购物车添加商品的实现过程 194
3.9.4 查看购物车的实现过程 196
3.9.5 修改商品数量的实现过程 198
3.9.6 清空购物车的实现过程 199
3.9.7 生成订单的实现过程 199
3.10 后台首页设计 200
3.10.1 后台首页概述 200
3.10.2 后台首页技术分析 201
3.10.3 后台首页的布局 201
3.11 后台商品管理模块设计 202
3.11.1 后台商品管理模块概述 202
3.11.2 后台商品管理模块技术分析 203
3.11.3 商品查询的实现过程 204
3.11.4 商品添加的实现过程 205
3.12 后台订单管理模块设计 207
3.12.1 后台订单管理模块概述 207
3.12.2 后台订单管理模块技术分析 207
3.12.3 订单详细查询的实现过程 209
3.12.4 订单执行的实现过程 211
3.13 开发技巧与难点分析 212
3.14 Struts框架的构建 212
3.14.1 Struts实现MVC的机制 212
3.14.2 Struts工作流程 213
3.15 本章小结 214
第4章 企业快信——短信+邮件（短信猫+Java Mail实现） 215
教学视频：3小时43分
4.1 开发背景 216
4.2 系统分析 216
4.2.1 需求分析 216
4.2.2 可行性研究 216
4.3 系统设计 217
4.3.1 系统目标 217
4.3.2 系统功能结构 217
4.3.3 业务流程图 218
4.3.4 系统预览 218
4.3.5 构建开发环境 219
4.3.6 文件夹组织结构 220
4.4 数据库设计 221
4.4.1 数据库分析 221
4.4.2 数据库概念设计 221
4.4.3 使用PowerDesigner建模 222
4.4.4 创建数据库及数据表 223
4.5 公共模块设计 225
4.5.1 数据库连接及操作类的编写 226
4.5.2 字符串处理类的编写 229
4.5.3 配置Struts 229
4.6 主页设计 230
4.6.1 主页概述 230
4.6.2 主页技术分析 231
4.6.3 主页的实现过程 233
4.7 名片夹管理模块设计 233
4.7.1 名片夹管理模块概述 233
4.7.2 名片夹管理模块技术分析 234
4.7.3 查看客户信息列表的实现过程 236
4.7.4 添加客户信息的实现过程 237
4.7.5 删除客户信息的实现过程 241
4.8 收发短信模块设计 242
4.8.1 收发短信模块概述 242
4.8.2 收发短信模块技术分析 242
4.8.3 发送短信的实现过程 244
4.8.4 接收短信的实现过程 249
4.8.5 单元测试 251
4.9 邮件群发模块设计 251
4.9.1 邮件群发模块概述 251
4.9.2 邮件群发模块技术分析 252
4.9.3 邮件群发的实现过程 253
4.9.4 单元测试 256
4.10 开发技巧与难点分析 257
4.10.1 从“名片夹”中选择手机号码到“接收
方手机号码”文本框 257
4.10.2 从信息库中插入短信内容 258
4.11 使用短信猫和Java Mail组件 259
4.11.1 使用短信猫 259
4.11.2 使用Java Mail组件 261
4.12 本章小结 266
第5章 企业人力资源管理（系统Spring 1.2+ 
Struts 1.2+Hibernate 3.0+SQL Server
实现） 267
教学视频：2小时35分
5.1 开发背景 268
5.2 系统分析 268
5.2.1 需求分析 268
5.2.2 可行性研究 268
5.3 系统设计 269
5.3.1 系统目标 269
5.3.2 系统功能结构 269
5.3.3 业务流程图 270
5.3.4 系统预览 270
5.3.5 开发环境 271
5.3.6 文件夹组织结构 271
5.4 数据库设计 272
5.4.1 数据库分析 272
5.4.2 数据库概念设计 272
5.4.3 数据库逻辑结构 273
5.5 公共模块设计 276
5.5.1 获取系统时间的类 276
5.5.2 获取自动编号 277
5.5.3 字符串自动处理类 277
5.5.4 编写分页Bean 278
5.5.5 编写数据持久化类 281
5.5.6 定制Spring框架依赖注入映射文件 283
5.6 主界面设计 286
5.6.1 主界面概述 286
5.6.2 主界面技术分析 287
5.6.3 主界面的布局 287
5.7 管理员管理模块设计 288
5.7.1 管理员管理模块概述 288
5.7.2 管理员设置模块技术分析 288
5.7.3 管理员登录的实现过程 291
5.7.4 浏览管理员的实现过程 294
5.7.5 添加管理员的实现过程 296
5.7.6 单元测试 297
5.8 招聘管理模块设计 298
5.8.1 招聘管理模块概述 298
5.8.2 招聘管理模块技术分析 298
5.8.3 浏览应聘人员信息的实现过程 300
5.8.4 添加应聘信息的实现过程 303
5.8.5 单元测试 305
5.9 员工管理模块设计 306
5.9.1 员工管理模块概述 306
5.9.2 员工管理模块技术分析 306
5.9.3 员工录用的实现过程 308
5.9.4 删除员工信息的实现过程 310
5.10 开发技巧与难点分析 311
5.10.1 去除图片超链接时出现的蓝色边框 311
5.10.2 JSP区分大小写 311
5.11 Spring、Struts和Hibernate构建 311
5.12 本章小结 314
第6章 办公自动化管理系统（Struts 1.1+
Hibernate 3.0+SQL Server实现） 315
教学视频：2小时44分
6.1 开发背景 316
6.2 系统分析 316
6.2.1 需求分析 316
6.2.2 可行性研究 316
6.3 系统设计 317
6.3.1 系统目标 317
6.3.2 系统功能结构 317
6.3.3 系统流程图 317
6.3.4 系统预览 317
6.3.5 开发环境 319
6.3.6 文件夹组织结构 319
6.4 数据库设计 320
6.4.1 数据库分析 320
6.4.2 数据库概念结构分析 320
6.4.3 数据库逻辑结构设计 321
6.5 公共模块设计 324
6.5.1 Hibernate配置文件的编写 324
6.5.2 Session管理类的编写 325
6.5.3 获得日期和时间类的编写 326
6.5.4 字符串自动处理类 327
6.5.5 配置Struts 328
6.6 登录模块设计 328
6.6.1 登录模块概述 328
6.6.2 登录模块技术分析 329
6.6.3 登录模块实现过程 330
6.6.4 单元测试 335
6.7 主界面设计 335
6.7.1 主界面概述 335
6.7.2 主界面技术分析 336
6.7.3 主界面的实现过程 337
6.8 日常管理模块设计 340
6.8.1 日常管理模块概述 340
6.8.2 日常管理模块技术分析 340
6.8.3 会议管理的实现过程 341
6.8.4 公告管理的实现过程 346
6.8.5 单元测试 350
6.9 考勤管理模块设计 350
6.9.1 考勤管理模块概述 350
6.9.2 考勤管理模块技术分析 351
6.9.3 外出登记的实现过程 351
6.9.4 上下班登记的实现过程 353
6.9.5 单元测试 355
6.10 通讯管理模块设计 355
6.10.1 通讯管理模块概述 355
6.10.2 通讯管理模块技术分析 356
6.10.3 显示通讯组的实现过程 356
6.10.4 添加通讯详细信息的实现过程 359
6.11 开发技巧与难点分析 361
6.11.1 截取字符串 361
6.11.2 Session有效性的判断 361
6.11.3 通过Hibernate API声明事务边界 362
6.12 Hibernate技术的应用 362
6.13 本章小结 364
第7章 物流信息网（JavaBean+SQL Server2000实现） 365
教学视频：2小时
7.1 物流信息网概述 366
7.2 系统分析 366
7.2.1 需求分析 366
7.2.2 可行性研究 366
7.3 系统设计 367
7.3.1 系统目标 367
7.3.2 系统功能结构 367
7.3.3 业务流程图 368
7.3.4 系统预览 369
7.3.5 开发环境 369
7.3.6 文件夹组织结构 370
7.4 数据库设计 370
7.4.1 数据库需求分析 370
7.4.2 数据库概念设计 371
7.4.3 数据库逻辑结构 372
7.4.4 数据库的创建 375
7.5 公共模块设计 376
7.6 前台页面设计 378
7.6.1 前台页面概述 378
7.6.2 前台首页技术分析 379
7.6.3 前台首页布局 379
7.7 用户登录模块 380
7.7.1 用户登录模块概述 380
7.7.2 用户登录模块技术分析 380
7.7.3 用户登录的实现过程 381
7.8 货物信息模块 382
7.8.1 货物信息模块概述 382
7.8.2 货物信息模块技术分析 382
7.8.3 货物信息查询实现过程 385
7.8.4 货物信息添加的实现过程 387
7.8.5 货物信息详细查询的实现过程 389
7.8.6 货物信息修改的实现过程 391
7.8.7 货物信息删除的实现过程 392
7.8.8 单元测试 392
7.9 车辆信息模块 393
7.9.1 车辆信息模块概述 393
7.9.2 车辆信息模块技术分析 393
7.9.3 车辆信息查询的实现过程 394
7.9.4 车辆信息添加的实现过程 395
7.9.5 单元测试 397
7.10 后台页面设计 397
7.10.1 后台页面概述 397
7.10.2 后台首页技术分析 397
7.10.3 后台首页布局 398
7.10.4 公告信息管理模块概述 398
7.10.5 公告信息管理模块技术分析 399
7.10.6 公告信息添加的实现过程 399
7.10.7 公告信息修改的实现过程 400
7.10.8 公告信息删除的实现过程 401
7.11 开发技巧与难点分析 402
7.11.1 解决连接字符破坏版面的问题 402
7.11.2 无效的描述器索引 402
7.12 数据库连接池技术 404
7.12.1 连接池简介 404
7.12.2 获得JNDI的名称实现对数据库的
连接 405
7.13 本章小结 406
第8章 网络在线考试系统（Struts 1.2+Ajax+
SQL Server 2000实现） 407
教学视频：3小时48分
8.1 开发背景 408
8.2 系统分析 408
8.2.1 需求分析 408
8.2.2 可行性研究 408
8.3 系统设计 409
8.3.1 系统目标 409
8.3.2 系统功能结构 409
8.3.3 业务流程图 410
8.3.4 系统预览 410
8.3.5 开发环境 411
8.3.6 业务逻辑编码规则 411
8.3.7 文件夹组织结构 412
8.4 数据库设计 412
8.4.1 数据库分析 412
8.4.2 数据库概念设计 412
8.4.3 数据库逻辑结构 413
8.5 公共类设计 415
8.5.1 数据库连接及操作类的编写 415
8.5.2 字符串处理类 415
8.6 前台首页设计 417
8.6.1 前台首页概述 417
8.6.2 前台首页技术分析 417
8.6.3 前台首页的实现过程 418
8.7 考生信息模块设计 419
8.7.1 考生信息模块概述 419
8.7.2 考生信息模块的技术分析 419
8.7.3 考生注册的实现过程 421
8.7.4 找回密码的实现过程 424
8.8 在线考试模块设计 427
8.8.1 在线考试模块的概述 427
8.8.2 在线考试模块的技术分析 427
8.8.3 选择考试课程的实现过程 428
8.8.4 随机抽取试题并显示试题的实现过程 429
8.8.5 自动阅卷并显示考试成绩的实现过程 435
8.8.6 单元测试 436
8.9 后台首页设计 438
8.9.1 后台首页概述 438
8.9.2 后台首页技术分析 439
8.9.3 后台首页的实现过程 440
8.10 考试题目管理模块设计 440
8.10.1 考试题目管理模块的概述 440
8.10.2 考试题目管理模块的技术分析 441
8.10.3 查看考试题目列表的实现过程 442
8.10.4 添加考试题目的实现过程 445
8.10.5 删除考试题目的实现过程 448
8.10.6 单元测试 449
8.11 开发技巧与难点分析 450
8.11.1 在Struts中解决中文乱码问题 450
8.11.2 通过Ajax技术实现计时与显示剩余
时间 450
8.12 Ajax技术 452
8.12.1 Ajax概述 452
8.12.2 Ajax中的核心技术XMLHttpRequest 453
8.13 本章小结 455
第9章 编程体验BBS——论坛系统（Struts 1.2+
SQL Server 2000实现） 456
教学视频：2小时7分
9.1 开发背景 457
9.2 需求分析 457
9.3 系统设计 457
9.3.1 系统目标 457
9.3.2 系统功能结构 457
9.3.3 业务流程图 458
9.3.4 系统预览 459
9.3.5 开发环境 460
9.3.6 业务逻辑编码规则 460
9.3.7 文件夹组织结构 460
9.4 数据库设计 461
9.4.1 数据库分析 461
9.4.2 数据库概念设计 461
9.4.3 数据库逻辑结构 462
9.5 公共类设计 464
9.5.1 业务处理类 464
9.5.2 解决中文乱码的公共类 466
9.6 前台页面设计 467
9.6.1 前台页面概述 467
9.6.2 前台页面实现技术分析 468
9.6.3 前台页面的实现过程 468
9.7 前台显示设计 468
9.7.1 前台显示概述 468
9.7.2 前台显示技术分析 470
9.7.3 首页面论坛类别显示的实现过程 472
9.7.4 某版面中根帖列表显示的实现过程 474
9.7.5 显示根帖和回复帖内容的实现过程 476
9.8 发表帖子模块设计 479
9.8.1 发表帖子模块概述 479
9.8.2 发表帖子模块技术分析 480
9.8.3 发表帖子模块的实现过程 481
9.8.4 单元测试 483
9.9 根帖操作设计 484
9.9.1 根帖操作概述 484
9.9.2 根帖操作技术分析 485
9.9.3 根帖操作的实现过程 486
9.10 后台页面设计 488
9.10.1 后台页面概述 488
9.10.2 后台页面实现技术分析 489
9.10.3 后台页面的实现过程 489
9.11 版面管理模块设计 489
9.11.1 版面管理模块概述 489
9.11.2 版面管理模块技术分析 490
9.11.3 版面添加的实现过程 491
9.11.4 删除版面的实现过程 494
9.12 开发技巧与难点分析 495
9.12.1 如何通过资源文件显示汉字 495
9.12.2 使用静态代码块 495
9.13 Validator验证框架 496
9.13.1 Validator验证框架的配置与介绍 496
9.13.2 Validator验证框架和ActionForm 499
9.14 本章小结 500
第10章 博客网（Servlet 2.4+JavaBean+SQL 
Server 2000实现） 501
教学视频：1小时49分
10.1 博客网概述 502
10.2 系统分析 502
10.2.1 需求分析 502
10.2.2 可行性研究 502
10.3 系统设计 503
10.3.1 系统目标 503
10.3.2 系统功能结构 504
10.3.3 系统流程图 504
10.3.4 系统预览 505
10.3.5 开发环境 506
10.3.6 文件夹组织结构 507
10.4 数据库设计 507
10.4.1 数据库需求分析 507
10.4.2 数据库概念设计 508
10.4.3 数据库逻辑结构设计 509
10.5 公共模块设计 510
10.5.1 数据库连接及操作类的编写 511
10.5.2 字符串处理类的编写 512
10.5.3 系统配置 513
10.6 前台页面设计 513
10.6.1 前台首页概述 513
10.6.2 前台首页技术分析 514
10.6.3 前台首页的布局 515
10.7 用户登录模块设计 515
10.7.1 用户登录模块概述 515
10.7.2 用户登录模块技术分析 516
10.7.3 用户登录模块的实现过程 517
10.8 文章查询模块设计 520
10.8.1 文章查询模块概述 520
10.8.2 文章查询模块技术分析 521
10.8.3 文章分类查询实现过程 521
10.8.4 文章详细查询的实现过程 524
10.8.5 单元测试 526
10.9 后台页面设计 526
10.9.1 后台首页概述 526
10.9.2 后台首页技术分析 527
10.9.3 后台首页的布局 527
10.10 相册管理模块设计 528
10.10.1 相册管理模块概述 528
10.10.2 相册管理模块技术分析 528
10.10.3 相册查询的实现过程 529
10.10.4 相册上传的实现过程 531
10.10.5 单元测试 535
10.11 开发技巧与难点分析 536
10.11.1 禁止用户复制页面内容 536
10.11.2 使用当前窗口承载框架页中的超链接页面 537
10.12 Servlet的生命周期 537
10.13 本章小结 538
PHP项目开发案例全程实录(第2版)
图书信息作者：明日科技
出版社: 清华大学出版社; 第1版 (2011年1月1日) 
丛书名: 软件项目开发全程实录丛书 
平装: 594页 
正文语种: 汉语 
开本: 16 
ISBN: 9787302241928, 7302241929 
条形码: 9787302241928 
产品尺寸及重量: 26 x 21 x 3.2 cm ; 1.2 Kg 
ASIN: B004FPXU3U内容简介《PHP项目开发案例全程实录[1]》以九九度供求信息网、BCTY365网上社区、办公自动化管理系统、电子商务平台网、网络在线考试系统、物流配送信息网、学校图书馆管理系统、博客管理系统、企业快信系统、online影视365网、明日知道网站和电子商务网站12个实际项目开发程序为案例，从软件工程的角度出发，按照项目的开发顺序，系统、全面地介绍程序开发流程。从开发背景、需求分析、系统功能分析、数据库分析、数据库设计、网站开发到网站发布，对每一过程都进行了详细的介绍。
《PHP项目开发案例全程实录》案例涉及行业广泛，实用性非常强，通过本书的学习，读者可以了解各个行业的特点，能够针对某一行业进行网站开发，也可以通过光盘中提供的案例源代码和数据库进行二次开发，以减少开发系统所需要的时间。本书光盘提供12个项目开发完整案例的同步教学视频，12个项目开发完整案例及其源程序，本书的服务网站还提供了内容丰富的素材库、题库、模块库、案例库和本书的答疑服务。《PHP项目开发案例全程实录》是一本项目开发案例方面的参考书，适合有基本编程知识但还没有项目开发经验的软件开发初学者使用，尤其适合高校在校生进行毕业设计、课题设计时做参考。作者简介明日科技,专业的软件开发公司，该公司是一家以计算机软件技术为核心的高科技企业，是专业的应用软件开发和服务企业，多年来始终致力于行业管理软件开发、行业电子商务网站开发等领域，涉及生产、管理、控制、仓储、物流、营销、服务等行业，公司现有各类软件工程师50余人。另外，公司还致力于软件技术的普及和传播，先后创作软件开发类图书多部，其中多部图书荣获“全国优秀畅销书”奖。目录第1章 九九度供求信息网（Apache+PHP+
phpMyAdmin+MySQL 5.0实现） 1
视频讲解：1小时50分钟
1.1 开发背景 2
1.2 系统分析 2
1.2.1 需求分析 2
1.2.2 可行性分析 2
1.2.3 编写项目计划书 3
1.3 系统设计 5
1.3.1 系统目标 5
1.3.2 系统功能结构 6
1.3.3 系统流程图 7
1.3.4 系统预览 7
1.3.5 开发环境 8
1.3.6 文件夹组织结构 9
1.4 在Windows操作系统下搭建PHP开发
环境 9
1.4.1 在Windows下应用AppServ快速配置
PHP开发环境 9
1.4.2 Windows下Apache的安装配置 12
1.4.3 Windows下MySQL的安装配置 16
1.4.4 Windows下PHP的安装配置 17
1.4.5 在Windows下设置IIS+PHP的执行环境 19
1.5 数据库设计 22
1.5.1 数据库分析 22
1.5.2 数据库概念设计 22
1.5.3 使用PowerDesigner建模 24
1.5.4 创建数据库及数据表 26
1.6 单元测试 27
1.6.1 单元测试概述 28
1.6.2 单元测试的优点 28
1.7 前台首页设计 28
1.7.1 前台首页概述 28
1.7.2 前台首页技术分析 30
1.7.3 前台首页的实现过程 31
1.8 免费供求信息发布模块设计 32
1.8.1 免费供求信息发布模块概述 32
1.8.2 免费供求信息发布模块技术分析 32
1.8.3 免费供求信息发布模块的实现过程 35
1.9 信息检索模块设计 37
1.9.1 信息检索模块概述 37
1.9.2 信息检索模块技术分析 38
1.9.3 信息检索模块的实现过程 40
1.10 后台首页设计 43
1.10.1 后台首页概述 43
1.10.2 后台首页技术分析 44
1.10.3 后台首页的实现过程 46
1.11 付费供求信息发布模块设计 47
1.11.1 付费供求信息发布模块概述 47
1.11.2 付费供求信息发布模块技术分析 48
1.11.3 付费供求信息发布模块的实现过程 48
1.12 付费信息管理模块设计 50
1.12.1 付费信息管理模块概述 50
1.12.2 付费信息管理模块技术分析 51
1.12.3 付费信息显示的实现过程 52
1.12.4 付费信息审核的实现过程 55
1.12.5 付费信息删除的实现过程 55
1.12.6 单元测试 56
1.13 网站发布 58
1.14 开发技巧与难点分析 59
1.14.1 查询关键字描红功能 59
1.14.2 表单数据的提交方式 61
1.15 MySQL数据库技术专题 62
1.15.1 创建和删除数据库 62
1.15.2 创建和删除数据表 63
1.16 本章总结 64
第2章 BCTY365网上社区（Apache+PHP+
phpMyAdmin+MySQL 5.0实现） 65
视频讲解：2小时24分钟
2.1 开发背景 66
2.2 系统分析 66
2.2.1 需求分析 66
2.2.2 可行性分析 66
2.2.3 编写项目计划书 67
2.3 系统设计 69
2.3.1 系统目标 69
2.3.2 系统功能结构 69
2.3.3 系统预览 69
2.3.4 开发环境 72
2.3.5 文件夹组织结构 72
2.4 在Linux操作系统下搭建PHP开发
环境 72
2.4.1 Linux下Apache的安装配置 73
2.4.2 Linux下MySQL的安装配置 74
2.4.3 Linux下PHP的安装配置 75
2.5 数据库设计 77
2.5.1 数据库分析 77
2.5.2 数据库概念设计 77
2.5.3 创建数据库及数据表 78
2.6 公共模块设计 82
2.6.1 数据库连接文件 82
2.6.2 将文本中的字符转换为HTML标识符 83
2.7 前台首页设计 84
2.7.1 前台首页概述 84
2.7.2 前台首页技术分析 84
2.7.3 前台首页的实现过程 87
2.8 注册模块设计 89
2.8.1 注册模块概述 89
2.8.2 注册模块技术分析 89
2.8.3 注册模块的实现过程 91
2.9 技术支持模块设计 92
2.9.1 技术支持模块概述 92
2.9.2 技术支持模块技术分析 93
2.9.3 常见问题的实现过程 94
2.9.4 客户反馈的实现过程 95
2.9.5 单元测试 96
2.10 在线订购模块设计 97
2.10.1 在线订购模块概述 97
2.10.2 在线订购模块技术分析 97
2.10.3 购物车的实现过程 100
2.10.4 商品订单的实现过程 102
2.10.5 单元测试 103
2.11 社区论坛模块设计 104
2.11.1 社区论坛模块概述 104
2.11.2 社区论坛模块技术分析 105
2.11.3 论坛分类的实现过程 105
2.11.4 论坛帖子浏览的实现过程 107
2.11.5 论坛帖子发布的实现过程 110
2.11.6 论坛帖子回复的实现过程 113
2.11.7 单元测试 114
2.12 后台首页设计 115
2.12.1 后台首页概述 115
2.12.2 后台首页技术分析 115
2.12.3 后台首页的实现过程 117
2.13 编程词典管理模块设计 118
2.13.1 编程词典管理模块概述 118
2.13.2 编程词典管理模块技术分析 119
2.13.3 添加编程词典的实现过程 120
2.13.4 编辑编程词典的实现过程 122
2.14 软件升级管理模块设计 124
2.14.1 软件升级管理模块概述 124
2.14.2 软件升级管理模块技术分析 124
2.14.3 软件升级包上传的实现过程 125
2.14.4 软件升级包删除的实现过程 126
2.15 在Linux系统下发布网站 127
2.16 开发技巧与难点分析 129
2.16.1 管理员权限的设置 129
2.16.2 帖子置顶的设置 130
2.17 在线支付技术专题 131
2.18 本章总结 135
第3章 办公自动化管理系统（Apache+PHP+
phpMyAdmin+MySQL 5.0实现） 136
视频讲解：1小时40分钟
3.1 开发背景 137
3.2 需求分析 137
3.3 系统设计 137
3.3.1 系统目标 137
3.3.2 系统功能结构 138
3.3.3 系统功能预览 139
3.3.4 系统流程图 140
3.3.5 开发环境 141
3.3.6 文件夹组织结构 142
3.4 数据库设计 142
3.4.1 数据库分析 142
3.4.2 数据库概念设计 143
3.4.3 数据库物理结构设计 143
3.5 公共模块设计 145
3.5.1 JavaScript脚本 145
3.5.2 自定义函数 146
3.6 前台首页设计 147
3.6.1 前台首页概述 148
3.6.2 前台首页技术分析 148
3.6.3 前台首页的实现过程 150
3.7 人事消息模块设计 151
3.7.1 人事消息模块概述 151
3.7.2 人事消息模块技术分析 151
3.7.3 消息管理的实现过程 152
3.7.4 意见箱的实现过程 156
3.8 考勤管理模块设计 159
3.8.1 考勤管理模块概述 160
3.8.2 考勤管理模块技术分析 161
3.8.3 上下班登记的实现过程 162
3.8.4 设置时间的实现过程 166
3.9 后台首页设计 168
3.9.1 后台首页概述 168
3.9.2 后台首页技术分析 169
3.9.3 后台首页的实现过程 169
3.10 部门管理模块设计 170
3.10.1 部门管理模块概述 170
3.10.2 部门管理模块技术分析 171
3.10.3 部门查看的实现过程 173
3.10.4 部门添加的实现过程 176
3.10.5 单元测试 178
3.11 系统管理模块设计 178
3.11.1 系统管理模块概述 178
3.11.2 系统管理模块技术分析 179
3.11.3 系统日志的实现过程 180
3.11.4 数据备份的实现过程 182
3.12 开发技巧与难点分析 183
3.12.1 使用JavaScript关联多选列表框 183
3.12.2 用户组设置 185
3.13 MySQL数据备份专题 186
3.14 本章总结 188
第4章 电子商务平台网（Apache+PHP+
phpMyAdmin+MySQL 5.0实现） 189
视频讲解：1小时26分钟
4.1 开发背景 190
4.2 系统分析 190
4.2.1 需求分析 190
4.2.2 可行性分析 191
4.3 系统设计 191
4.3.1 系统目标 191
4.3.2 系统功能结构 192
4.3.3 购物流程图 193
4.3.4 系统预览 194
4.3.5 开发环境 195
4.3.6 文件夹组织结构 195
4.4 数据库设计 196
4.4.1 数据库分析 196
4.4.2 数据库概念设计 196
4.4.3 创建数据库及数据表 198
4.5 公共模块设计 202
4.5.1 数据库连接文件 202
4.5.2 CSS样式表文件 203
4.6 前台首页设计 204
4.6.1 前台首页概述 205
4.6.2 前台首页技术分析 205
4.6.3 前台首页的实现过程 208
4.7 商品展示模块设计 208
4.7.1 商品展示模块概述 209
4.7.2 商品展示模块技术分析 209
4.7.3 商品分类展示的实现过程 211
4.7.4 最新商品展示的实现过程 212
4.7.5 查看商品详细信息的实现过程 213
4.7.6 单元测试 214
4.8 购物车模块设计 216
4.8.1 网站购物车概述 216
4.8.2 网站购物车技术分析 217
4.8.3 添加至购物车的实现过程 217
4.8.4 查看购物车的实现过程 219
4.8.5 从购物车中移去指定商品的实现过程 221
4.8.6 修改商品购买数量的实现过程 222
4.8.7 清空购物车的实现过程 222
4.8.8 收银台结账的实现过程 223
4.8.9 生成商品订单的实现过程 225
4.8.10 单元测试 227
4.9 后台首页设计 228
4.9.1 后台首页概述 228
4.9.2 后台首页技术分析 228
4.9.3 后台首页的实现过程 230
4.10 客户订单信息管理模块设计 231
4.10.1 客户订单信息管理模块概述 231
4.10.2 客户订单信息管理模块技术分析 231
4.10.3 查看客户订单信息的实现过程 232
4.10.4 执行客户订单信息的实现过程 234
4.10.5 打印客户订单信息的实现过程 236
4.10.6 查找客户订单信息的实现过程 237
4.11 开发技巧与难点分析 239
4.11.1 防止非法用户绕过系统登录直接进入
系统 239
4.11.2 检测用户名是否已经注册 240
4.11.3 用户安全退出 241
4.12 加密技术专题 241
4.12.1 URL编码加密技术 241
4.12.2 base64编码加密技术 242
4.12.3 crypt()加密技术 242
4.12.4 MD5加密技术 243
4.13 本章总结 243
第5章 网络在线考试系统（Apache+PHP+
Ajax+SQL Server 2000实现） 244
视频讲解：1小时23分钟
5.1 开发背景 245
5.2 系统分析 245
5.2.1 需求分析 245
5.2.2 可行性分析 245
5.3 系统设计 246
5.3.1 系统目标 246
5.3.2 系统功能结构 246
5.3.3 系统流程图 246
5.3.4 系统预览 248
5.3.5 开发环境 249
5.3.6 文件夹组织结构 249
5.4 数据库设计 249
5.4.1 数据库分析 249
5.4.2 数据库概念设计 250
5.4.3 数据库物理结构 251
5.5 前台首页设计 252
5.5.1 前台首页概述 252
5.5.2 前台首页技术分析 253
5.5.3 前台首页的实现过程 253
5.6 考生信息模块设计 254
5.6.1 考生信息模块概述 254
5.6.2 考生信息模块的技术分析 255
5.6.3 考生注册的实现过程 257
5.6.4 单元测试 261
5.7 在线考试模块设计 261
5.7.1 在线考试模块的概述 261
5.7.2 在线考试模块的技术分析 262
5.7.3 应用Ajax在线答题的实现过程 264
5.7.4 分数统计和成绩保存的实现过程 267
5.7.5 单元测试 267
5.8 后台首页设计 268
5.8.1 后台首页概述 268
5.8.2 后台首页技术分析 269
5.8.3 后台首页的实现过程 269
5.9 考题信息管理模块设计 270
5.9.1 考题信息管理模块的概述 270
5.9.2 考题信息管理模块的技术分析 270
5.9.3 考题信息添加的实现过程 271
5.9.4 查询考题信息的实现过程 272
5.10 开发技巧与难点分析 276
5.10.1 考生登录编号的获取 276
5.10.2 通过Ajax技术实现计时与显示剩余
时间 276
5.11 Ajax无刷新技术专题 278
5.11.1 Ajax概述 278
5.11.2 Ajax的优点 279
5.11.3 Ajax的工作原理 279
5.11.4 Ajax的工作流程 281
5.11.5 Ajax中的核心技术XMLHttpRequest 281
5.12 本章总结 282
第6章 物流配送信息网（Apache+PHP+
phpMyAdmin+MySQL 5.0实现） 283
视频讲解：1小时27分钟
6.1 开发背景 284
6.2 系统分析 284
6.2.1 需求分析 284
6.2.2 可行性分析 284
6.3 系统设计 285
6.3.1 系统目标 285
6.3.2 系统功能结构 285
6.3.3 系统预览 285
6.3.4 开发环境 288
6.3.5 文件夹组织结构 288
6.4 数据库设计 288
6.4.1 数据库分析 289
6.4.2 数据库概念设计 289
6.4.3 创建数据库及数据表 290
6.5 网站首页设计 292
6.5.1 网站首页概述 292
6.5.2 网站首页技术分析 293
6.5.3 网站首页的实现过程 294
6.6 车源信息查询模块设计 295
6.6.1 车源信息查询模块概述 295
6.6.2 车源信息查询模块技术分析 295
6.6.3 车源信息查询模块的实现过程 297
6.6.4 单元测试 297
6.7 发货单管理模块设计 298
6.7.1 发货单管理模块概述 298
6.7.2 发货单管理模块技术分析 299
6.7.3 发货单填单的实现过程 301
6.7.4 发货单查询的实现过程 303
6.7.5 发货单打印的实现过程 305
6.7.6 单元测试 306
6.8 回执单验收管理模块设计 307
6.8.1 回执单模块概述 307
6.8.2 回执单模块技术分析 307
6.8.3 回执单验收模块的实现过程 309
6.9 基础信息管理模块设计 310
6.9.1 基础信息管理模块概述 310
6.9.2 基础信息管理模块技术分析 311
6.9.3 客户信息管理的实现过程 312
6.9.4 车源信息管理的实现过程 313
6.10 开发技巧与难点分析 316
6.10.1 应用存储过程实现管理员登录 316
6.10.2 应用正则表达式验证电话号码 318
6.11 报表打印技术 319
6.12 本章总结 322
......序言前 言（第2版）
编写背景
“软件项目开发全程实录”丛书（第1版）出版两年来，受到了广大读者的热烈欢迎，目前该丛书已经累计销售近10万册，成为近年来最畅销的编程案例类丛书之一。应读者朋友的要求，我们根据最新的市场变化并结合广大读者的建议，编写了该丛书的第2版。
从技术背景来看，PHP是全球最普及、应用最广泛的互联网开发语言之一，它有开放的源代码，独特的语法结构，包含了C、Java、Perl等语言的特点，具有多种数据库的支持，并且支持跨平台的操作，支持面向对象的编程，而且是完全免费的。PHP越来越受到广大程序员的青睐和认同，正在逐渐成为程序开发者使用的主流语言。
为了帮助众多学习PHP的读者提高PHP项目开发水平，笔者精心编著了本书。本书充分利用PHP在应用程序的设计和开发上的灵活高效的特点，以12个实用的网络程序为案例，详细地讲解整个项目的开发过程。
本书内容
本书共12章。第1、2、3、4、6、7、8章结合目前最常用的MySQL5.0数据库分别开发了九九度供求信息网、BCTY365网上社区系统、办公自动化管理系统、电子商务平台、物流配送信息网、学校图书馆管理系统和博客管理系统；第5章应用目前最流行的Ajax技术结合最常用的SQLServer2000数据库开发在线考试网，从而实现一个无刷新的在线考试系统；第9章结合最新的Access2003数据库开发企业快信网，其中应用WebService服务实现短信的发送，应用imap电子邮件系统函数实现邮件的收发；第10章结合目前流行的ADODB类库开发支持不同数据库的Online影视365网，可以根据用户的需求更换不同类型的数据库；第11章应用ZendFramework框架开发一个明日知道网站，打造一个更加专业化的编程技术搜索引擎。第12章应用Smarty模板和ADODB类库技术开发一个电子商务网站。
第2版所做的改进
在第2版中，我们主要遵循以下原则对第1版内容进行修改。
增加了内容
针对目前PHP语言得到越来越广泛的应用的特点，我们增加明日知道搜索引擎和电子商务网站两个系统，以便读者更好地学习PHP知识。
使用最新技术
在第1版中项目开发应用的是PHP、MySQL、SQLServer和ADODB等技术，在第2版中引入ZendFramework框架、Smarty模板和Ajax技术，开发目前最具实用性的Web程序，以适应读者的需要。
修改了第1版中的错误
对于第1版中出现的错误，或者运行异常的程序进行修订，以便读者更好地学习。
本书特点
视频讲解
对于初学者来说，视频讲解是最好的导师，它能够引导初学者快速入门，使初学者感受到编程的快乐和成就感，进一步增强学习的信心。鉴于此，本书为每一个案例都配备了视频讲解，初学者可以通过视频讲解实现案例中的功能。
案例典型
本书案例均从实际应用角度出发，应用了当前流行的技术，涉及的知识广泛，读者可以从每个案例中积累丰富的实战经验。
代码注释
为了便于读者阅读程序代码，书中的代码几乎每行都有注释，并且整齐地纵向排列，使读者快速地领会作者的意图。
代码贴士
案例类书籍通常会包含大量的程序代码，冗长的代码往往令初学者望而生畏。为了方便读者阅读和理解代码，本书避免了连续大篇幅的代码，将其分割为多个部分，并对重要的变量、方法和知识点设计了颇具特色的“代码贴士”。
知识扩展
为了增加读者的编程经验和技巧，书中每个案例都标记有“注意”、“技巧”等提示信息，并且在每章内容中都提供一项专题技术。
适合读者
本书定位于想要使用PHP进行网站开发的初中级读者，一些案例对于高级用户也具有很好的参考价值。同时，本书也特别适合作为大专院校计算机专业广大师生的案例参考书。对于初学者来说不必担心书中的案例做不出来，因为本书附带光盘中的视频录像会引导您去做，再结合书中的知识讲解，相信初学者不但会做案例程序，而且能够根据理解自行设计类似的程序。
本书约定
由于篇幅有限，本书每章并不能逐一介绍案例中的各模块。作者选择其中基础和典型的模块进行介绍，对于功能重复的模块，由于技术、设计思路和实现过程基本相同，因此没有在书中体现。
本书中涉及的功能模块在光盘中都附带有视频录像，方便读者学习。
作者队伍
本书由明日科技PHP软件开发团队组织编写。明日科技是一家以计算机软件技术为核心的高科技企业，是专业的应用软件开发和服务企业，多年来始终致力于行业管理软件开发、行业电子商务网站开发等领域，涉及生产、管理、控制、仓贮、物流、营销、服务等行业。另外，公司还致力于软件技术的普及和传播。
参与本书编写的程序员有：刘中华、潘凯华、杨明、董大永、尹强、李继业、张磊、赛奎春、高春艳、宋坤、刘锐宁、梁水、李伟明、王小科、王军、赵会东、刘彬彬、安剑、孙秀梅、巩建华、房大伟、吕双、刘云峰、王国辉、李钟尉、张振坤、陈丹丹、卢翰、白伟明、刘欣、李慧、梁晓岚、杨丽、顾丽丽、刘龄龄、于长凤、张彦国、王乐乐、陈英、刘莹、李贺等。