本书从初学者角度出发,以基础知识为“基石”,以核心技术和高级应用为“梁柱”,最终通过实战项目来检验成果,这就是本书的编写思路。
本书突出“基础”、“全面”、“深入”,强调“实战”效果。在介绍技术的同时,各章都提供有示例或稍大一些的实例,同时在各章的结尾
通过几个小型项目来综合应用本章所讲解的知识,做到理论与实践相结合。最后提供5个完整的项目实例,详细讲述从前期规划、系统设计,到
项目开发的全部实现过程。
本书适合有志于从事软件开发的初学者、高校计算机相关专业学生和毕业生,也可作为软件开发人员的参考手册,或者高校的教学参考书
目录:
第1部分 基础知识
第1章 初识PHP 3
视频讲解:7分钟
1.1 PHP概述 4
1.1.1 PHP是什么 4
1.1.2 PHP 5的新特性 4
1.1.3 PHP的语言优势 4
1.1.4 PHP语言的发展 5
1.2 PHP与其他语言的比较 6
1.3 PHP语言相关术语 7
1.4 资深程序员谈如何学习PHP 8
1.5 常用代码编辑工具 10
1.6 学习资源 12
1.6.1 PHP参考手册 12
1.6.2 PHP学习讨论 12
1.7 成功案例 13
1.8 本章小结 14
第2章 PHP环境搭建 15
视频讲解:80分钟
2.1 搭建PHP开发环境的准备工作 16
2.1.1 在Windows下搭建PHP开发环境的
准备工作 16
2.1.2 在Linux下搭建PHP开发环境的
准备工作 16
2.2 Apache服务器的安装和配置 16
2.2.1 在Windows下安装Apache服务器 16
2.2.2 在Linux下安装Apache服务器 19
2.3 PHP的安装和配置 20
2.3.1 在Windows下安装PHP 20
2.3.2 在Linux下安装PHP 21
2.4 MySQL服务器的安装和配置 23
2.4.1 在Windows下安装MySQL服务器 23
2.4.2 在Linux下安装MySQL服务器 26
2.5 初学者——应用组合包快速搭建
PHP环境 27
2.6 第一个PHP程序 29
2.6.1 使用Macromedia Dreamweaver 8
编写源程序 29
2.6.2 发布和运行PHP程序 31
2.7 环境安装常见问题 31
2.7.1 Apache安装常见问题 31
2.7.2 PHP安装常见问题 32
2.7.3 MySQL安装常见问题 33
2.8 实战 33
2.9 本章小结 35
2.10 实战练习 36
第3章 PHP语言基础 37
视频讲解:125分钟
3.1 学习语言基础的重要性 38
3.2 PHP语法基础 38
3.2.1 PHP标记符 38
3.2.2 PHP的注释 39
3.3 PHP的数据类型 40
3.3.1 整型 40
3.3.2 布尔型 41
3.3.3 浮点型 41
3.3.4 字符串型 42
3.3.5 null类型 44
3.3.6 数据类型的转换 45
3.4 PHP常量 46
3.4.1 声明和使用常量 46
3.4.2 预定义常量 48
3.5 PHP变量 49
3.5.1 变量声明及使用 49
3.5.2 变量作用域 51
3.5.3 可变变量 53
3.5.4 预定义变量 53
3.5.5 变量的生存周期 54
3.6 PHP运算符 54
3.6.1 字符串运算符 54
3.6.2 算术运算符 55
3.6.3 赋值运算符 56
3.6.4 递增递减运算符 57
3.6.5 位运算符 58
3.6.6 逻辑运算符 59
3.6.7 比较运算符 60
3.6.8 条件运算符 61
3.6.9 运算符的使用规则 61
3.7 PHP的表达式 62
3.8 实战 63
3.9 本章小结 64
3.10 实战练习 64
第4章 流程控制语句 65
视频讲解:80分钟
4.1 学前导读 66
4.1.1 什么是算法 66
4.1.2 算法的描述方法 66
4.1.3 程序的3种控制结构 67
4.2 条件控制语句 69
4.2.1 if条件语句 69
4.2.2 switch…case分支控制语句 72
4.3 循环控制语句 74
4.3.1 while循环语句 74
4.3.2 do…while循环语句 75
4.3.3 for循环语句 76
4.3.4 foreach循环 78
4.4 跳转控制语句 79
4.4.1 使用break语句跳出循环 79
4.4.2 使用continue语句跳出循环 81
4.5 实战 82
4.5.1 过滤留言信息中的敏感词 82
4.5.2 图书信息显示 85
4.5.3 应用switch语句设计网站主页 86
4.6 本章小结 88
4.7 实战练习 88
第5章 函数 89
视频讲解:75分钟
5.1 自定义函数 90
5.1.1 函数的命名规则 90
5.1.2 自定义函数格式 90
5.1.3 调用自定义函数 91
5.1.4 函数的参数 91
5.1.5 函数返回值 93
5.1.6 嵌套调用 93
5.1.7 递归调用 94
5.2 内建函数 94
5.3 输出语句 95
5.3.1 应用print语句输出字符 95
5.3.2 应用echo语句输出字符 96
5.3.3 应用printf语句格式化输出字符 98
5.3.4 应用sprintf语句格式化输出字符 99
5.4 引用文件 100
5.4.1 应用include语句引用文件 100
5.4.2 应用require语句引用文件 101
5.4.3 应用include_once语句引用文件 102
5.4.4 应用require_once语句引用文件 102
5.4.5 include语句和require语句的使用区别 104
5.4.6 include_once语句和require_once语句的
使用区别 104
5.5 实战 104
5.5.1 通过自定义函数防止新闻主题信息
出现中文乱码 104
5.5.2 应用include语句构建在线音乐网站主页 106
5.6 本章小结 108
5.7 实战练习 108
第6章 字符串 109
视频讲解:76分钟
6.1 字符串简介 110
6.2 单引号与双引号 110
6.3 定界符 111
6.4 连接字符串 113
6.5 转义、还原字符串 114
6.5.1 手动转义、还原字符串 114
6.5.2 自动转义、还原字符串 114
6.6 获取字符串长度 116
6.7 截取字符串 118
6.8 比较字符串 119
6.8.1 按字节比较 119
6.8.2 按自然排序法比较 120
6.8.3 指定从源字符串的位置比较 121
6.9 检索字符串 121
6.9.1 应用strstr()函数检索指定的关键字 121
6.9.2 应用substr_count()函数检索子串
出现的次数 122
6.10 替换子字符串 124
6.11 去除字符串中空白字符和特殊字符 128
6.11.1 去除字符串左端空白字符和特殊字符 128
6.11.2 去除字符串右端空白字符和特殊字符 129
6.11.3 去除字符串两端空白字符和特殊字符 129
6.12 格式化字符串 130
6.13 分割字符串 131
6.14 字符串与HTML相互转换 132
6.15 实战 134
6.15.1 超长文本的分页显示 134
6.15.2 控制页面中输出字符串的长度 136
6.16 本章小结 137
6.17 实战练习 138
第7章 正则表达式 139
视频讲解:82分钟
7.1 正则表达式是什么 140
7.2 正则表达式常用术语 140
7.3 正则表达式语法规则 140
7.3.1 行定位符(^和$) 141
7.3.2 字符类([]) 141
7.3.3 选择字符(|) 142
7.3.4 连字符(-) 142
7.3.5 排除字符([^]) 142
7.3.6 限定符(? * + {n,m}) 142
7.3.7 点字符(.) 143
7.3.8 转义字符(\) 143
7.3.9 反斜线(\) 144
7.3.10 括号字符(()) 145
7.3.11 反向引用 145
7.4 POSIX扩展正则表达式函数 146
7.4.1 查找字符串 146
7.4.2 替换字符串 146
7.4.3 分割字符串 147
7.5 PCRE兼容正则表达式函数 147
7.5.1 查找字符串 147
7.5.2 替换字符串 148
7.6 实战 149
7.7 本章小结 152
7.8 实战练习 152
第8章 PHP数组 153
视频讲解:90分钟
8.1 数组是什么 154
8.2 声明数组 154
8.2.1 数组命名规则 155
8.2.2 通过PHP函数创建数组 155
8.2.3 通过数组标识符“[]”创建数组 156
8.3 数组的类型 157
8.3.1 数字索引数组 157
8.3.2 关联数组 157
8.4 输出数组 158
8.5 数组的构造 159
8.5.1 创建一维数组 159
8.5.2 创建二维数组 159
8.6 遍历数组 160
8.6.1 foreach结构遍历数组 160
8.6.2 each()函数遍历数组 161
8.6.3 list()函数遍历数组 161
8.6.4 for语句遍历数组 163
8.7 合并数组 163
8.8 字符串与数组的转换 164
8.8.1 应用explode()函数将字符串转换成数组 164
8.8.2 应用implode()函数将数组转换成一个
新字符串 165
8.9 统计数组元素个数 165
8.10 数组排序 166
8.10.1 数字数组排序 166
8.10.2 关联数组排序 168
8.11 实战 169
8.12 本章小结 170
8.13 实战练习 170
第9章 PHP与Web页面交互 171
视频讲解:124分钟
9.1 表单 172
9.1.1 创建表单 172
9.1.2 认识表单元素 173
9.2 在Web页中创建表单 175
9.3 在Web页中嵌入PHP脚本 177
9.3.1 在HTML标记中嵌入PHP脚本 177
9.3.2 为表单元素赋值 178
9.4 提交表单数据 178
9.4.1 POST方法提交表单数据 179
9.4.2 GET方法提交表单数据 179
9.4.3 POST方法与GET方法的使用区别 180
9.5 PHP全局变量 181
9.5.1 $_POST[]全局变量 181
9.5.2 $_GET[]全局变量 182
9.5.3 $_SEESION[]全局变量 183
9.6 对URL传递的参数进行编/解码 183
9.6.1 对URL传递的参数进行编码 183
9.6.2 对URL编码的字符串进行解码 184
9.7 实战 185
9.7.1 发布和查看公告信息 185
9.7.2 图书借阅 187
9.8 本章小结 188
9.9 实战练习 188
第10章 PHP与JavaScript交互 189
视频讲解:81分钟
10.1 了解JavaScript 190
10.1.1 JavaScript是什么 190
10.1.2 JavaScript能做什么 190
10.2 JavaScript语言基础 190
10.2.1 JavaScript数据类型 190
10.2.2 JavaScript变量 191
10.2.3 JavaScript注释 192
10.3 自定义函数 193
10.4 JavaScript脚本嵌入方式 194
10.4.1 在HTML中嵌入JavaScript脚本 194
10.4.2 应用JavaScript事件调用自定义函数 195
10.4.3 在PHP动态网页中引用JS文件 196
10.4.4 解决浏览器不支持JavaScript问题 197
10.5 实战 200
10.5.1 应用JavaScript脚本制作树状
导航菜单 200
10.5.2 PHP与JavaScript脚本的交互应用 201
10.6 本章小结 206
10.7 实战练习 206
第11章 日期和时间 207
视频讲解:93分钟
11.1 系统时区设置 208
11.1.1 时区的划分 208
11.1.2 PHP中的时区设置 208
11.2 UNIX时间戳 209
11.2.1 什么是时间戳 209
11.2.2 UNIX时间戳 209
11.2.3 获取指定日期的时间戳 210
11.2.4 获取当前时间戳 211
11.2.5 将英文文本的日期时间描述解析为
UNIX时间戳 211
11.3 PHP日期和时间的处理 212
11.3.1 格式化日期和时间 212
11.3.2 获取日期和时间信息 214
11.3.3 获取本地化的日期和时间 215
11.3.4 检验日期和时间的有效性 217
11.4 实战 218
11.4.1 实现倒计时的功能 218
11.4.2 实现生日提示功能 219
11.4.3 计算在线考试用时和剩余时间 222
11.5 本章小结 225
11.6 实战练习 226
第2部分 核心技术
第12章 会话管理 229
视频讲解:117分钟
12.1 Cookie管理 230
12.1.1 了解Cookie 230
12.1.2 创建Cookie 231
12.1.3 读取Cookie 232
12.1.4 删除Cookie 233
12.1.5 Cookie应用的注意事项 234
12.1.6 Cookie的综合应用——自动登录 235
12.2 Session管理 237
12.2.1 了解Session 237
12.2.2 启动Session 238
12.2.3 应用Session 239
12.2.4 删除Session 240
12.2.5 Session的综合应用——通过Session
控制页面访问权限 240
12.3 Cookie与Session的比较 242
12.4 实战 242
12.4.1 通过Cookie实现单点登录 242
12.4.2 Session购物车 245
12.5 本章小结 250
12.6 实战练习 250
第13章 图形图像 251
视频讲解:106分钟
13.1 了解GD2函数库 252
13.2 参数设置 252
13.3 Jpgraph类库 253
13.3.1 Jpgraph类库简介 253
13.3.2 Jpgraph的安装 253
13.3.3 Jpgraph的配置 253
13.4 常用图像处理 254
13.4.1 创建画布 254
13.4.2 颜色处理 255
13.4.3 输出图像 256
13.4.4 绘制基本图形 257
13.4.5 填充几何图形 258
13.4.6 输出文字 259
13.5 实战 260
13.5.1 创建一个简单的图像 260
13.5.2 应用GD2函数在照片上添加文字 261
13.5.3 应用图像处理技术生成验证码 262
13.5.4 Jpgraph创建柱状图展示年度收支情况 264
13.5.5 Jpgraph创建折线图统计图书销售走势 265
13.5.6 Jpgraph创建3D饼形图展示部门
业绩比较 267
13.6 本章小结 268
13.7 实战练习 268
第14章 文件系统 269
视频讲解:74分钟
14.1 文件处理 270
14.1.1 打开文件 270
14.1.2 读取文件 271
14.1.3 写入文件 274
14.1.4 操作文件 275
14.1.5 关闭文件 276
14.2 文件上传 276
14.2.1 配置php.ini文件 277
14.2.2 预定义变量$_FILES 277
14.2.3 文件上传函数 278
14.3 文件处理的高级应用 279
14.3.1 远程文件的访问 279
14.3.2 文件指针 280
14.3.3 锁定文件 282
14.4 目录处理 282
14.4.1 打开目录 283
14.4.2 浏览目录 283
14.4.3 操作目录 284
14.4.4 关闭目录 284
14.5 实战 285
14.5.1 多图片上传 285
14.5.2 通过文本文件统计页面访问量 286
14.6 本章小结 288
14.7 实战练习 288
第15章 面向对象 289
视频讲解:160分钟
15.1 面向对象的基本概念 290
15.1.1 类 290
15.1.2 对象 290
15.1.3 面向对象编程的三大特点 290
15.2 类与对象 291
15.2.1 定义类 291
15.2.2 实例化类 292
15.2.3 使用对象 292
15.2.4 成员变量 293
15.2.5 成员函数 294
15.3 类的权限修饰符 295
15.3.1 public(公有成员) 295
15.3.2 private(私有成员) 296
15.3.3 protected(保护成员) 297
15.4 构造函数 297
15.4.1 创建构造函数 298
15.4.2 调用父类构造函数 299
15.5 析构函数 299
15.6 使用$this变量访问方法和属性 300
15.7 static关键字 301
15.8 final关键字 302
15.9 抽象类 303
15.10 接口的使用 305
15.11 实战 306
15.11.1 面向对象的用户登录身份验证 306
15.11.2 面向对象的数据分页显示 308
15.12 本章小结 310
15.13 实战练习 310
第16章 PHP加密技术 311
视频讲解:8分钟
16.1 加密技术简介 312
16.1.1 MD5算法 312
16.1.2 SHA1算法 313
16.1.3 DES算法 313
16.1.4 MIME/BASE64的算法 314
16.2 PHP内置加密函数 314
16.2.1 使用crypt()函数进行加密 314
16.2.2 使用md5()函数进行加密 316
16.2.3 使用sha1()函数进行加密 316
16.2.4 使用base64_encode()函数进行编码 317
16.2.5 使用base64_decode()函数进行解码 317
16.3 PHP加密扩展库 317
16.3.1 Mcrypt扩展库 318
16.3.2 Mhash扩展库 320
16.4 实战 321
16.5 本章小结 322
16.6 实战练习 322
第17章 MySQL数据库基本操作 323
视频讲解:70分钟
17.1 MySQL简介 324
17.1.1 MySQL是什么 324
17.1.2 MySQL特点 324
17.1.3 MySQL 5支持的特性 325
17.2 启动、连接、断开和停止MySQL
服务器 325
17.2.1 启动MySQL服务器 325
17.2.2 连接和断开MySQL服务器 326
17.2.3 停止MySQL服务器 327
17.3 使用MySQL命令行操作数据库 328
17.3.1 创建数据库 328
17.3.2 查看数据库 329
17.3.3 选择数据库 329
17.3.4 删除数据库 329
17.4 使用MySQL命令行操作数据表 330
17.4.1 创建数据表 330
17.4.2 查看表结构 331
17.4.3 修改表结构 332
17.4.4 重命名表 333
17.4.5 删除表 334
17.5 MySQL语句操作 334
17.5.1 插入记录 334
17.5.2 浏览数据库记录 335
17.5.3 修改记录 336
17.5.4 删除记录 336
17.6 实战 337
17.7 本章小结 338
17.8 实战练习 338
第18章 phpMyAdmin图形化管理工具 339
视频讲解:57分钟
18.1 phpMyAdmin简介 340
18.2 phpMyAdmin的安装和配置 340
18.2.1 Windows系统下phpMyAdmin
的安装配置 340
18.2.2 Linux系统下phpMyAdmin的安装配置 341
18.3 phpMyAdmin的使用 342
18.3.1 管理数据库 342
18.3.2 管理数据表 344
18.3.3 管理数据记录 346
18.3.4 导入导出数据 349
18.4 实战 350
18.5 本章小结 351
18.6 实战练习 352
第19章 使用MySQL函数操作数据库 353
视频讲解:182分钟
19.1 PHP访问MySQL数据库的
一般步骤 354
19.2 使用MySQL函数库 355
19.2.1 连接MySQL服务器 355
19.2.2 选择数据库 356
19.2.3 执行SQL语句 357
19.2.4 应用mysql_fetch_array()函数从数组
结果集中获取信息 358
19.2.5 应用mysql_fetch_object()函数从结果
集中获取一行作为对象 360
19.2.6 应用mysql_fetch_row()函数逐行获取
结果集中的每条记录 361
19.2.7 应用mysql_num_rows()函数获取查询
结果集中的记录数 363
19.2.8 关闭连接 364
19.3 PHP操作MySQL数据库 365
19.3.1 应用insert命令动态添加公告信息 365
19.3.2 应用select命令查询公告信息 368
19.3.3 解决截取公告主题乱码问题 369
19.3.4 分页显示公告信息 371
19.3.5 应用update命令动态编辑公告信息 374
19.3.6 应用delete命令动态删除公告信息 376
19.4 实战 377
19.4.1 输入页码跳转到指定页 377
19.4.2 图片的分栏分页显示 379
19.4.3 留言板 383
19.5 本章小结 386
19.6 实战练习 386
第20章 ADODB类库 387
视频讲解:96分钟
20.1 ADODB类库是什么 388
20.2 ADODB支持的数据库 388
20.3 ADODB下载与安装 389
20.4 ADODB类库 390
20.4.1 连接数据库函数 390
20.4.2 操作数据库函数 392
20.4.3 控制结果集存取方式函数 396
20.4.4 操作结果集函数 397
20.4.5 处理事务函数 400
20.4.6 生成HTML表格函数 400
20.4.7 生成下拉列表框函数 401
20.4.8 实现分页功能函数 402
20.4.9 错误处理函数 403
20.5 实战 404
20.5.1 实现分页 404
20.5.2 处理事务 405
20.5.3 缓存函数+ADODB动态生成静态页 406
20.6 本章小结 412
20.7 实战练习 412
第21章 程序调试与异常处理 413
视频讲解:70分钟
21.1 程序基本调试流程 414
21.2 PHP中的错误类型 414
21.2.1 语法错误 415
21.2.2 语义错误 417
21.2.3 逻辑错误 417
21.2.4 注释错误 418
21.2.5 运行错误 418
21.3 PHP错误的调试 418
21.3.1 PHP的错误报告 418
21.3.2 启动错误报告 419
21.3.3 使用print语句调试程序 419
21.3.4 应用@前缀字符屏蔽PHP脚本错误提示 420
21.3.5 使用错误处理器记录日志 421
21.4 SQL错误的调试 422
21.4.1 PHP与MySQL连接错误 422
21.4.2 SQL语句错误 423
21.5 实战 425
21.6 本章小结 427
21.7 实战练习 428
第3部分 高级应用
第22章 XML技术 431
视频讲解:79分钟
22.1 XML概述 432
22.2 XML语法 432
22.2.1 XML文档结构 432
22.2.2 XML声明 433
22.2.3 XML处理指令 433
22.2.4 XML注释 433
22.2.5 XML元素 434
22.2.6 XML属性 436
22.3 创建XML文档 436
22.4 SimpleXML 437
22.4.1 创建SimpleXML对象 438
22.4.2 遍历所有子元素 439
22.4.3 遍历所有属性 439
22.4.4 访问特定节点元素和属性 440
22.4.5 修改XML数据 441
22.4.6 保存XML文档 442
22.5 实战 443
22.5.1 动态创建XML文档 443
22.5.2 动态读取XML文档 446
22.5.3 通过XPath查询XML中的数据 448
22.6 本章小结 449
22.7 实战练习 450
第23章 Ajax技术 451
视频讲解:77分钟
23.1 Ajax概述 452
23.1.1 什么是Ajax 452
23.1.2 Ajax的开发模式 452
23.1.3 Ajax的优点 452
23.2 Ajax技术的组成 453
23.2.1 JavaScript脚本语言 453
23.2.2 XMLHttpRequest对象 453
23.2.3 XML语言 458
23.2.4 DOM 458
23.2.5 CSS 458
23.3 Ajax与PHP的交互 458
23.3.1 通过GET方式与PHP进行交互 459
23.3.2 通过POST方式与PHP进行交互 461
23.4 Ajax开发常见问题 463
23.5 实战 464
23.5.1 在PHP中应用Ajax技术检测用户名 465
23.5.2 在PHP中应用Ajax技术实现博客
文章类别添加 467
23.5.3 使用jQuery制作级联下拉列表框 469
23.6 本章小结 471
23.7 实战练习 471
第24章 Smarty模板技术 473
视频讲解:102分钟
24.1 Smarty简介 474
24.1.1 Smarty模板引擎 474
24.1.2 开发模式与运行流程 474
24.2 Smarty的安装配置 475
24.2.1 Smarty下载和安装 475
24.2.2 Smarty配置 475
24.2.3 第一个Smarty程序 477
24.3 Smarty模板设计 478
24.3.1 Smarty模板文件 479
24.3.2 注释 479
24.3.3 变量 479
24.3.4 修饰变量 482
24.3.5 流程控制 483
24.3.6 内建函数 486
24.4 Smarty程序设计 488
24.4.1 Smarty中的常用方法 488
24.4.2 Smarty的配置变量 489
24.5 实战 490
24.5.1 通过Smarty实现网页的动静分离 490
24.5.2 Smarty分页类 493
24.5.3 网站公告 496
24.6 本章小结 498
24.7 实战练习 498
第4部分 项目实战
第25章 博客管理系统 501
视频讲解:169分钟
25.1 项目描述 502
25.2 系统分析 502
25.2.1 需求分析 502
25.2.2 系统目标 503
25.2.3 系统功能结构 503
25.2.4 系统流程图 504
25.3 软件开发环境 504
25.4 数据库与数据表的设计 505
25.4.1 数据库分析 505
25.4.2 数据库E-R图设计 505
25.4.3 创建数据库和数据表 506
25.5 首页设计 508
25.5.1 首页概述 508
25.5.2 首页技术分析 508
25.5.3 首页的实现过程 510
25.6 用户管理模块设计 511
25.6.1 用户管理模块概述 511
25.6.2 用户注册 511
25.6.3 用户登录 514
25.6.4 查询用户信息 515
25.6.5 浏览用户信息 517
25.7 文章管理模块设计 518
25.7.1 文章管理模块概述 518
25.7.2 文章管理模块技术分析 519
25.7.3 添加文章的实现过程 521
25.7.4 文章列表的实现过程 522
25.7.5 查看、评论文章的实现过程 524
25.7.6 删除文章或评论的实现过程 526
25.8 图片上传模块设计 527
25.8.1 图片上传模块概述 527
25.8.2 图片上传模块技术分析 528
25.8.3 图片上传的实现过程 532
25.8.4 图片浏览的实现过程 535
25.8.5 删除图片的实现过程 537
25.9 朋友圈模块设计 538
25.9.1 朋友圈模块概述 538
25.9.2 朋友圈模块技术分析 538
25.9.3 查询好友的实现过程 539
25.10 项目发布 541
25.10.1 通过个人服务器发布项目 541
25.10.2 通过租用空间发布项目 541
25.11 开发常见问题与解决 543
25.12 本章小结 544
第26章 应用Smarty模板开发
电子商务平台 545
视频讲解:281分钟
26.1 项目描述 546
26.2 系统分析 546
26.2.1 需求分析 546
26.2.2 编写项目计划书 546
26.3 系统设计 551
26.3.1 系统目标 551
26.3.2 系统功能结构 551
26.3.3 系统流程图 552
26.4 系统开发环境 553
26.5 数据库与数据表的设计 553
26.5.1 数据库分析 553
26.5.2 创建数据库和数据表 555
26.6 搭建系统框架 556
26.7 公共文件设计 557
26.7.1 数据库连接文件 557
26.7.2 Smarty配置文件 558
26.7.3 XMLHttpRequest对象文件 558
26.7.4 表单样式文件 558
26.8 前台首页设计 561
26.9 登录模块设计 562
26.9.1 用户注册 563
26.9.2 用户登录 569
26.9.3 找回密码 571
26.10 会员信息模块设计 576
26.10.1 会员中心 576
26.10.2 安全退出 579
26.11 商品展示模块 579
26.11.1 创建PHP页 580
26.11.2 创建模板页 580
26.11.3 js脚本页面 581
26.12 购物车模块设计 582
26.12.1 添加商品 582
26.12.2 显示购物车 584
26.12.3 更改商品数量 586
26.12.4 删除商品 587
26.12.5 保存购物车 589
26.13 收银台模块设计 591
26.13.1 显示订单 592
26.13.2 填写订单 592
26.13.3 处理订单 593
26.13.4 反馈订单 595
26.13.5 查询订单 596
26.14 后台首页设计 599
26.14.1 后台首页布局 599
26.14.2 DIV+JavaScript+CSS实现树状
菜单 600
26.15 类别管理模块设计 601
26.15.1 添加类别 601
26.15.2 查看类别 604
26.16 订单管理模块设计 608
26.17 开发的常见问题 611
26.17.1 解决Ajax的乱码问题 611
26.17.2 使用JS脚本获取、输出标签内容 611
26.17.3 使用浮动框架做关联菜单 612
26.17.4 禁用页面缓存 612
26.17.5 在新窗口中使用Session 613
26.17.6 防止站外链接 613
26.17.7 判断上传文件格式 613
26.18 网站运行错误分析 614
26.18.1 数据库导致的错误 614
26.18.2 Smarty模板的配置错误 615
26.19 本章小结 616
第27章 办公自动化系统 617
27.1 项目描述 618
27.2 技术准备 619
27.3 开发过程 620
27.3.1 数据库设计 620
27.3.2 前台首页设计 620
27.3.3 人事消息模块设计 621
27.3.4 考勤管理模块设计 622
27.3.5 后台首页设计 623
27.3.6 部门管理模块设计 623
27.4 本章小结 624
第28章 供求信息网 625
28.1 项目描述 626
28.2 技术准备 626
28.3 开发过程 627
28.3.1 数据库设计 627
28.3.2 前台功能设计 627
28.3.3 免费供求信息发布模块设计 628
28.3.4 信息检索模块设计 629
28.3.5 后台功能模块设计 630
28.3.6 付费供求信息发布模块设计 631
28.4 本章小结 632
第29章 图书借阅管理系统 633
29.1 项目描述 634
29.2 技术准备 635
29.3 开发过程 635
29.3.1 数据库设计 635
29.3.2 功能模块概述 636
29.3.3 管理员模块 636
29.3.4 图书档案管理模块 638
29.3.5 图书借还模块 638
29.4 本章小结 640
附录A PHP编码规则……. 641
A.1 PHP File文件格式 641
A.1.1 常规 641
A.1.2 缩进 641
A.1.3 行的最大长度 641
A.1.4 行结束标志 641
A.1.5 引号 642
A.1.6 运算符、小括号、空格和关键词 642
A.2 命名约定 643
A.2.1 类 643
A.2.2 接口 643
A.2.3 文件名 643
A.2.4 函数和方法 644
A.2.5 变量 645
A.2.6 常量 645
A.2.7 数据库表和字段 645
A.3 编码风格 646
A.3.1 PHP代码划分(Demarcation) 646
A.3.2 字符串 646
A.3.3 数组 647
A.3.4 类 647
A.3.5 函数和方法 648
A.3.6 控制语句 649
A.3.7 数据库 650
A.3.8 注释文档 651
1