第1章 Web2.0概念与图谱 2
1.1 从Web1.0到Web2.0 2
1.2 Web2.0概念诠释 3
1.3 Web2.0图谱 3
1.3.1 信息发布 4
1.3.2 信息获取 4
1.3.3 信息共享 4
1.3.4 沟通交流 5
1.3.5 网络新媒体 5
1.3.6 国内外著名Web2.0网站 5
第2章 Web2.0元素详解 7
2.1 信息发布功能的三大元素 7
2.1.1 Blog 7
2.1.2 Ajax 9
2.1.3 Comment 10
2.2 信息获取功能的五大元素 11
2.2.1 RSS 11
2.2.2 Bookmark 12
2.2.3 Digg 12
2.2.4 Search 13
2.2.5 CMS 14
2.3 信息共享功能的五大元素 14
2.3.1 Wiki 15
2.3.2 P2P 16
2.3.3 Tag 17
2.3.4 TrackBack 17
2.3.5 Permission 18
2.4 沟通交流功能的六大元素 18
2.4.1 SNS 18
2.4.2 IM 19
2.4.3 BBS 19
2.4.4 E-mail 19
2.4.5 聊天室 20
2.4.6 留言板 20
2.5 网络新媒体功能的九大元素 20
2.5.1 网络硬盘 21
2.5.2 网站统计 21
2.5.3 网络投票 21
2.5.4 网络相册 21
2.5.5 网络地图 22
2.5.6 网络游戏 22
2.5.7 网络广告 22
2.5.8 网络多媒体 22
2.5.9 电子商务 23
第3章 Web2.0开发技术PHP 24
3.1 PHP是什么 24
3.1.1 PHP简介 24
3.1.2 PHP的起源和背景 25
3.1.3 PHP的优点和特点 26
3.1.4 竞争对手:ASP,mod_perl,JSP 27
3.2 PHP能做什么 28
3.2.1 服务器端程序 28
3.2.2 命令行程序 28
3.2.3 桌面应用程序 29
3.3 PHP有什么支撑环境 29
3.3.1 服务器支持 29
3.3.2 数据库支持 29
3.3.3 工具支持 30
3.3.4 PHPIDE工具 30
3.4 小结 31
第4章 PHP开发入门 34
4.1 PHP对运行环境的要求 34
4.1.1 对硬件的要求 34
4.1.2 对操作系统的要求 34
4.1.3 对软件环境的要求 34
4.2 PHP+Apache在WindowsXP下的安装和配置 34
4.2.1 安装与配置Apache2.2 34
4.2.2 安装与配置PHP 39
4.2.3 配置Apache使之支持PHP 39
4.2.4 配置PHP使之支持MySQL 40
4.2.5 测试PHP环境 41
4.3 PHP+IIS在WindowsXP下的安装和配置 42
4.3.1 安装IIS 42
4.3.2 安装与配置PHP 43
4.3.3 配置IIS的PHP映射 44
4.3.4 测试PHP环境 45
4.3.5 总结 46
4.4 熟悉PHP安装环境 46
4.4.1 PHP4目录结构 46
4.4.2 PHP5目录结构 47
4.4.3 PHP4和PHP5目录结构的比较 48
4.5 新建一个PHPHelloWorld小程序 48
4.6 小结 49
第5章 PHP基本语法 50
5.1 PHP文件构成 50
5.1.1 一个典型的PHP文件 50
5.1.2 分析PHP文件中的元素 51
5.2 PHP基本语法 51
5.2.1 PHP标记方式 51
5.2.2 PHP注释方式 52
5.2.3 PHP引用文件方式 52
5.3 PHP常量 53
5.3.1 常量命名规则 53
5.3.2 定义常量的语法 53
5.3.3 预定义常量 54
5.4 PHP变量 54
5.4.1 变量命名规则 54
5.4.2 变量的作用域 55
5.4.3 可变变量 56
5.4.4 预定义变量 57
5.4.5 表单变量 57
5.5 PHP数据类型 59
5.5.1 布尔型 59
5.5.2 整型 60
5.5.3 浮点型 60
5.5.4 字符串 60
5.5.5 数组 62
5.5.6 对象 62
5.5.7 改变变量类型 63
5.6 PHP运算符 63
5.6.1 运算符的优先级 63
5.6.2 算术运算符 64
5.6.3 赋值运算符 64
5.6.4 位运算符 64
5.6.5 比较运算符 65
5.6.6 递增/递减运算符 65
5.6.7 逻辑运算符 65
5.6.8 字符串运算符 66
5.6.9 其他运算符 66
5.7 小结 66
第6章 PHP流程控制 67
6.1 if...else...结构 67
6.1.1 if结构 67
6.1.2 if...else结构 68
6.1.3 if...else...elseif结构 68
6.2 do...while结构 69
6.2.1 while结构 69
6.2.2 do...while结构 70
6.3 for结构 70
6.3.1 普通for结构 70
6.3.2 foreach结构 71
6.4 switch结构 72
6.5 其他的流程控制 73
6.5.1 break 73
6.5.2 continue 73
6.6 小结 74
第7章 PHP函数和类 75
7.1 PHP函数 75
7.1.1 用户自定义函数 75
7.1.2 函数参数 75
7.1.3 函数返回值 76
7.1.4 变量函数 77
7.1.5 内置函数 78
7.2 PHP类和对象 78
7.2.1 定义类 78
7.2.2 由类创建对象 79
7.2.3 类的继承 81
7.2.4 类的构造函数 82
7.3 PHP扩展库PEAR 84
7.3.1 基本PHP扩展库 84
7.3.2 数据库扩展库 85
7.3.3 数学和密码扩展库 87
7.3.4 文件系统和进程控制扩展库 87
7.3.5 远程访问服务扩展库 87
7.3.6 应用领域类扩展库 88
7.4 PHP常用基本函数 89
7.4.1 数组操作函数 90
7.4.2 日期和时间函数 91
7.4.3 目录、文件系统函数 92
7.4.4 字符串处理函数 96
7.4.5 正则表达式函数 97
7.5 小结 97
第8章 PHP最佳搭档MySQL 98
8.1 MySQL基础 98
8.1.1 MySQL简介 98
8.1.2 MySQL在Windows下的安装 99
8.2 MySQL命令行管理 100
8.2.1 数据库连接与用户管理 100
8.2.2 数据库查询与维护 102
8.2.3 数据库备份与恢复 104
8.3 MySQL客户端管理工具 105
8.3.1 MySQL-Front 105
8.3.2 MySQLAdministrator 106
8.3.3 MySQLQueryBrowser 107
8.3.4 EMSSQLManager 108
8.4 MySQL基于Web的管理工具phpMyAdmin 109
8.4.1 phpMyAdmin简介 109
8.4.2 phpMyAdmin的安装与配置 109
8.4.3 phpMyAdmin的使用 110
8.5 小结 112
第9章 PHP+MySQL数据库系统开发 113
9.1 PHP访问MySQL函数 113
9.1.1 数据库驱动的PHP动态网站工作原理 113
9.1.2 PHP的MySQL配置选项 114
9.1.3 PHP的MySQL数据库访问函数 114
9.2 PHP访问MySQL数据库 116
9.2.1 连接MySQL数据库 116
9.2.2 查看数据表 117
9.2.3 新建数据表 118
9.2.4 通过表单往数据库中添加数据 119
9.2.5 更改数据库中的记录 121
9.2.6 删除数据库中的记录 122
9.3 PHP+MySQL综合实例——简易留言簿 122
9.3.1 创建留言簿数据库 122
9.3.2 创建留言簿程序:guestbook*php 123
9.3.3 留言簿功能演示 129
9.4 小结 130
第10章 PHP动态网站构建全程实录 131
10.1 网站前期设计 131
10.1.1 站点页面需求分析 132
10.1.2 网站模块化设计基础——include()和require()函数 132
10.1.3 开始进行简单页面设计 134
10.2 网站框架开发 135
10.2.1 设计页面通用文件 135
10.2.2 设计网页文件 136
10.3 开发网站的动态功能 137
10.3.1 添加导航栏 137
10.3.2 上传图片页面 138
10.3.3 创建图片库页面 140
10.3.4 添加留言簿 141
10.3.5 添加站点访问计数器 142
10.3.6 添加动态更替LOGO图片banner 143
10.4 小结 145
第11章 PHP开发中的常用技巧 146
11.1 PHP数据共享 146
11.1.1 使用session 146
11.1.2 使用cookie 148
11.2 PHP正则表达式匹配查找 149
11.2.1 什么是正则表达式 149
11.2.2 第一个正则表达式:邮件地址验证 150
11.2.3 正则表达式语法 150
11.2.4 正则表达式应用示例 153
11.3 PHP文件处理 155
11.3.1 打开文件——fopen() 155
11.3.2 关闭文件——fclose() 155
11.3.3 判断是否处于文件末端——feof() 155
11.3.4 逐行读取文件——fgets() 156
11.3.5 逐字读取文件——fgetc() 156
11.4 PHP上传文件 156
11.4.1 创建文件上传表单 156
11.4.2 建立上传文件的脚本程序 157
11.4.3 设置文件上传的条件 158
11.4.4 保存已上传的文件 158
11.4.5 上传一组文件 159
11.5 PHP使用远程文件 159
11.5.1 获取远程文件的标题 159
11.5.2 将数据保存到远程服务器 160
11.6 PHP操作邮件 160
11.6.1 邮件函数mail() 161
11.6.2 制作简易E-mail 161
11.6.3 制作E-mail反馈表单 162
11.7 PHP如何调用Java类库 162
11.7.1 在Windows系统中安装Java类库 163
11.7.2 创建和使用自定义的Java类 163
11.8 小结 164
第12章 博客网站系统 166
12.1 系统预览 166
12.1.1 从光盘安装系统 166
12.1.2 系统界面预览 166
12.2 博客网站系统需求分析 167
12.2.1 理解需求 167
12.2.2 描述需求 167
12.2.3 系统用例分析 168
12.2.4 用例活动分析 168
12.3 数据存储设计 169
12.3.1 存储方式 170
12.3.2 博客文章的存储接口设计 171
12.3.3 评论的存储接口设计 175
12.3.4 文章评分的存储接口设计 179
12.4 系统架构设计 181
12.4.1 总体结构 181
12.4.2 底层文件访问设计 181
12.4.3 表示层页面设计 182
12.5 功能开发 183
12.5.1 阅读博客 183
12.5.2 编辑博客 188
12.5.3 发布评论 193
12.5.4 设置主题 196
12.5.5 RSS 197
12.6 关键技术 199
12.6.1 RSS因子 199
12.6.2 图片上传 201
第13章 基于Ajax的留言板 203
13.1 系统预览 203
13.1.1 从光盘安装系统 203
13.1.2 系统界面预览 203
13.2 需求分析 204
13.2.1 理解需求 204
13.2.2 描述需求 204
13.2.3 系统用例分析 205
13.3 系统设计 205
13.3.1 结构设计 205
13.3.2 页面设计 207
13.4 数据库设计 207
13.4.1 数据实体分析 207
13.4.2 数据表结构 208
13.4.3 创建数据库 208
13.5 系统架构设计 209
13.5.1 创建项目目录结构 209
13.5.2 规划存放于各目录下的文件 209
13.5.3 Ajax技术原理简介 209
13.5.4 DIV+CSS布局简介 212
13.6 功能开发 213
13.6.1 显示留言页面 213
13.6.2 管理员登录页面 225
13.6.3 发布留言页面 227
13.6.4 回复留言页面 228
13.6.5 删除留言 230
13.7 关键技术 230
13.7.1 Ajax 230
13.7.2 DIV+CSS页面布局技术 230
13.8 小结 230
第14章 新闻发布系统 231
14.1 案例预览 231
14.1.1 从光盘安装系统 231
14.1.2 系统界面预览 231
14.2 需求分析 232
14.2.1 需求总体分析 232
14.2.2 系统用例分析 232
14.3 系统设计 233
14.3.1 结构设计 233
14.3.2 流程设计 234
14.3.3 页面设计 235
14.4 数据库设计 235
14.4.1 数据实体 235
14.4.2 数据表结构 236
14.4.3 创建数据表 236
14.5 系统架构设计 237
14.5.1 数据库连接 237
14.5.2 MVC架构 238
14.5.3 模块化设计 238
14.6 模块的实现 240
14.6.1 数据库连接模块 240
14.6.2 页头模块 241
14.6.3 页脚模块 241
14.7 前台页面功能开发 242
14.7.1 首页显示功能 242
14.7.2 分类页面显示功能 243
14.7.3 信息内容浏览功能 244
14.8 后台管理功能开发 245
14.8.1 管理员登录 245
14.8.2 类别管理模块 247
14.8.3 信息管理模块 250
14.8.4 注销管理 253
14.9 关键技术 254
14.9.1 MVC架构 254
14.9.2 模块化设计 254
14.9.3 管理员登录 254
14.10 小结 254
第15章 RSS生成与阅读器制作 255
15.1 RSS文件语法 255
15.1.1 RSS文件实例 255
15.1.2 RSS节点元素 256
15.2 RSS的PHP使用实例 260
15.2.1 建立RSS数据库 260
15.2.2 通过编程动态输出RSS 261
15.2.3 静态输出RSS文件 263
15.3 小结 265
第16章 Wiki网站系统 266
16.1 PmWiki简介 266
16.2 从零开始构建一个Wiki网站 267
16.2.1 PmWiki的安装 267
16.2.2 PmWiki的配置 268
16.2.3 PmWiki的中文汉化 269
16.2.4 PmWiki的权限配置 270
16.3 PmWiki语法 271
16.3.1 基本语法 271
16.3.2 创建新页面 273
16.4 PmWiki开发详解 275
16.4.1 定义模板文件 275
16.4.2 引用模板文件 277
16.4.3 主文件(pmwiki.php) 280
16.5 关键技术 287
16.6 小结 287
第17章 网络论坛系统 288
17.1 案例预览 288
17.1.1 从光盘安装系统 288
17.1.2 系统界面预览 289
17.2 需求分析 289
17.2.1 总体需求分析 289
17.2.2 基本功能分析 290
17.2.3 系统用例分析 291
17.3 系统设计 291
17.3.1 结构设计 291
17.3.2 流程设计 292
17.3.3 主要页面设计 292
17.4 数据库设计 294
17.4.1 数据实体分析 294
17.4.2 数据表结构 294
17.4.3 创建数据表 298
17.5 系统架构设计 301
17.5.1 从工作流程分析系统架构 301
17.5.2 系统配置文件(confiig.php) 302
17.6 功能开发 305
17.6.1 论坛首页 305
17.6.2 控制面板页面 307
17.6.3 已订阅主题页面 309
17.6.4 查看与编辑个人资料页面 310
17.6.5 编辑选项页面 313
17.6.6 编辑密码页面 315
17.6.7 帮助页面 316
17.6.8 搜索页面 317
17.6.9 最新主题页面 319
17.6.10 用户注册页面 321
17.6.11 用户登录页面 321
17.6.12 管理面板页面 322
17.6.13 用户列表页面 324
17.6.14 状态列表页面 325
17.6.15 详细的在线列表页面 328
17.6.16 订阅RSS页面 329
17.7 关键技术 330
17.7.1 模板技术 330
17.7.2 RSS订阅 330
17.8 小结 330
第18章 网络邮件系统 331
18.1 案例预览 331
18.1.1 从光盘安装系统 331
18.1.2 系统界面预览 332
18.2 需求分析 333
18.2.1 理解需求 333
18.2.2 分析需求 333
18.2.3 系统用例分析 334
18.3 系统设计 335
18.3.1 结构设计 335
18.3.2 主要页面设计 336
18.4 数据库设计 338
18.4.1 数据实体分析 338
18.4.2 数据表结构 339
18.4.3 创建数据库 341
18.5 系统架构设计 343
18.5.1 创建项目 343
18.5.2 设计系统架构 344
18.6 功能开发 344
18.6.1 数据库接口开发 344
18.6.2 发送邮件接口开发 346
18.6.3 接收邮件接口开发 351
18.6.4 用户设置页面开发 354
18.6.5 邮件列表页面开发 356
18.6.6 写邮件页面开发 358
18.6.7 地址簿页面开发 361
18.7 关键技术 364
18.8 小结 364
第19章 网络校友录系统 365
19.1 系统预览 365
19.1.1 从光盘安装系统 365
19.1.2 系统界面预览 367
19.2 需求分析 368
19.2.1 需求总体分析 368
19.2.2 系统用例分析 369
19.3 系统设计 369
19.3.1 结构设计 369
19.3.2 页面设计 370
19.4 数据库设计 371
19.4.1 数据实体分析 371
19.4.2 数据表结构 372
19.4.3 创建数据库 374
19.5 系统架构设计 376
19.5.1 数据库连接配置(confmysql.php) 376
19.5.2 校友录配置(confclass.php) 377
19.6 功能开发 378
19.6.1 登录与退出功能 378
19.6.2 注册功能 379
19.6.3 班级留言 382
19.6.4 班级相册 384
19.6.5 班级共享 386
19.6.6 纸条传情 389
19.6.7 我的纸条 389
19.6.8 成员地址 390
19.6.9 个人资料 390
19.6.10 班级管理 392
19.6.11 留言下载 395
19.6.12 地址导出 396
19.6.13 班级帮助 396
19.7 关键技术 397
19.7.1 文件上传 397
19.7.2 文件导出 397
19.7.3 UBB编辑器 397
19.7.4 日期选择组件 397
19.8 小结 397
第20章 网络聊天室 398
20.1 系统预览 398
20.1.1 从光盘安装系统 398
20.1.2 系统界面预览 399
20.2 需求分析 400
20.2.1 总体需求分析 400
20.2.2 系统用例分析 400
20.3 系统设计 400
20.3.1 结构设计 400
20.3.2 页面设计 401
20.4 数据库设计 402
20.4.1 数据实体分析 402
20.4.2 数据表结构 402
20.4.3 创建数据库 403
20.5 系统架构设计 403
20.5.1 系统配置文件(confiig.php) 404
20.5.2 多数据库支持(incl目录) 404
20.5.3 多语言支持(lang目录) 405
20.6 包含文件 407
20.6.1 头文件(opendoc.inc) 407
20.6.2 工具栏文件(skin.inc) 408
20.6.3 公用函数文件(main.inc) 409
20.7 功能开发 411
20.7.1 安装页面(install.php) 412
20.7.2 首页面(index.php) 413
20.7.3 登录页面(login.php) 413
20.7.4 聊天页面(blab.php) 415
20.7.5 在线用户列表(online.php) 418
20.7.6 声音设置区域 418
20.7.7 时区设置窗口 419
20.7.8 颜色设置窗口 420
20.7.9 表情选择窗口 421
20.7.10 历史页面 422
20.8 关键技术 423
20.8.1 使用上下文对象保存聊天内容 423
20.8.2 使用Ajax发送聊天内容 423
20.8.3 多数据库多语言 424
20.9 小结 424
第21章 网站访问统计 425
21.1 系统预览 425
21.1.1 从光盘安装系统 425
21.1.2 系统界面预览 426
21.2 需求分析 426
21.2.1 总体需求分析 426
21.2.2 系统用例分析 427
21.3 系统设计 427
21.3.1 结构设计 427
21.3.2 页面设计 428
21.4 数据库设计 429
21.4.1 数据实体分析 429
21.4.2 数据表结构 429
21.4.3 创建数据库 431
21.5 系统架构设计 433
21.5.1 数据库配置文件(conn.php) 433
21.5.2 非法字符处理文件(chkstr.php) 434
21.5.3 公用函数(myfunction.php) 435
21.6 管理系统开发 437
21.6.1 管理员登录(admin.php) 437
21.6.2 用户列表(adminmanage.php) 439
21.6.3 系统设置(admin_manage.php) 441
21.6.4 退出管理(adminmanage_do.php) 443
21.7 统计系统开发 443
21.7.1 注册页面(reg.php) 443
21.7.2 登录页面(index.php) 445
21.7.3 查看来源明细(manage.php) 447
21.7.4 查看统计页面(manage.php) 449
21.7.5 查看统计报表(manage.php) 451
21.7.6 更改统计设置(manage.php) 453
21.7.7 选择统计样式(manage.php) 454
21.7.8 获取统计代码(manage.php) 456
21.7.9 修改个人资料(manage.php) 460
21.7.10 用户退出系统(manage_do.php) 462
21.8 关键技术 462
21.8.1 md5加密 462
21.8.2 cookie 462
21.8.3 防止参数注入 463
21.9 小结 463
附录A Ajax框架汇总 464
附录B 中国互联网Web2.0百强企业 467