
PHP为全球最普及的互联网开发语言之一。本书从实际应用出发,由浅入深地介绍了PHP以及相关技术,并且通过大量来源于实际项目的案例,详尽地讲解了PHP的技术要点和开发过程。它将PHP与MySQL的完美结合中最有效、安全、实用的部分展现在读者面前,使读者获取最大的收获。本书选例精确,讲解细致,理论结合实际,突出实用特性,通过实例的讲解来让读者理解PHP和体会PHP的运用。全书包括投票系统、流量统计系统、聊天室系统、网上考试系统、博客系统、内容管理系统和网上商城等7个案例。
本书适合从事网站开发的中高级技术人员、中小企业管理软件的项目开发人员、学习网站及数据库设计的大中专院校师生以及社会培训学员阅读,受众范围广泛。
前 言
作为全球最普及的互联网开发语言之一,PHP从1994年诞生至今已被2000多万个网站采用。全球知名互联网公司Yahoo!、Goolge、Lycos、YouTube和中国知名网站新浪、百度、腾讯、TOM等均是PHP技术的经典应用。
随着PHP技术的成熟和完善,它已经从一种针对网络开发的计算机语言发展成为了一个适合于企业级部署的技术平台。IBM、Cisco、西门子、Adobe等公司均选用了PHP技术。PHP将成为互联网开发的主流语言。2005年7月,PHP 5诞生了。PHP 5的诞生使得PHP进入了一个新的时代。Zend II引擎的采用、完备对象模型、改进的语法设计使得PHP成为一个设计完备、真正具有面向对象能力的脚本语言。
本书特色
本书是作者在精心研究了市面上的同类书籍之后,汲取多年从事PHP领域的工作经验和体会而编写的。与其他同类图书相比,本书有以下几大特点。
1.案例典型
本书选择的实例均是精挑细选的,颇具行业应用代表性。本书包括内容管理、博客、流量统计、考试系统、网上商城等系统的讲解。
2.分析详尽
市面上的一些同类书籍一般都是直接讲解实例的操作步骤,缺乏必要的分析和过渡过程,使读者不能达到活学活用的目的。本书中每个案例都进行了详尽的分析,使读者对其有一个全面的认识。例如Blog系统中,从系统背景、系统模块分析到数据库的建立,再到每个模块的讲解都非常详细。
3.操作过程
操作步骤的讲解详尽仔细,没有跳步和漏步,读者只要依照书中步骤操作即可得到相应的效果。例如投票系统中,从后台制作到前台显示的处理,每个模块都进行了详细的介绍。
4.涵盖知识点全面
本书内容中除了PHP的一些基础知识点外,还包含了PHP 5和MySQL 5的新特性,如PHP 5的异常处理、MySQL 5的事务处理等。例如投票系统中讲解的数据处理基础模块中用到了异常处理和事务处理,流量统计系统中运用了PHP的系统预定义变量。
5.注重新技术应用
本书包含多种新技术,例如,第3章采用了Ajax技术实现动态刷新;第5章采用了RSS阅读技术;第7章采用了Zend扩展框架技术;第2章采用了JavaScript跨平台技术,而附录A介绍了PHP国际化技术。
6.多媒体视频教学
在本书的配书光盘中配有多媒体视频演示,可以让读者快速部署开发环境,运行本书的案例。
本书内容
第1章讲解投票系统的开发。针对初学者,本章讲解PHP连接数据库和数据库表的基本操作方法,可以快速上手。本章还讲解了客户端语言JavaScript的运用,使读者对它有个初步的了解。
第2章讲解流量统计系统的开发。本章讲解了很多PHP的预定义变量,使读者对预定义变量有一定的了解,本书结合实例的讲解方式让读者可以掌握这些变量的运用。
第3章讲解聊天室系统的开发。本章涉及新技术Ajax的运用。Ajax在网站中的运用大大增强了网站的用户体验,Ajax的最大特点就是实现页面无刷新的请求。本章结合实例讲解可使读者更深刻地理解Ajax。
第4章讲解网上考试系统的开发。本章着重前台表单选项按钮的处理,这是网站制作中常遇到的问题。
第5章讲解博客系统的开发。博客是时下非常流行的Web 2.0的常用系统。本章运用了单一入口的网站架构,让读者对网站的部署和架构有一定的了解。
第6章讲解内容管理系统的开发。内容管理系统是一个较大型的系统,本章着重培养读者的系统分析能力,把一个大型的系统拆分成一个个的小模块讲解。
第7章讲解网上商城的开发。本章的网上商城系统采用MVC的架构,使用官方的Zend Framework框架来制作。通过本章的学习,读者对PHP的理解和开发技能可以上一个新台阶。
最后还有两个附录,讲解PHP国际化方法以及PHP环境的配置方法。
适合的读者
? 从事网站开发的中高级技术人员。
? 中小企业管理软件的项目开发人员。
? 学习网站及数据库设计的大中专院校的师生。
? 社会培训学员。
技术支持
本书有专有论坛:http://www.douban.com/group/33191/(后面的“/”不能省略,否则无法登录)。作者的邮箱是sxyufeng@163.net。
本书作者
本书由强锋科技统筹,由陈军主笔编写。其他参与编写、资料整理和光盘制作的人员有王龙、王拥东、吴善才、徐砚颖、尹健慧、詹涵林、张薇、张小强、张运端、赵玉荣、郑慧、朱博、朱朝坤、邹小红、陈强、陈燕、丁凤霞、丁礼友、范忠诚、黄俊灿、贾伟、李喜彤、林垚、尚文谊、孙亮亮、唐崇敏、陶则熙等。在此对大家的辛勤工作一并表示感谢!
编著者
2007年4月
目 录
第1章 投票系统(PHP+MySQL) 1
1.1 系统分析 2
1.1.1 系统背景 2
1.1.2 系统模块分析 2
1.1.3 系统流程图 3
1.2 数据库建立 3
1.3 数据库操作基础模块 5
1.3.1 配置文件config.inc.php 5
1.3.2 数据操作文件db.inc.php 5
1.4 投票管理模块 8
1.4.1 调查类文件vote.inc.php 8
1.4.2 调查列表文件VoteList.php 13
1.4.3 添加调查文件AddVote.php 14
1.4.4 编辑调查文件EditVote.php 21
1.4.5 删除调查文件DelVote.php 26
1.4.6 调查选项列表文件ItemList.php 27
1.4.7 添加、编辑调查选项文件OperItem.php 28
1.4.8 选项顺序设置文件SetOrder.php 30
1.4.9 删除调查选项文件DelItem.php 33
1.4.10 用户统计信息列表文件UserList.php 33
1.4.11 区域统计文件AreaList.php 35
1.5 调查显示模块 37
1.6 投票处理模块 38
1.7 调查结果显示模块 41
1.8 小结 42
第2章 流量统计系统(PHP+MySQL+JavaScript) 43
2.1 系统分析 44
2.1.1 系统背景 44
2.1.2 系统模块分析 44
2.1.3 系统流程图 45
2.2 数据库建立 45
2.3 数据统计模块 48
2.3.1 统计js文件 48
2.3.2 统计类文件stat.inc.php 49
2.3.3 统计文件count.php 57
2.4 数据统计显示模块 58
2.4.1 统计显示类文件display.inc.php 58
2.4.2 统计首页文件Index.php 59
2.5 分时统计模块 64
2.5.1 24小时统计文件TodayHour.php 64
2.5.2 小时统计文件Hour.php 67
2.5.3 天统计文件Day.php 72
2.5.4 月统计文件Month.php 76
2.5.5 年统计文件Year.php 79
2.6 客户端统计模块 81
2.6.1 统计显示类文件 82
2.6.2 客户端统计文件 83
2.7 来路统计模块 85
2.8 搜索引擎统计模块 87
2.9 小结 90
第3章 聊天室系统(Ajax) 91
3.1 系统分析 92
3.1.1 系统背景 92
3.1.2 系统模块分析 92
3.1.3 系统流程图 93
3.2 数据库建立 94
3.3 数据处理模块 95
3.4 用户注册模块 97
3.4.1 主页面文件Register.html 98
3.4.2 客户端文件 99
3.4.3 服务器端文件Register.php 104
3.5 用户登录模块 105
3.6 聊天室功能模块 107
3.6.1 主页面Index.php 107
3.6.2 在线用户列表功能 114
3.6.3 发言显示功能 116
3.6.4 发言功能 119
3.6.5 查看聊天记录功能 119
3.7 小结 121
第4章 网上考试系统(PHP+MySQL) 123
4.1 系统分析 124
4.1.1 系统背景 124
4.1.2 系统模块分析 124
4.1.3 系统流程图 124
4.2 数据库建立 125
4.3 后台用户管理 127
4.3.1 用户类文件User.inc.php 127
4.3.2 用户列表文件UserList.php 128
4.3.3 添加编辑文件UserAdd.php 131
4.4 科目管理 134
4.4.1 科目类文件Class.inc.php 134
4.4.2 科目列表文件ClassList.php 135
4.4.3 添加编辑科目文件ClassAdd.php 136
4.4.4 删除科目文件DelClass.php 138
4.5 题库管理 139
4.5.1 题库类文件Data.inc.php 139
4.5.2 题库列表文件DataBaseList.php 140
4.5.3 添加编辑题库文件DataBaseAdd.php 144
4.5.4 客观题列表文件ObjList.php 146
4.5.5 添加编辑客观题文件ObjAdd.php 150
4.5.6 设置客观题顺序文件ObjOrder.php 152
4.5.7 客观题选项列表文件ItemList.php 155
4.5.8 添加编辑选项文件ItemAdd.php 157
4.5.9 删除选项文件DelItem.php 159
4.5.10 设置选项顺序文件ItemOrder.php 160
4.5.11 主观题列表文件SubList.php 161
4.5.12 添加编辑主观题文件SubAdd.php 164
4.5.13 设置主观题顺序文件SubOrder.php 166
4.6 前台功能 169
4.6.1 用户登录文件Login.php 169
4.6.2 修改密码文件ChangPwd.php 170
4.6.3 科目列表文件ClassList.php 172
4.6.4 题库列表文件DataList.php 173
4.6.5 客观题列表文件ObjList.php 175
4.6.6 主观题列表文件SubList.php 179
4.7 小结 181
第5章 博客系统(Blog+RSS) 183
5.1 系统分析 184
5.1.1 系统背景 184
5.1.2 系统模块分析 184
5.1.3 系统文件部署 186
5.1.4 系统流程图 186
5.2 数据库建立 187
5.3 前台入口文件 189
5.3.1 配置文件config.inc.php 190
5.3.2 入口文件Index.php 190
5.3.3 密码输入文件Password.php 191
5.3.4 博客密码检查文件Check.php 193
5.3.5 Blog类文件blog.inc.php 193
5.4 用户模块 195
5.4.1 用户类文件user.inc.php 195
5.4.2 用户注册文件Register.php 197
5.4.3 用户名检查文件CheckUser.php 204
5.4.4 验证码文件GetVerifyImg.php 205
5.4.5 用户登录文件Login.php 206
5.5 文章显示模块 207
5.5.1 文章列表文件List.php 208
5.5.2 右部分文件Right.php 213
5.5.3 日历文件Calendar.php 216
5.5.4 文章详细显示文件Post.php 219
5.5.5 文章评论文件Comments.php 223
5.6 Blog管理模块 224
5.6.1 入口文件Index.php 224
5.6.2 分类管理文件Class.php 225
5.6.3 分类删除文件ClassDel.php 228
5.6.4 写文章文件Post.php 229
5.6.5 文章列表文件PostList.php 234
5.6.6 文章删除文件DelPost.php 236
5.6.7 评论列表文件Comments.php 237
5.6.8 评论删除文件DelComments.php 239
5.6.9 Blog设置文件BlogSet.php 239
5.6.10 个人设置文件UserSet.php 243
5.7 RSS模块 245
5.7.1 RSS组成元素 245
5.7.2 RSS文件Rss.php 246
5.8 小结 247
第6章 内容管理系统(CMS+SSI) 249
6.1 系统分析 250
6.1.1 系统背景 250
6.1.2 系统模块分析 250
6.1.3 系统文件部署 251
6.1.4 系统流程图 252
6.2 数据库建立 253
6.3 后台登录 256
6.3.1 配置文件config.inc.php 256
6.3.2 登录文件Login.php 257
6.3.3 用户类文件user.inc.php 258
6.4 后台页面框架 259
6.4.1 首页文件Index.php 260
6.4.2 实现左导航隐藏文件changewin.html 260
6.4.3 左导航文件Left.php 261
6.5 管理员管理模块 265
6.5.1 权限检测文件Check.php 265
6.5.2 管理员列表文件AdminList.php 265
6.5.3 添加管理员文件AddAdmin.php 267
6.5.4 编辑管理员文件EditAdmin.php 271
6.5.5 删除管理员文件DelAdmin.php 274
6.5.6 修改密码文件EditPwd.php 274
6.5.7 组列表文件GroupList.php 276
6.5.8 添加编辑组文件AddGroup.php 277
6.5.9 删除组文件DelGroup.php 283
6.6 栏目管理模块 284
6.6.1 栏目列表文件ClassList.php 284
6.6.2 栏目信息文件ClassInfo.php 287
6.6.3 添加编辑栏目文件ClassAdd.php 290
6.6.4 添加编辑处理文件ClassAddOk.php 296
6.6.5 删除栏目文件ClassDel.php 297
6.6.6 生成栏目首页文件GenList.php 299
6.6.7 生成RSS页文件GenRss.php 303
6.7 信息管理模块 304
6.7.1 信息列表文件NewsList.php 304
6.7.2 添加编辑信息文件NewsAdd.php 310
6.7.3 添加编辑处理文件NewsAddOk.php 314
6.7.4 删除信息文件DelNews.php 316
6.7.5 生成页面文件GenContent.php 317
6.7.6 图片列表文件PicList.php 321
6.7.7 上传图片文件Upload.php 323
6.7.8 删除图片文件DelPic.php 324
6.7.9 信息审核列表文件CheckList.php 325
6.7.10 回收站列表文件ReloadList.php 327
6.8 评论管理模块 330
6.8.1 评论列表文件CommentsList.php 330
6.8.2 删除评论文件DelComments.php 332
6.9 常用连接模块 333
6.9.1 常用连接列表文件LinkList.php 333
6.9.2 添加编辑常用连接文件LinkAdd.php 336
6.10 文件管理模块 338
6.10.1 列表文件Left.php 338
6.10.2 文件列表文件List.php 340
6.10.3 删除文件Delete.php 342
6.11 首页设置 343
6.11.1 首页设置文件Index.php 343
6.11.2 生成首页文件GenIndex.php 345
6.12 Apache服务器包含(SSI)的使用 346
6.13 模板管理 347
6.13.1 模块列表文件TemplateList.php 347
6.13.2 模块类文件Template.inc.php 349
6.13.3 添加编辑文件TemplateAdd.php 350
6.13.4 预览模块文件TemplateView.php 360
6.13.5 代码查询文件CodeSearch.php 361
6.14 批量刷新管理 363
6.14.1 批量刷新信息主页文件PubMain.php 363
6.14.2 刷新显示页面文件Pub.php 365
6.14.3 刷新指定信息文件GenBatchContent.php 366
6.14.4 刷新处理文件DealContent.php 366
6.14.5 刷新栏目文件GenAllList.php 367
6.14.6 栏目刷新处理文件DealClass.php 368
6.14.7 刷新RSS文件GenAllRss.php 369
6.14.8 XML刷新处理文件DealRss.php 369
6.15 小结 370
第7章 网上商城(Zend扩展) 371
7.1 系统分析 372
7.1.1 系统背景 372
7.1.2 系统模块分析 372
7.1.3 系统流程图 374
7.2 数据库建立 374
7.3 框架扩展 378
7.3.1 Core_Controller_Action类 378
7.3.2 Core_Db_Table类 380
7.3.3 Core_View_Smarty类 381
7.3.4 Core_Pager类 382
7.3.5 Core_Security_Verify类 385
7.3.6 Core_Upload类 386
7.3.7 Core_Security_Serial类 387
7.4 配置和引导文件 389
7.4.1 配置文件Config.ini.php 389
7.4.2 前台引导文件 390
7.4.3 后台引导文件 390
7.5 类别管理 391
7.5.1 类别列表功能 391
7.5.2 类别信息显示功能 394
7.5.3 添加编辑类别功能 400
7.5.4 设置类别顺序功能 405
7.5.5 删除类别功能 407
7.5.6 设置显示参数功能 408
7.5.7 产品属性列表功能 414
7.5.8 添加编辑属性功能 416
7.5.9 删除产品属性功能 420
7.5.10 设置属性顺序功能 420
7.6 产品管理 422
7.6.1 产品列表功能 422
7.6.2 添加编辑产品功能 426
7.6.3 设置产品顺序功能 431
7.7 新产品管理 433
7.7.1 新产品列表 433
7.7.2 添加新产品 435
7.7.3 设置新产品顺序 441
7.8 推荐产品管理 442
7.8.1 推荐产品列表 443
7.8.2 添加推荐产品 445
7.8.3 设置推荐产品顺序 447
7.9 配置管理 449
7.9.1 配置列表 449
7.9.2 编辑配置信息 451
7.10 用户管理 453
7.10.1 用户列表 453
7.10.2 群发邮件 458
7.10.3 查看用户详细信息 460
7.11 订单管理 462
7.11.1 订单列表 462
7.11.2 订单详情 470
7.12 反馈信息管理 472
7.12.1 反馈信息列表 472
7.12.2 发送邮件 474
7.13 前台用户模块 476
7.13.1 用户注册 477
7.13.2 用户激活 487
7.13.3 用户登录 489
7.13.4 忘记密码 494
7.14 产品模块 498
7.14.1 新产品列表 498
7.14.2 分类产品列表 501
7.14.3 产品搜索 504
7.14.4 产品详情 507
7.15 购物车及订单查询 513
7.15.1 购物车产品列表 513
7.15.2 产品订购 516
7.15.3 清空购物车 517
7.15.4 更新产品数量 518
7.15.5 删除购物车产品 519
7.15.6 下订单 520
7.15.7 订单查询 528
7.16 小结 532
附录A 国际化 533
A.1 系统分析 533
A.1.1 系统背景 533
A.1.2 系统模块分析 533
A.1.3 系统流程图 534
A.2 数据库建立 535
A.3 语言数据字典管理模块 536
A.3.1 数据表操作文件dict.inc.php 537
A.3.2 字典列表文件DictList.php 539
A.3.3 添加数据处理文件AddDict.php 541
A.3.4 编辑数据处理文件EditDict.php 541
A.3.5 删除数据处理文件DelDict.php 542
A.4 语言字典管理模块 542
A.4.1 数据表操作文件lang.inc.php 542
A.4.2 语言列表文件LangList.php 545
A.4.3 语言添加文件LangAdd.php 547
A.4.4 语言编辑文件LangEdit.php 547
A.4.5 语言删除文件LangDel.php 548
A.4.6 语言翻译文件TransList.php 549
A.4.7 语言编译处理文件Complie.php 551
A.5 语言选择和设置模块 552
A.5.1 语言设置类文件core.inc.php 552
A.5.2 语言选择文件LangSet.php 553
A.6 模板处理模块 554
A.7 小结 556
附录B PHP+MySQL环境配置 557
B.1 安装Apache 557
B.2 安装MySQL 557
B.3 安装PHP 558
B.4 配置 559
B.5 测试安装 560
B.6 本书程序运行设置 560