《PHP开发实战》,是清华大学出版社出版的图书,作者是软体开发技术联盟。本书适合有志于从事软体开发的初学者、高等院校计算机相关专业的学生,也可作为软体开发人员的参考手册,或者高等院校的教学参考书。
基本介绍
- 作者软体开发技术联盟 编着
- ISBN9787302318965
- 定价96.00元
- 出版社清华大学出版社
- 装帧平装
内容介绍
《PHP开发实战》从初学者的角度讲述使用PHP语言进行程式开发应该掌握的各项技术,内容突出“基础”、“全面”、“深入”的特点,强调实战效果。在介绍技术的,书中都会提供实例,在各章的结尾部分安排实战内容,通过5~8个实战来综合套用本章所讲解的知识,做到理论联繫实际;每篇的一章有一个综合实例,通过一个模组综合讲解本篇所讲解的知识内容;在本书的两章中提供了两个完整的项目实例,讲述从前期规划、设计流程到项目最终实施的整个实现过程。
全书共分33章,主要内容包括初识PHP、PHP环境搭建、PHP语言基础、流程控制语句、函式、字元串、正则表达式、PHP数组、日期和时间、综合实例(一)——注册登录、MySQL资料库基本操作、phpMyAdmin图形化管理工具、使用MySQL函式运算元据库、ADODB类库、PDO资料库抽象层、综合实例(二)——线上论坛、会话管理、图形图像、档案系统、面向对象、PHP加密技术、程式调试与异常处理、综合实例(三)——投票系统、PHP与Web页面互动、PHP与JavaScript互动、XML技术、Ajax技术、综合实例(四)——购物车、Smarty模板技术、ThinkPHP框架技术、综合实例(五)——明日导航网、部落格管理系统、套用Smarty模板开发电子商务平台等,在附录中介绍了PHP的编码规则。所有知识都结合具体实例进行介绍,对涉及的程式代码给出了详细的注释,读者可以轻鬆领会PHP程式开发的精髓,快速提高开发技能。本书特色及丰富的学习资源包如下
黄金学习搭配、专业学习视频、重难点精确打击、学习经验分享、学习测试诊断、有趣实践任务、专业资源库、学习排忧解难、获取源程式、提供习题答案、赠送开发案例。
作品目录
目 录
第1篇 新 手 入 门
第1章 初识PHP 2
视频讲解7分钟
1.1 PHP概述 3
1.1.1 PHP是什幺 3
1.1.2 PHP 5的新特性 3
1.1.3 PHP的语言优势 3
1.1.4 PHP语言的发展 4
1.2 PHP与其他语言的比较 5
1.3 PHP语言相关术语 5
1.4 资深程式设计师谈如何学习PHP 7
1.5 常用代码编辑工具 8
1.6 学习资源 9
1.6.1 PHP参考手册 10
1.6.2 PHP学习讨论 10
1.7 成功案例 10
1.8 本章小结 11
第2章 PHP环境搭建 12
视频讲解75分钟
2.1 搭建PHP开发环境的準备工作 13
2.1.1 在Windows下搭建PHP开发环境的
準备工作 13
2.1.2 在Linux下搭建PHP开发环境的準备工作 13
2.2 Apache伺服器的安装和配置 13
2.2.1 在Windows下安装Apache伺服器 13
2.2.2 在Linux下安装Apache伺服器 16
2.3 PHP的安装和配置 17
2.3.1 在Windows下安装PHP 17
2.3.2 在Linux下安装PHP 17
2.4 MySQL伺服器的安装和配置 18
2.4.1 在Windows下安装MySQL伺服器 18
2.4.2 在Linux下安装MySQL伺服器 21
2.5 初学者--套用组合包快速搭建
PHP环境 22
2.6 第一个PHP程式 24
2.6.1 使用Macromedia Dreamweaver 8编写
源程式 24
2.6.2 发布和运行PHP程式 25
2.7 环境安装常见问题 25
2.7.1 Apache安装常见问题 25
2.7.2 PHP安装常见问题 26
2.7.3 MySQL安装常见问题 27
2.8 实战 27
2.8.1 输出系统的当前时间 27
2.8.2 输出"明日科技欢迎你" 29
2.8.3 输出一张漂亮的图片 29
2.8.4 更改Apache伺服器的连线埠号为82 30
2.8.5 Apache伺服器的连线埠号修改后运行
第一个PHP程式 30
2.9 本章小结 31
2.10 学习成果检验 31
第3章 PHP语言基础 32
视频讲解125分钟
3.1 学习语言基础的重要性 33
3.2 PHP语法基础 33
3.2.1 PHP标识符 33
3.2.2 PHP的注释 34
3.3 PHP的数据类型 34
3.3.1 整型 35
3.3.2 布尔型 35
3.3.3 浮点型 36
3.3.4 字元串型 36
3.3.5 null型 38
3.3.6 数据类型的转换 39
3.4 PHP常量 40
3.4.1 声明和使用常量 40
3.4.2 预定义常量 41
3.5 PHP变数 42
3.5.1 变数声明及使用 42
3.5.2 变数作用域 44
3.5.3 可变变数 45
3.5.4 预定义变数 46
3.5.5 变数的生存周期 47
3.6 PHP运算符 47
3.6.1 字元串运算符 47
3.6.2 算术运算符 47
3.6.3 赋值运算符 48
3.6.4 递增或递减运算符 49
3.6.5 位运算符 50
3.6.6 逻辑运算符 50
3.6.7 比较运算符 51
3.6.8 条件运算符 52
3.6.9 运算符的使用规则 53
3.7 PHP的表达式 53
3.8 实战 54
3.8.1 判断指定的年份是否为闰年 54
3.8.2 检测变数是否为整型 55
3.8.3 输出姚明的个人信息 55
3.8.4 计算长方形的面积 56
3.8.5 比较某一天的产品销量 56
3.9 本章小结 57
3.10 学习成果检验 57
第4章 流程控制语句 58
视频讲解80分钟
4.1 学前导读 59
4.1.1 什幺是算法 59
4.1.2 算法的描述方法 59
4.1.3 程式的3种控制结构 60
4.2 条件控制语句 61
4.2.1 if条件语句 62
4.2.2 switch...case分支控制语句 64
4.3 循环控制语句 65
4.3.1 while循环语句 65
4.3.2 do...while循环语句 66
4.3.3 for循环语句 67
4.3.4 foreach循环语句 68
4.4 跳转控制语句 69
4.4.1 套用break语句跳出循环 69
4.4.2 套用continue语句跳出循环 70
4.5 实战 71
4.5.1 过滤留言信息中的敏感词 71
4.5.2 图书信息显示 73
4.5.3 套用switch语句设计网站主页 74
4.5.4 套用continue语句计算100以内奇数的和 76
4.5.5 套用for语句製作一个乘法口诀表 76
4.6 本章小结 77
4.7 学习成果检验 77
第5章 函式 78
视频讲解75分钟
5.1 自定义函式 79
5.1.1 函式的命名规则 79
5.1.2 自定义函式格式 79
5.1.3 调用自定义函式 80
5.1.4 函式的参数 80
5.1.5 函式返回值 81
5.1.6 嵌套调用 82
5.1.7 递归调用 82
5.2 内建函式 83
5.3 输出语句 83
5.3.1 套用print语句输出字元 83
5.3.2 套用echo语句输出字元 84
5.3.3 套用printf语句格式化输出字元 85
5.3.4 套用sprintf语句格式化输出字元 86
5.4 引用档案 87
5.4.1 套用include语句引用档案 87
5.4.2 套用require语句引用档案 88
5.4.3 套用include_once语句引用档案 88
5.4.4 套用require_once语句引用档案 89
5.4.5 include语句和require语句的使用区别 90
5.4.6 include_once语句和require_once语句的
使用区别 90
5.5 实战 90
5.5.1 通过自定义函式防止新闻主题信息出现
中文乱码 90
5.5.2 套用include语句构建线上音乐网站主页 92
5.5.3 对关键字进行高亮显示 93
5.5.4 获取上传档案的后缀名 93
5.5.5 自定义一个为数字取绝对值的函式 94
5.6 本章小结 94
5.7 学习成果检验 95
第6章 字元串 96
视频讲解76分钟
6.1 字元串简介 97
6.2 单引号与双引号 97
6.3 定界符 98
6.4 连线字元串 99
6.5 转义、还原字元串 100
6.5.1 手动转义、还原字元串 100
6.5.2 自动转义、还原字元串 101
6.6 获取字元串长度 102
6.7 截取字元串 103
6.8 比较字元串 104
6.8.1 按位元组比较 105
6.8.2 按自然排序法比较 105
6.8.3 指定从源字元串的位置比较 106
6.9 检索字元串 106
6.9.1 套用strstr()函式检索指定的关键字 106
6.9.2 套用substr_count()函式检索子串
出现的次数 107
6.10 替换子字元串 109
6.11 去除字元串中空白字元和特殊字元 112
6.11.1 去除字元串左边空白字元和特殊字元 113
6.11.2 去除字元串右边空白字元和特殊字元 113
6.11.3 去除字元串两边空白字元和特殊字元 113
6.12 格式化字元串 114
6.13 分割字元串 115
6.14 字元串与HTML相互转换 116
6.15 实战 117
6.15.1 超长文本的分页显示 117
6.15.2 控制页面中输出字元串的长度 119
6.15.3 套用explode()函式和implode()函式
分割和合成字元串 120
6.15.4 套用substr()函式截取超长字元串 121
6.15.5 统一英文注册用户首字母大写 122
6.16 本章小结 122
6.17 学习成果检验 123
第7章 正则表达式 124
视频讲解82分钟
7.1 正则表达式是什幺 125
7.2 正则表达式常用术语 125
7.3 正则表达式语法规则 125
7.3.1 行定位符(^和$) 125
7.3.2 字元类([]) 126
7.3.3 选择字元(|) 126
7.3.4 连字元(-) 126
7.3.5 排除字元(^) 127
7.3.6 限定符(? + {n,m}) 127
7.3.7 点字元(.) 127
7.3.8 转义字元(\) 128
7.3.9 反斜槓(\) 128
7.3.10 括弧字元(()) 129
7.3.11 反向引用 129
7.4 POSIX扩展正则表达式函式 130
7.4.1 查找字元串 130
7.4.2 替换字元串 130
7.4.3 分割字元串 130
7.5 PCRE兼容正则表达式函式 131
7.5.1 查找字元串 131
7.5.2 替换字元串 132
7.6 实战 133
7.6.1 通过正则表达式无刷新验证用户注册
信息是否合理 133
7.6.2 验证E-mail地址格式是否正确 135
7.6.3 验证文本框输入的是否为整数 135
7.6.4 验证IP位址是否有效 136
7.6.5 验证注册信息是否符合要求 137
7.7 本章小结 138
7.8 学习成果检验 139
第8章 PHP数组 140
视频讲解90分钟
8.1 数组是什幺 141
8.2 声明数组 141
8.2.1 数组命名规则 141
8.2.2 通过PHP函式创建数组 142
8.2.3 通过数组标识符"[]"创建数组 143
8.3 数组的类型 143
8.3.1 数字索引数组 143
8.3.2 关联数组 144
8.4 输出数组 144
8.5 数组的构造 145
8.5.1 创建一维数组 145
8.5.2 创建二维数组 146
8.6 遍历数组 146
8.6.1 foreach结构遍历数组 146
8.6.2 each()函式遍历数组 147
8.6.3 list()函式遍历数组 147
8.6.4 for语句遍历数组 148
8.7 合併数组 149
8.8 字元串与数组的转换 150
8.8.1 套用explode()函式将字元串转换成数组 150
8.8.2 套用implode()函式将数组转换成一个
新字元串 150
8.9 统计数组元素个数 150
8.10 数组排序 151
8.10.1 数字数组排序 151
8.10.2 关联数组排序 153
8.11 实战 153
8.11.1 向投票系统添加投票选项 153
8.11.2 用foreach结构遍历二维数组 154
8.11.3 生成线上考试题 155
8.11.4 判断元素值是否在数组中 155
8.11.5 向数组中添加元素 156
8.12 本章小结 157
8.13 学习成果检验 157
第9章 日期和时间 158
视频讲解93分钟
9.1 系统时区设定 159
9.1.1 时区的划分 159
9.1.2 PHP中的时区设定 159
9.2 UNIX时间戳 160
9.2.1 什幺是时间戳 160
9.2.2 UNIX时间戳 160
9.2.3 获取指定日期的时间戳 160
9.2.4 获取当前时间戳 161
9.2.5 将英文文本的日期时间描述解析为UNIX
时间戳 162
9.3 PHP日期和时间的处理 162
9.3.1 格式化日期和时间 163
9.3.2 获取日期和时间信息 164
9.3.3 获取本地化的日期和时间 165
9.3.4 检验日期和时间的有效性 167
9.4 实战 168
9.4.1 实现倒计时的功能 168
9.4.2 实现生日提示功能 168
9.4.3 计算线上考试用时和剩余时间 170
9.4.4 网页闹钟 173
9.4.5 输出中文格式的日期和时间 173
9.5 本章小结 174
9.6 学习成果检验 174
第10章 综合实例(一)--注册登录 175
视频讲解46分钟
10.1 注册及登录验证概述 176
10.1.1 用户注册流程 176
10.1.2 用户登录流程 176
10.1.3 找回密码流程 176
10.1.4 程式预览 176
10.2 热点关键技术 177
10.2.1 防SQL注入技术 177
10.2.2 Ajax无刷新验证技术 177
10.2.3 验证码技术 178
10.2.4 E-mail激活技术 181
10.2.5 套用键盘回响事件验证信息是否合法 181
10.2.6 PHP中操作Cookie技术 183
10.2.7 在JavaScript中操作Cookie技术 183
10.2.8 用户自动登录技术 184
10.3 资料库设计 184
10.3.1 资料库设计概述 184
10.3.2 封装资料库连线-操作类 184
10.4 用户注册 187
10.4.1 用户注册功能概述 187
10.4.2 注册页面设计 187
10.4.3 检测用户名是否被占用 191
10.4.4 注册信息处理 191
10.4.5 注册用户激活 192
10.4.6 免激活用户注册 193
10.5 用户登录 194
10.5.1 用户登录功能概述 194
10.5.2 登录页面设计 194
10.5.3 登录处理页 197
10.5.4 生成及刷新验证码 198
10.6 找回密码 198
10.6.1 找回密码功能概述 198
10.6.2 找回密码功能实现过程 198
第2篇 数 据 库 篇
第11章 MySQL资料库基本操作 202
视频讲解70分钟
11.1 MySQL简介 203
11.1.1 MySQL是什幺 203
11.1.2 MySQL特点 203
11.1.3 MySQL 5支持的特性 204
11.2 启动、连线、断开和停止MySQL
伺服器 204
11.2.1 启动MySQL伺服器 204
11.2.2 连线和断开MySQL伺服器 205
11.2.3 停止MySQL伺服器 205
11.3 使用MySQL命令行运算元据库 206
11.3.1 创建资料库 206
11.3.2 查看资料库 207
11.3.3 选择资料库 207
11.3.4 删除资料库 207
11.4 使用MySQL命令行运算元据表 207
11.4.1 创建数据表 207
11.4.2 查看錶结构 208
11.4.3 修改表结构 209
11.4.4 重命名表 210
11.4.5 删除表 210
11.5 MySQL语句操作 210
11.5.1 插入记录 210
11.5.2 浏览资料库记录 211
11.5.3 修改记录 211
11.5.4 删除记录 212
11.6 实战 212
11.6.1 管理MySQL资料库及数据表 212
11.6.2 创建db_book图书资料库以及图书
信息表tb_mrbook 213
11.6.3 向tb_mrbook表中添加、修改和删除
数据 214
11.6.4 用mysqldump命令导出资料库 214
11.6.5 用mysql命令将资料库档案导入资料库 215
11.7 本章小结 215
11.8 学习成果检验 215
第12章 phpMyAdmin图形化管理工具 216
视频讲解57分钟
12.1 phpMyAdmin简介 217
12.2 phpMyAdmin的安装和配置 217
12.2.1 Windows系统下phpMyAdmin的
安装配置 217
12.2.2 Linux系统下phpMyAdmin的安装配置 218
12.3 phpMyAdmin的使用 219
12.3.1 管理资料库 219
12.3.2 管理数据表 220
12.3.3 管理数据记录 221
12.3.4 导入/导出数据 224
12.4 实战 225
12.4.1 通过phpMyAdmin图形化管理工具修改
资料库密码 225
12.4.2 使用phpMyAdmin设定编码格式 225
12.4.3 通过phpMyAdmin添加伺服器新用户 226
12.4.4 在phpMyAdmin中删除MySQL伺服器
登录密码 226
12.4.5 手动备份、恢复MySQL资料库 227
12.5 本章小结 228
12.6 学习成果检验 228
第13章 使用MySQL函式运算元据库 229
视频讲解182分钟
13.1 PHP访问MySQL资料库的一般
步骤 230
13.2 使用MySQL函式馆 230
13.2.1 连线MySQL伺服器 231
13.2.2 选择资料库 231
13.2.3 执行SQL语句 232
13.2.4 套用mysql_fetch_array()函式获取结果集 233
13.2.5 套用mysql_fetch_object()函式获取结果集 235
13.2.6 套用mysql_fetch_row()函式获取结果集 236
13.2.7 套用mysql_num_rows()函式获取记录数 237
13.2.8 关闭连线 238
13.3 PHP操作MySQL资料库 239
13.3.1 套用insert命令动态添加公告信息 239
13.3.2 套用select命令查询公告信息 241
13.3.3 解决截取公告主题乱码问题 243
13.3.4 分页显示公告信息 244
13.3.5 套用update命令动态编辑公告信息 246
13.3.6 套用delete命令动态删除公告信息 248
13.4 实战 249
13.4.1 输入页码跳转到指定页 249
13.4.2 图片的分栏分页显示 251
13.4.3 留言板 253
13.4.4 高级查询 256
13.4.5 分组统计 258
13.4.6 使用下拉选单跳转页面 260
13.5 本章小结 262
13.6 学习成果检验 263
第14章 ADODB类库 264
视频讲解96分钟
14.1 ADODB类库是什幺 265
14.2 ADODB支持的资料库 265
14.3 ADODB下载与安装 266
14.4 ADODB类库 267
14.4.1 连线资料库函式 267
14.4.2 运算元据库函式 268
14.4.3 控制结果集存取方式函式 272
14.4.4 操作结果集函式 273
14.4.5 处理事务函式 275
14.4.6 生成HTML表格函式 275
14.4.7 生成下拉列表框函式 276
14.4.8 实现分页功能函式 277
14.4.9 错误处理函式 278
14.5 实战 278
14.5.1 实现分页 278
14.5.2 处理事务 279
14.5.3 快取函式+ADODB动态生成静态页 280
14.5.4 添加商品信息 284
14.5.5 删除图书信息 287
14.6 本章小结 289
14.7 学习成果检验 289
第15章 PDO资料库抽象层 290
视频讲解60分钟
15.1 什幺是PDO 291
15.1.1 PDO概述 291
15.1.2 PDO特点 291
15.1.3 安装PDO 291
15.2 PDO连线资料库 292
15.2.1 PDO构造函式 292
15.2.2 DSN详解 292
15.3 PDO中执行SQL语句 292
15.3.1 exec()方法 293
15.3.2 query()方法 293
15.3.3 预处理语句--prepare()和execute() 294
15.4 PDO中获取结果集 295
15.4.1 fetch()方法 295
15.4.2 fetchAll()方法 296
15.4.3 fetchColumn()方法 297
15.5 PDO中捕获SQL语句中的错误 299
15.5.1 使用默认模式--PDO::
ERRMODE_SILENT 299
15.5.2 使用警告模式--PDO::
ERRMODE_WARNING 300
15.5.3 使用异常模式--PDO::
ERRMODE_EXCEPTION 301
15.6 PDO中错误处理 302
15.6.1 errorCode()方法 302
15.6.2 errorInfo()方法 303
15.7 PDO中事务处理 304
15.8 PDO中存储过程 305
15.9 实战 306
15.9.1 明日书店会员注册 306
15.9.2 添加留言信息 308
15.9.3 查询图书信息 309
15.9.4 删除会员信息 310
15.9.5 修改商品信息 312
15.10 本章小结 316
15.11 学习成果检验 316
第16章 综合实例(二)--线上论坛 317
视频讲解25分钟
16.1 线上论坛概述 318
16.1.1 模组概述 318
16.1.2 功能结构 318
16.1.3 许可权分配 318
16.1.4 程式预览 319
16.2 资料库设计 320
16.2.1 资料库设计 320
16.2.2 数据表设计 320
16.2.3 连线资料库 321
16.3 用户注册 321
16.3.1 用户注册概述 321
16.3.2 检测用户名是否被占用 321
16.3.3 用户注册的实现 322
16.4 线上论坛前台 323
16.4.1 帖子浏览功能概述 323
16.4.2 分页显示回覆信息 323
16.4.3 帖子的发布 326
16.4.4 注销用户 328
16.5 后台管理 328
16.5.1 线上论坛后台管理概述 328
16.5.2 通过switch和include语句设计后台
首页框架 328
16.5.3 栏目管理 329
16.6 技术提炼 332
16.6.1 分页技术 332
16.6.2 网页访问许可权设定 334
16.6.3 页面刷新技术 334
第3篇 核 心 技 术
第17章 会话管理 336
视频讲解117分钟
17.1 Cookie管理 337
17.1.1 了解Cookie 337
17.1.2 创建Cookie 338
17.1.3 读取Cookie 339
17.1.4 删除Cookie 340
17.1.5 Cookie套用的注意事项 340
17.1.6 Cookie的综合套用--自动登录 341
17.2 Session管理 343
17.2.1 了解Session 343
17.2.2 启动Session 343
17.2.3 套用Session 344
17.2.4 删除Session 345
17.2.5 Session的综合套用--通过Session
控制页面访问许可权 345
17.3 Session与Cookie的比较 347
17.4 实战 347
17.4.1 通过Cookie实现单点登录 347
17.4.2 Session购物车 349
17.4.3 防止页面刷新 353
17.4.4 通过Session变数禁止刷新页面对
计数器的影响 354
17.4.5 套用Session变数控制用户登录时间 355
17.5 本章小结 357
17.6 学习成果检验 357
第18章 图形图像 358
视频讲解106分钟
18.1 了解GD2函式馆 359
18.2 参数设定 359
18.3 Jpgraph类库 359
18.3.1 Jpgraph类库简介 360
18.3.2 Jpgraph的安装 360
18.3.3 Jpgraph的配置 360
18.4 常用图像处理 361
18.4.1 创建画布 361
18.4.2 颜色处理 361
18.4.3 输出图像 362
18.4.4 绘製基本图形 362
18.4.5 填充几何图形 363
18.4.6 输出文字 364
18.5 实战 365
18.5.1 创建一个简单的图像 365
18.5.2 套用GD2函式在照片上添加文字 366
18.5.3 套用图像处理技术生成验证码 366
18.5.4 Jpgraph创建柱状图展示年度收支情况 368
18.5.5 Jpgraph创建折线图统计图书销售走势 369
18.5.6 Jpgraph创建3D饼形图展示部门
业绩比较 371
18.6 本章小结 371
18.7 学习成果检验 372
第19章 档案系统 373
视频讲解74分钟
19.1 档案处理 374
19.1.1 打开档案 374
19.1.2 读取档案 375
19.1.3 写入档案 377
19.1.4 操作档案 378
19.1.5 关闭档案 379
19.2 档案上传 379
19.2.1 配置php.ini档案 379
19.2.2 预定义变数$_FILES 379
19.2.3 档案上传函式 380
19.3 档案处理的高级套用 381
19.3.1 远程档案的访问 381
19.3.2 档案指针 382
19.3.3 锁定档案 383
19.4 目录处理 384
19.4.1 打开目录 384
19.4.2 浏览目录 384
19.4.3 操作目录 384
19.4.4 关闭目录 385
19.5 实战 385
19.5.1 多图片上传 385
19.5.2 通过文本档案统计页面访问量 387
19.5.3 规范化的档案上传 388
19.5.4 文本档案的分页输出 389
19.5.5 从文本档案中读取注册服务条款 390
19.6 本章小结 391
19.7 学习成果检验 391
第20章 面向对象 392
视频讲解160分钟
20.1 面向对象的基本概念 393
20.1.1 类 393
20.1.2 对象 393
20.1.3 面向对象编程的三大特点 393
20.2 类与对象 393
20.2.1 定义类 394
20.2.2 实例化类 394
20.2.3 使用对象 395
20.2.4 成员变数 396
20.2.5 成员函式 396
20.3 类的许可权修饰符 397
20.3.1 public(公有成员) 397
20.3.2 private(私有成员) 398
20.3.3 protected(保护成员) 398
20.4 构造函式 399
20.4.1 创建构造函式 399
20.4.2 调用父类构造函式 400
20.5 析构函式 400
20.6 使用$this变数访问方法和属性 401
20.7 static关键字 402
20.8 final关键字 403
20.9 抽象类 403
20.10 接口的使用 405
20.11 实战 406
20.11.1 面向对象的用户登录身份验证 406
20.11.2 面向对象的数据分页显示 407
20.11.3 封装一个资料库操作类 409
20.11.4 用面向对象生成图像验证码 410
20.11.5 封装一个显示页码的分页类 411
20.11.6 数据统计类中定义求数字平均值的方法 413
20.11.7 封装特殊字元转义类 414
20.12 本章小结 414
20.13 学习成果检验 414
第21章 PHP加密技术 415
视频讲解8分钟
21.1 加密技术简介 416
21.1.1 MD5算法 416
21.1.2 SHA1算法 417
21.1.3 DES算法 417
21.1.4 MIME/BASE64的算法 417
21.2 PHP内置加密函式 417
21.2.1 使用crypt()函式进行加密 418
21.2.2 使用md5()函式进行加密 419
21.2.3 使用sha1()函式进行加密 419
21.2.4 使用base64_encode()函式进行编码 420
21.2.5 使用base64_decode()函式进行解码 420
21.3 PHP加密扩展库 420
21.3.1 Mcrypt扩展库 420
21.3.2 Mhash扩展库 422
21.4 实战 423
21.4.1 用户注册密码的MD5加密 423
21.4.2 用户注册密码的crypt加密 424
21.4.3 用自定义函式对用户密码进行加密 425
21.4.4 隐藏PHP档案扩展名 427
21.4.5 禁止用户输入敏感字元 428
21.5 本章小结 430
21.6 学习成果检验 430
第22章 程式调试与异常处理 431
视频讲解70分钟
22.1 程式基本调试流程 432
22.2 PHP中的错误类型 432
22.2.1 语法错误 432
22.2.2 语义错误 434
22.2.3 逻辑错误 434
22.2.4 注释错误 435
22.2.5 运行错误 435
22.3 PHP错误的调试 435
22.3.1 PHP的错误报告 436
22.3.2 启动错误报告 436
22.3.3 使用print语句调试程式 436
22.3.4 套用前缀字元@禁止PHP脚本错误
提示 437
22.3.5 使用错误处理器记录日誌 437
22.4 SQL错误的调试 438
22.4.1 PHP与MySQL连线错误 438
22.4.2 SQL语句错误 439
22.5 实战 441
22.5.1 分析、解决PHP与MySQL连线错误 441
22.5.2 解决资料库乱码问题 442
22.5.3 封装异常处理类 444
22.5.4 使用错误处理器记录日誌 445
22.5.5 通过phpMyAdmin调试SQL语句中
的错误 445
22.6 本章小结 446
22.7 学习成果检验 446
第23章 综合实例(三)--投票系统 447
视频讲解45分钟
23.1 投票系统概述 448
23.1.1 模组概述 448
23.1.2 功能结构 448
23.1.3 程式预览 448
23.2 资料库设计 449
23.2.1 资料库设计 449
23.2.2 数据表设计 450
23.2.3 连线资料库 450
23.3 投票 450
23.3.1 用户注册 450
23.3.2 用户登录 452
23.3.3 投票主题浏览 453
23.3.4 投票内容提交 453
23.4 投票管理 458
23.4.1 投票管理概述 458
23.4.2 动态生成投票主题及选项 458
23.4.3 删除投票主题与投票内容 461
23.4.4 刷新投票结果 462
23.5 技术提炼 463
23.5.1 通过3D饼形图分析投票结果 463
23.5.2 通过柱形图分析投票结果 464
23.5.3 Cookie投票限制 466
23.5.4 通过IP限制重複投票 467
第4篇 Web前端开发
第24章 PHP与Web页面互动 470
视频讲解124分钟
24.1 表单 471
24.1.1 创建表单 471
24.1.2 认识表单元素 471
24.2 在Web页中创建表单 474
24.3 在Web页中嵌入PHP脚本 475
24.3.1 在HTML标记中嵌入PHP脚本 475
24.3.2 为表单元素赋值 476
24.4 提交表单数据 476
24.4.1 POST方法提交表单数据 476
24.4.2 GET方法提交表单数据 477
24.4.3 POST方法与GET方法的使用区别 478
24.5 PHP全局变数 478
24.5.1 $_POST[]全局变数 478
24.5.2 $_GET[]全局变数 480
24.5.3 $_SESSION[]全局变数 480
24.6 对URL传递的参数进行编/解码 480
24.6.1 对URL传递的参数进行编码 480
24.6.2 对URL编码的字元串进行解码 481
24.7 实战 481
24.7.1 发布和查看公告信息 482
24.7.2 图书借阅 483
24.7.3 设计一个用户注册表单并获取用户
注册信息 484
24.7.4 限制多行文本域输入的字元个数 485
24.7.5 获取用户的个人信息 486
24.7.6 用户登录 489
24.7.7 设定文本框的唯读属性 490
24.7.8 对超连结传递的数据进行编码 491
24.8 本章小结 491
24.9 学习成果检验 491
第25章 PHP与JavaScript互动 492
视频讲解81分钟
25.1 了解JavaScript 493
25.1.1 JavaScript是什幺 493
25.1.2 JavaScript能做什幺 493
25.2 JavaScript语言基础 493
25.2.1 JavaScript数据类型 493
25.2.2 JavaScript变数 494
25.2.3 JavaScript注释 495
25.3 自定义函式 496
25.4 JavaScript脚本嵌入方式 496
25.4.1 在HTML中嵌入JavaScript脚本 496
25.4.2 套用JavaScript事件调用自定义函式 497
25.4.3 在PHP动态网页中引用JS档案 498
25.4.4 解决浏览器不支持JavaScript的问题 499
25.5 实战 501
25.5.1 套用JavaScript脚本製作树状导航选单 501
25.5.2 PHP与JavaScript脚本的互动套用 503
25.5.3 用JavaScript脚本实现年月日的联动 506
25.5.4 用JavaScript脚本实现几秒后跳转页面 507
25.5.5 确认框confirm()的套用 509
25.6 本章小结 511
25.7 学习成果检验 511
第26章 XML技术 512
视频讲解79分钟
26.1 XML概述 513
26.2 XML语法 513
26.2.1 XML文档结构 513
26.2.2 XML声明 513
26.2.3 XML处理指令 514
26.2.4 XML注释 514
26.2.5 XML元素 514
26.2.6 XML属性 516
26.3 创建XML文档 516
26.4 SimpleXML 517
26.4.1 创建SimpleXML对象 517
26.4.2 遍历所有子元素 518
26.4.3 遍历所有属性 519
26.4.4 访问特定节点元素和属性 520
26.4.5 修改XML数据 520
26.4.6 保存XML文档 521
26.5 实战 522
26.5.1 动态创建XML文档 522
26.5.2 动态读取XML文档 524
26.5.3 通过XPath查询XML中的数据 525
26.5.4 动态添加XML中的数据 527
26.5.5 动态删除XML中的数据 528
26.6 本章小结 531
26.7 学习成果检验 531
第27章 Ajax技术 532
视频讲解77分钟
27.1 Ajax概述 533
27.1.1 什幺是Ajax 533
27.1.2 Ajax的开发模式 533
27.1.3 Ajax的优点 533
27.2 Ajax技术的组成 534
27.2.1 JavaScript脚本语言 534
27.2.2 XMLHttpRequest对象 534
27.2.3 XML语言 537
27.2.4 DOM 538
27.2.5 CSS 538
27.3 Ajax与PHP的互动 538
27.3.1 通过GET方式与PHP进行互动 538
27.3.2 通过POST方式与PHP进行互动 540
27.4 Ajax开发常见问题 542
27.5 实战 543
27.5.1 在PHP中套用Ajax技术检测用户名 543
27.5.2 在PHP中套用Ajax技术实现部落格
文章类别添加 544
27.5.3 使用jQuery製作级联下拉列表框 546
27.5.4 套用Ajax技术删除数据 548
27.5.5 套用Ajax技术製作分类列表框 550
27.6 本章小结 552
27.7 学习成果检验 552
第28章 综合实例(四)--购物车 553
视频讲解45分钟
28.1 购物车模组概述 554
28.1.1 功能概述 554
28.1.2 购物车操作流程 554
28.1.3 程式预览 554
28.2 资料库设计 555
28.2.1 创建资料库 555
28.2.2 创建数据表 555
28.3 首页设计 556
28.3.1 首页概述 556
28.3.2 首页实现过程 557
28.4 登录模组设计 558
28.4.1 登录模组概述 558
28.4.2 用户注册 558
28.4.3 用户登录 560
28.5 商品展示模组设计 561
28.5.1 商品展示模组概述 561
28.5.2 商品展示模组 562
28.6 购物车模组设计 563
28.6.1 购物车模组概述 563
28.6.2 购物车展示 564
28.6.3 更改商品数量 565
28.6.4 删除商品 566
28.6.5 保存购物车 567
28.7 技术提炼 569
28.7.1 资料库连线、管理和分页类档案 569
28.7.2 Smarty模板配置类档案 571
28.7.3 执行类的实例化档案 571
28.7.4 Smarty模板页中的框架技术 572
28.7.5 Ajax无刷新验证技术 572
28.7.6 分页技术 574
28.7.7 购物车中商品添加技术 574
第5篇 框 架 应 用
第29章 Smarty模板技术 578
视频讲解102分钟
29.1 Smarty简介 579
29.1.1 Smarty模板引擎 579
29.1.2 开发模式与运行流程 579
29.2 Smarty的安装配置 580
29.2.1 Smarty下载和安装 580
29.2.2 Smarty配置 580
29.2.3 第一个Smarty程式 581
29.3 Smarty模板设计 582
29.3.1 Smarty模板档案 583
29.3.2 注释 583
29.3.3 变数 583
29.3.4 修饰变数 585
29.3.5 流程控制 586
29.3.6 内建函式 588
29.4 Smarty程式设计 590
29.4.1 Smarty中的常用方法 590
29.4.2 Smarty的配置变数 591
29.5 实战 591
29.5.1 通过Smarty实现网页的动静分离 591
29.5.2 Smarty分页类 593
29.5.3 网站公告 596
29.5.4 Smarty模板truncate()方法截取字元串 597
29.5.5 输出会员信息 600
29.6 本章小结 603
29.7 学习成果检验 603
第30章 ThinkPHP框架 604
视频讲解150分钟
30.1 ThinkPHP简介 605
30.1.1 ThinkPHP框架的特点 605
30.1.2 环境要求 605
30.1.3 下载ThinkPHP框架 605
30.2 ThinkPHP架构 606
30.2.1 ThinkPHP的目录结构 606
30.2.2 自动生成目录 606
30.2.3 项目目录部署方案 607
30.2.4 命名规范 608
30.2.5 项目构建流程 608
30.3 ThinkPHP的配置 610
30.3.1 配置格式 610
30.3.2 调试配置 611
30.4 ThinkPHP的控制器 611
30.4.1 控制器 611
30.4.2 跨模组调用 612
30.5 ThinkPHP的模型 615
30.5.1 模型的命名 615
30.5.2 实例化模型 616
30.5.3 属性访问 619
30.5.4 连线资料库 619
30.5.5 创建数据 622
30.5.6 连贯操作 623
30.5.7 CURD操作 624
30.6 ThinkPHP的视图 626
30.6.1 模板定义 627
30.6.2 模板赋值 627
30.6.3 指定模板档案 627
30.6.4 特殊字元串替换 628
30.7 内置ThinkTemplate模板引擎 629
30.8 实战 631
30.8.1 用户信息的查询、更新和删除 631
30.8.2 用户登录 633
30.8.3 商品信息的分页输出 636
30.8.4 新闻发布 637
30.8.5 带查询条件的分页 641
30.9 本章小结 645
30.10 学习成果检验 645
第31章 综合实例(五)--明日导航网 646
视频讲解39分钟
31.1 需求分析 647
31.2 系统设计 647
31.2.1 系统功能结构 647
31.2.2 系统预览 647
31.3 资料库设计 648
31.3.1 资料库设计 648
31.3.2 数据表设计 648
31.3.3 连线资料库 649
31.4 ThinkPHP架设项目结构 649
31.4.1 下载ThinkPHP框架 650
31.4.2 自动生成项目目录 650
31.5 明日导航前台页面设计 650
31.5.1 页面设计概述 651
31.5.2 控制器的创建 652
31.5.3 视图中套用到的模板标籤 653
31.5.4 在视图中创建模板档案 655
31.6 明日导航后台管理设计 656
31.6.1 后台管理概述 656
31.6.2 通过系统配置档案存储后台登录数据 656
31.6.3 后台管理架构解析 657
31.6.4 ThinkPHP框架中的分页技术 657
31.6.5 后台管理视图中套用的模板标籤 658
31.6.6 后台登录 659
31.6.7 后台管理主页 660
31.6.8 高级类别管理 661
31.6.9 判断访问用户的许可权 664
31.6.10 操作提示页面 664
31.7 项目发布 665
31.8 本章小结 666
第6篇 项 目 实 战
第32章 部落格管理系统 668
视频讲解169分钟
32.1 项目描述 669
32.2 系统分析 669
32.2.1 需求分析 669
32.2.2 系统目标 669
32.2.3 系统功能结构 670
32.2.4 系统流程图 670
32.3 软体开发环境 670
32.4 资料库与数据表的设计 671
32.4.1 资料库分析 671
32.4.2 资料库E-R图设计 671
32.4.3 创建资料库和数据表 672
32.5 首页设计 673
32.5.1 首页概述 673
32.5.2 首页技术分析 674
32.5.3 首页的实现过程 675
32.6 用户管理模组设计 676
32.6.1 用户管理模组概述 676
32.6.2 用户注册 676
32.6.3 用户登录 678
32.6.4 查询用户信息 679
32.6.5 浏览用户信息 680
32.7 文章管理模组设计 682
32.7.1 文章管理模组概述 682
32.7.2 文章管理模组技术分析 682
32.7.3 添加文章的实现过程 683
32.7.4 文章列表的实现过程 684
32.7.5 查看、评论文章的实现过程 686
32.7.6 删除文章或评论的实现过程 688
32.8 图片上传模组设计 688
32.8.1 图片上传模组概述 689
32.8.2 图片上传模组技术分析 689
32.8.3 图片上传的实现过程 692
32.8.4 图片浏览的实现过程 694
32.8.5 删除图片的实现过程 696
32.9 朋友圈模组设计 696
32.9.1 朋友圈模组概述 697
32.9.2 朋友圈模组技术分析 697
32.9.3 查询好友的实现过程 697
32.10 项目发布 699
32.10.1 通过个人伺服器发布项目 699
32.10.2 通过租用空间发布项目 699
32.11 开发常见问题与解决 700
32.12 本章小结 701
第33章 套用Smarty模板开发
电子商务平台 702
视频讲解281分钟
33.1 项目描述 703
33.2 系统分析 703
33.2.1 需求分析 703
33.2.2 编写项目计画书 703
33.3 系统设计 703
33.3.1 系统目标 703
33.3.2 系统功能结构 704
33.3.3 系统流程图 704
33.4 系统开发环境 705
33.5 资料库与数据表的设计 705
33.5.1 资料库分析 705
33.5.2 创建资料库和数据表 706
33.6 搭建系统框架 707
33.7 公共档案设计 708
33.7.1 资料库连线档案 708
33.7.2 Smarty配置档案 708
33.7.3 XMLHttpRequest对象档案 709
33.7.4 表单样式档案 709
33.8 前台首页设计 711
33.9 登录模组设计 712
33.9.1 用户注册 713
33.9.2 用户登录 717
33.9.3 找回密码 719
33.10 会员信息模组设计 723
33.10.1 会员中心 723
33.10.2 安全退出 725
33.11 商品展示模组 726
33.11.1 创建PHP页 726
33.11.2 创建模板页 726
33.11.3 JavaScript脚本页面 727
33.12 购物车模组设计 728
33.12.1 添加商品 728
33.12.2 显示购物车 730
33.12.3 更改商品数量 731
33.12.4 删除商品 732
33.12.5 保存购物车 734
33.13 收银台模组设计 735
33.13.1 显示订单 736
33.13.2 填写订单 736
33.13.3 处理订单 737
33.13.4 反馈订单 739
33.13.5 查询订单 739
33.14 后台首页设计 741
33.14.1 后台首页布局 742
33.14.2 DIV+JavaScript+CSS实现树状选单 742
33.15 类别管理模组设计 743
33.15.1 添加类别 743
33.15.2 查看类别 745
33.16 订单管理模组设计 749
33.17 开发的常见问题 751
33.17.1 解决Ajax的乱码问题 751
33.17.2 使用JS脚本获取、输出标籤内容 751
33.17.3 使用浮动框架做关联选单 752
33.17.4 禁用页面快取 752
33.17.5 在新视窗中使用Session 752
33.17.6 防止站外连结 753
33.17.7 判断上传档案格式 753
33.18 网站运行错误分析 753
33.18.1 资料库导致的错误 754
33.18.2 Smarty模板的配置错误 754
33.19 本章小结 755
附录A PHP编码规则 756
第1篇 新 手 入 门
第1章 初识PHP 2
视频讲解7分钟
1.1 PHP概述 3
1.1.1 PHP是什幺 3
1.1.2 PHP 5的新特性 3
1.1.3 PHP的语言优势 3
1.1.4 PHP语言的发展 4
1.2 PHP与其他语言的比较 5
1.3 PHP语言相关术语 5
1.4 资深程式设计师谈如何学习PHP 7
1.5 常用代码编辑工具 8
1.6 学习资源 9
1.6.1 PHP参考手册 10
1.6.2 PHP学习讨论 10
1.7 成功案例 10
1.8 本章小结 11
第2章 PHP环境搭建 12
视频讲解75分钟
2.1 搭建PHP开发环境的準备工作 13
2.1.1 在Windows下搭建PHP开发环境的
準备工作 13
2.1.2 在Linux下搭建PHP开发环境的準备工作 13
2.2 Apache伺服器的安装和配置 13
2.2.1 在Windows下安装Apache伺服器 13
2.2.2 在Linux下安装Apache伺服器 16
2.3 PHP的安装和配置 17
2.3.1 在Windows下安装PHP 17
2.3.2 在Linux下安装PHP 17
2.4 MySQL伺服器的安装和配置 18
2.4.1 在Windows下安装MySQL伺服器 18
2.4.2 在Linux下安装MySQL伺服器 21
2.5 初学者--套用组合包快速搭建
PHP环境 22
2.6 第一个PHP程式 24
2.6.1 使用Macromedia Dreamweaver 8编写
源程式 24
2.6.2 发布和运行PHP程式 25
2.7 环境安装常见问题 25
2.7.1 Apache安装常见问题 25
2.7.2 PHP安装常见问题 26
2.7.3 MySQL安装常见问题 27
2.8 实战 27
2.8.1 输出系统的当前时间 27
2.8.2 输出"明日科技欢迎你" 29
2.8.3 输出一张漂亮的图片 29
2.8.4 更改Apache伺服器的连线埠号为82 30
2.8.5 Apache伺服器的连线埠号修改后运行
第一个PHP程式 30
2.9 本章小结 31
2.10 学习成果检验 31
第3章 PHP语言基础 32
视频讲解125分钟
3.1 学习语言基础的重要性 33
3.2 PHP语法基础 33
3.2.1 PHP标识符 33
3.2.2 PHP的注释 34
3.3 PHP的数据类型 34
3.3.1 整型 35
3.3.2 布尔型 35
3.3.3 浮点型 36
3.3.4 字元串型 36
3.3.5 null型 38
3.3.6 数据类型的转换 39
3.4 PHP常量 40
3.4.1 声明和使用常量 40
3.4.2 预定义常量 41
3.5 PHP变数 42
3.5.1 变数声明及使用 42
3.5.2 变数作用域 44
3.5.3 可变变数 45
3.5.4 预定义变数 46
3.5.5 变数的生存周期 47
3.6 PHP运算符 47
3.6.1 字元串运算符 47
3.6.2 算术运算符 47
3.6.3 赋值运算符 48
3.6.4 递增或递减运算符 49
3.6.5 位运算符 50
3.6.6 逻辑运算符 50
3.6.7 比较运算符 51
3.6.8 条件运算符 52
3.6.9 运算符的使用规则 53
3.7 PHP的表达式 53
3.8 实战 54
3.8.1 判断指定的年份是否为闰年 54
3.8.2 检测变数是否为整型 55
3.8.3 输出姚明的个人信息 55
3.8.4 计算长方形的面积 56
3.8.5 比较某一天的产品销量 56
3.9 本章小结 57
3.10 学习成果检验 57
第4章 流程控制语句 58
视频讲解80分钟
4.1 学前导读 59
4.1.1 什幺是算法 59
4.1.2 算法的描述方法 59
4.1.3 程式的3种控制结构 60
4.2 条件控制语句 61
4.2.1 if条件语句 62
4.2.2 switch...case分支控制语句 64
4.3 循环控制语句 65
4.3.1 while循环语句 65
4.3.2 do...while循环语句 66
4.3.3 for循环语句 67
4.3.4 foreach循环语句 68
4.4 跳转控制语句 69
4.4.1 套用break语句跳出循环 69
4.4.2 套用continue语句跳出循环 70
4.5 实战 71
4.5.1 过滤留言信息中的敏感词 71
4.5.2 图书信息显示 73
4.5.3 套用switch语句设计网站主页 74
4.5.4 套用continue语句计算100以内奇数的和 76
4.5.5 套用for语句製作一个乘法口诀表 76
4.6 本章小结 77
4.7 学习成果检验 77
第5章 函式 78
视频讲解75分钟
5.1 自定义函式 79
5.1.1 函式的命名规则 79
5.1.2 自定义函式格式 79
5.1.3 调用自定义函式 80
5.1.4 函式的参数 80
5.1.5 函式返回值 81
5.1.6 嵌套调用 82
5.1.7 递归调用 82
5.2 内建函式 83
5.3 输出语句 83
5.3.1 套用print语句输出字元 83
5.3.2 套用echo语句输出字元 84
5.3.3 套用printf语句格式化输出字元 85
5.3.4 套用sprintf语句格式化输出字元 86
5.4 引用档案 87
5.4.1 套用include语句引用档案 87
5.4.2 套用require语句引用档案 88
5.4.3 套用include_once语句引用档案 88
5.4.4 套用require_once语句引用档案 89
5.4.5 include语句和require语句的使用区别 90
5.4.6 include_once语句和require_once语句的
使用区别 90
5.5 实战 90
5.5.1 通过自定义函式防止新闻主题信息出现
中文乱码 90
5.5.2 套用include语句构建线上音乐网站主页 92
5.5.3 对关键字进行高亮显示 93
5.5.4 获取上传档案的后缀名 93
5.5.5 自定义一个为数字取绝对值的函式 94
5.6 本章小结 94
5.7 学习成果检验 95
第6章 字元串 96
视频讲解76分钟
6.1 字元串简介 97
6.2 单引号与双引号 97
6.3 定界符 98
6.4 连线字元串 99
6.5 转义、还原字元串 100
6.5.1 手动转义、还原字元串 100
6.5.2 自动转义、还原字元串 101
6.6 获取字元串长度 102
6.7 截取字元串 103
6.8 比较字元串 104
6.8.1 按位元组比较 105
6.8.2 按自然排序法比较 105
6.8.3 指定从源字元串的位置比较 106
6.9 检索字元串 106
6.9.1 套用strstr()函式检索指定的关键字 106
6.9.2 套用substr_count()函式检索子串
出现的次数 107
6.10 替换子字元串 109
6.11 去除字元串中空白字元和特殊字元 112
6.11.1 去除字元串左边空白字元和特殊字元 113
6.11.2 去除字元串右边空白字元和特殊字元 113
6.11.3 去除字元串两边空白字元和特殊字元 113
6.12 格式化字元串 114
6.13 分割字元串 115
6.14 字元串与HTML相互转换 116
6.15 实战 117
6.15.1 超长文本的分页显示 117
6.15.2 控制页面中输出字元串的长度 119
6.15.3 套用explode()函式和implode()函式
分割和合成字元串 120
6.15.4 套用substr()函式截取超长字元串 121
6.15.5 统一英文注册用户首字母大写 122
6.16 本章小结 122
6.17 学习成果检验 123
第7章 正则表达式 124
视频讲解82分钟
7.1 正则表达式是什幺 125
7.2 正则表达式常用术语 125
7.3 正则表达式语法规则 125
7.3.1 行定位符(^和$) 125
7.3.2 字元类([]) 126
7.3.3 选择字元(|) 126
7.3.4 连字元(-) 126
7.3.5 排除字元(^) 127
7.3.6 限定符(? + {n,m}) 127
7.3.7 点字元(.) 127
7.3.8 转义字元(\) 128
7.3.9 反斜槓(\) 128
7.3.10 括弧字元(()) 129
7.3.11 反向引用 129
7.4 POSIX扩展正则表达式函式 130
7.4.1 查找字元串 130
7.4.2 替换字元串 130
7.4.3 分割字元串 130
7.5 PCRE兼容正则表达式函式 131
7.5.1 查找字元串 131
7.5.2 替换字元串 132
7.6 实战 133
7.6.1 通过正则表达式无刷新验证用户注册
信息是否合理 133
7.6.2 验证E-mail地址格式是否正确 135
7.6.3 验证文本框输入的是否为整数 135
7.6.4 验证IP位址是否有效 136
7.6.5 验证注册信息是否符合要求 137
7.7 本章小结 138
7.8 学习成果检验 139
第8章 PHP数组 140
视频讲解90分钟
8.1 数组是什幺 141
8.2 声明数组 141
8.2.1 数组命名规则 141
8.2.2 通过PHP函式创建数组 142
8.2.3 通过数组标识符"[]"创建数组 143
8.3 数组的类型 143
8.3.1 数字索引数组 143
8.3.2 关联数组 144
8.4 输出数组 144
8.5 数组的构造 145
8.5.1 创建一维数组 145
8.5.2 创建二维数组 146
8.6 遍历数组 146
8.6.1 foreach结构遍历数组 146
8.6.2 each()函式遍历数组 147
8.6.3 list()函式遍历数组 147
8.6.4 for语句遍历数组 148
8.7 合併数组 149
8.8 字元串与数组的转换 150
8.8.1 套用explode()函式将字元串转换成数组 150
8.8.2 套用implode()函式将数组转换成一个
新字元串 150
8.9 统计数组元素个数 150
8.10 数组排序 151
8.10.1 数字数组排序 151
8.10.2 关联数组排序 153
8.11 实战 153
8.11.1 向投票系统添加投票选项 153
8.11.2 用foreach结构遍历二维数组 154
8.11.3 生成线上考试题 155
8.11.4 判断元素值是否在数组中 155
8.11.5 向数组中添加元素 156
8.12 本章小结 157
8.13 学习成果检验 157
第9章 日期和时间 158
视频讲解93分钟
9.1 系统时区设定 159
9.1.1 时区的划分 159
9.1.2 PHP中的时区设定 159
9.2 UNIX时间戳 160
9.2.1 什幺是时间戳 160
9.2.2 UNIX时间戳 160
9.2.3 获取指定日期的时间戳 160
9.2.4 获取当前时间戳 161
9.2.5 将英文文本的日期时间描述解析为UNIX
时间戳 162
9.3 PHP日期和时间的处理 162
9.3.1 格式化日期和时间 163
9.3.2 获取日期和时间信息 164
9.3.3 获取本地化的日期和时间 165
9.3.4 检验日期和时间的有效性 167
9.4 实战 168
9.4.1 实现倒计时的功能 168
9.4.2 实现生日提示功能 168
9.4.3 计算线上考试用时和剩余时间 170
9.4.4 网页闹钟 173
9.4.5 输出中文格式的日期和时间 173
9.5 本章小结 174
9.6 学习成果检验 174
第10章 综合实例(一)--注册登录 175
视频讲解46分钟
10.1 注册及登录验证概述 176
10.1.1 用户注册流程 176
10.1.2 用户登录流程 176
10.1.3 找回密码流程 176
10.1.4 程式预览 176
10.2 热点关键技术 177
10.2.1 防SQL注入技术 177
10.2.2 Ajax无刷新验证技术 177
10.2.3 验证码技术 178
10.2.4 E-mail激活技术 181
10.2.5 套用键盘回响事件验证信息是否合法 181
10.2.6 PHP中操作Cookie技术 183
10.2.7 在JavaScript中操作Cookie技术 183
10.2.8 用户自动登录技术 184
10.3 资料库设计 184
10.3.1 资料库设计概述 184
10.3.2 封装资料库连线-操作类 184
10.4 用户注册 187
10.4.1 用户注册功能概述 187
10.4.2 注册页面设计 187
10.4.3 检测用户名是否被占用 191
10.4.4 注册信息处理 191
10.4.5 注册用户激活 192
10.4.6 免激活用户注册 193
10.5 用户登录 194
10.5.1 用户登录功能概述 194
10.5.2 登录页面设计 194
10.5.3 登录处理页 197
10.5.4 生成及刷新验证码 198
10.6 找回密码 198
10.6.1 找回密码功能概述 198
10.6.2 找回密码功能实现过程 198
第2篇 数 据 库 篇
第11章 MySQL资料库基本操作 202
视频讲解70分钟
11.1 MySQL简介 203
11.1.1 MySQL是什幺 203
11.1.2 MySQL特点 203
11.1.3 MySQL 5支持的特性 204
11.2 启动、连线、断开和停止MySQL
伺服器 204
11.2.1 启动MySQL伺服器 204
11.2.2 连线和断开MySQL伺服器 205
11.2.3 停止MySQL伺服器 205
11.3 使用MySQL命令行运算元据库 206
11.3.1 创建资料库 206
11.3.2 查看资料库 207
11.3.3 选择资料库 207
11.3.4 删除资料库 207
11.4 使用MySQL命令行运算元据表 207
11.4.1 创建数据表 207
11.4.2 查看錶结构 208
11.4.3 修改表结构 209
11.4.4 重命名表 210
11.4.5 删除表 210
11.5 MySQL语句操作 210
11.5.1 插入记录 210
11.5.2 浏览资料库记录 211
11.5.3 修改记录 211
11.5.4 删除记录 212
11.6 实战 212
11.6.1 管理MySQL资料库及数据表 212
11.6.2 创建db_book图书资料库以及图书
信息表tb_mrbook 213
11.6.3 向tb_mrbook表中添加、修改和删除
数据 214
11.6.4 用mysqldump命令导出资料库 214
11.6.5 用mysql命令将资料库档案导入资料库 215
11.7 本章小结 215
11.8 学习成果检验 215
第12章 phpMyAdmin图形化管理工具 216
视频讲解57分钟
12.1 phpMyAdmin简介 217
12.2 phpMyAdmin的安装和配置 217
12.2.1 Windows系统下phpMyAdmin的
安装配置 217
12.2.2 Linux系统下phpMyAdmin的安装配置 218
12.3 phpMyAdmin的使用 219
12.3.1 管理资料库 219
12.3.2 管理数据表 220
12.3.3 管理数据记录 221
12.3.4 导入/导出数据 224
12.4 实战 225
12.4.1 通过phpMyAdmin图形化管理工具修改
资料库密码 225
12.4.2 使用phpMyAdmin设定编码格式 225
12.4.3 通过phpMyAdmin添加伺服器新用户 226
12.4.4 在phpMyAdmin中删除MySQL伺服器
登录密码 226
12.4.5 手动备份、恢复MySQL资料库 227
12.5 本章小结 228
12.6 学习成果检验 228
第13章 使用MySQL函式运算元据库 229
视频讲解182分钟
13.1 PHP访问MySQL资料库的一般
步骤 230
13.2 使用MySQL函式馆 230
13.2.1 连线MySQL伺服器 231
13.2.2 选择资料库 231
13.2.3 执行SQL语句 232
13.2.4 套用mysql_fetch_array()函式获取结果集 233
13.2.5 套用mysql_fetch_object()函式获取结果集 235
13.2.6 套用mysql_fetch_row()函式获取结果集 236
13.2.7 套用mysql_num_rows()函式获取记录数 237
13.2.8 关闭连线 238
13.3 PHP操作MySQL资料库 239
13.3.1 套用insert命令动态添加公告信息 239
13.3.2 套用select命令查询公告信息 241
13.3.3 解决截取公告主题乱码问题 243
13.3.4 分页显示公告信息 244
13.3.5 套用update命令动态编辑公告信息 246
13.3.6 套用delete命令动态删除公告信息 248
13.4 实战 249
13.4.1 输入页码跳转到指定页 249
13.4.2 图片的分栏分页显示 251
13.4.3 留言板 253
13.4.4 高级查询 256
13.4.5 分组统计 258
13.4.6 使用下拉选单跳转页面 260
13.5 本章小结 262
13.6 学习成果检验 263
第14章 ADODB类库 264
视频讲解96分钟
14.1 ADODB类库是什幺 265
14.2 ADODB支持的资料库 265
14.3 ADODB下载与安装 266
14.4 ADODB类库 267
14.4.1 连线资料库函式 267
14.4.2 运算元据库函式 268
14.4.3 控制结果集存取方式函式 272
14.4.4 操作结果集函式 273
14.4.5 处理事务函式 275
14.4.6 生成HTML表格函式 275
14.4.7 生成下拉列表框函式 276
14.4.8 实现分页功能函式 277
14.4.9 错误处理函式 278
14.5 实战 278
14.5.1 实现分页 278
14.5.2 处理事务 279
14.5.3 快取函式+ADODB动态生成静态页 280
14.5.4 添加商品信息 284
14.5.5 删除图书信息 287
14.6 本章小结 289
14.7 学习成果检验 289
第15章 PDO资料库抽象层 290
视频讲解60分钟
15.1 什幺是PDO 291
15.1.1 PDO概述 291
15.1.2 PDO特点 291
15.1.3 安装PDO 291
15.2 PDO连线资料库 292
15.2.1 PDO构造函式 292
15.2.2 DSN详解 292
15.3 PDO中执行SQL语句 292
15.3.1 exec()方法 293
15.3.2 query()方法 293
15.3.3 预处理语句--prepare()和execute() 294
15.4 PDO中获取结果集 295
15.4.1 fetch()方法 295
15.4.2 fetchAll()方法 296
15.4.3 fetchColumn()方法 297
15.5 PDO中捕获SQL语句中的错误 299
15.5.1 使用默认模式--PDO::
ERRMODE_SILENT 299
15.5.2 使用警告模式--PDO::
ERRMODE_WARNING 300
15.5.3 使用异常模式--PDO::
ERRMODE_EXCEPTION 301
15.6 PDO中错误处理 302
15.6.1 errorCode()方法 302
15.6.2 errorInfo()方法 303
15.7 PDO中事务处理 304
15.8 PDO中存储过程 305
15.9 实战 306
15.9.1 明日书店会员注册 306
15.9.2 添加留言信息 308
15.9.3 查询图书信息 309
15.9.4 删除会员信息 310
15.9.5 修改商品信息 312
15.10 本章小结 316
15.11 学习成果检验 316
第16章 综合实例(二)--线上论坛 317
视频讲解25分钟
16.1 线上论坛概述 318
16.1.1 模组概述 318
16.1.2 功能结构 318
16.1.3 许可权分配 318
16.1.4 程式预览 319
16.2 资料库设计 320
16.2.1 资料库设计 320
16.2.2 数据表设计 320
16.2.3 连线资料库 321
16.3 用户注册 321
16.3.1 用户注册概述 321
16.3.2 检测用户名是否被占用 321
16.3.3 用户注册的实现 322
16.4 线上论坛前台 323
16.4.1 帖子浏览功能概述 323
16.4.2 分页显示回覆信息 323
16.4.3 帖子的发布 326
16.4.4 注销用户 328
16.5 后台管理 328
16.5.1 线上论坛后台管理概述 328
16.5.2 通过switch和include语句设计后台
首页框架 328
16.5.3 栏目管理 329
16.6 技术提炼 332
16.6.1 分页技术 332
16.6.2 网页访问许可权设定 334
16.6.3 页面刷新技术 334
第3篇 核 心 技 术
第17章 会话管理 336
视频讲解117分钟
17.1 Cookie管理 337
17.1.1 了解Cookie 337
17.1.2 创建Cookie 338
17.1.3 读取Cookie 339
17.1.4 删除Cookie 340
17.1.5 Cookie套用的注意事项 340
17.1.6 Cookie的综合套用--自动登录 341
17.2 Session管理 343
17.2.1 了解Session 343
17.2.2 启动Session 343
17.2.3 套用Session 344
17.2.4 删除Session 345
17.2.5 Session的综合套用--通过Session
控制页面访问许可权 345
17.3 Session与Cookie的比较 347
17.4 实战 347
17.4.1 通过Cookie实现单点登录 347
17.4.2 Session购物车 349
17.4.3 防止页面刷新 353
17.4.4 通过Session变数禁止刷新页面对
计数器的影响 354
17.4.5 套用Session变数控制用户登录时间 355
17.5 本章小结 357
17.6 学习成果检验 357
第18章 图形图像 358
视频讲解106分钟
18.1 了解GD2函式馆 359
18.2 参数设定 359
18.3 Jpgraph类库 359
18.3.1 Jpgraph类库简介 360
18.3.2 Jpgraph的安装 360
18.3.3 Jpgraph的配置 360
18.4 常用图像处理 361
18.4.1 创建画布 361
18.4.2 颜色处理 361
18.4.3 输出图像 362
18.4.4 绘製基本图形 362
18.4.5 填充几何图形 363
18.4.6 输出文字 364
18.5 实战 365
18.5.1 创建一个简单的图像 365
18.5.2 套用GD2函式在照片上添加文字 366
18.5.3 套用图像处理技术生成验证码 366
18.5.4 Jpgraph创建柱状图展示年度收支情况 368
18.5.5 Jpgraph创建折线图统计图书销售走势 369
18.5.6 Jpgraph创建3D饼形图展示部门
业绩比较 371
18.6 本章小结 371
18.7 学习成果检验 372
第19章 档案系统 373
视频讲解74分钟
19.1 档案处理 374
19.1.1 打开档案 374
19.1.2 读取档案 375
19.1.3 写入档案 377
19.1.4 操作档案 378
19.1.5 关闭档案 379
19.2 档案上传 379
19.2.1 配置php.ini档案 379
19.2.2 预定义变数$_FILES 379
19.2.3 档案上传函式 380
19.3 档案处理的高级套用 381
19.3.1 远程档案的访问 381
19.3.2 档案指针 382
19.3.3 锁定档案 383
19.4 目录处理 384
19.4.1 打开目录 384
19.4.2 浏览目录 384
19.4.3 操作目录 384
19.4.4 关闭目录 385
19.5 实战 385
19.5.1 多图片上传 385
19.5.2 通过文本档案统计页面访问量 387
19.5.3 规范化的档案上传 388
19.5.4 文本档案的分页输出 389
19.5.5 从文本档案中读取注册服务条款 390
19.6 本章小结 391
19.7 学习成果检验 391
第20章 面向对象 392
视频讲解160分钟
20.1 面向对象的基本概念 393
20.1.1 类 393
20.1.2 对象 393
20.1.3 面向对象编程的三大特点 393
20.2 类与对象 393
20.2.1 定义类 394
20.2.2 实例化类 394
20.2.3 使用对象 395
20.2.4 成员变数 396
20.2.5 成员函式 396
20.3 类的许可权修饰符 397
20.3.1 public(公有成员) 397
20.3.2 private(私有成员) 398
20.3.3 protected(保护成员) 398
20.4 构造函式 399
20.4.1 创建构造函式 399
20.4.2 调用父类构造函式 400
20.5 析构函式 400
20.6 使用$this变数访问方法和属性 401
20.7 static关键字 402
20.8 final关键字 403
20.9 抽象类 403
20.10 接口的使用 405
20.11 实战 406
20.11.1 面向对象的用户登录身份验证 406
20.11.2 面向对象的数据分页显示 407
20.11.3 封装一个资料库操作类 409
20.11.4 用面向对象生成图像验证码 410
20.11.5 封装一个显示页码的分页类 411
20.11.6 数据统计类中定义求数字平均值的方法 413
20.11.7 封装特殊字元转义类 414
20.12 本章小结 414
20.13 学习成果检验 414
第21章 PHP加密技术 415
视频讲解8分钟
21.1 加密技术简介 416
21.1.1 MD5算法 416
21.1.2 SHA1算法 417
21.1.3 DES算法 417
21.1.4 MIME/BASE64的算法 417
21.2 PHP内置加密函式 417
21.2.1 使用crypt()函式进行加密 418
21.2.2 使用md5()函式进行加密 419
21.2.3 使用sha1()函式进行加密 419
21.2.4 使用base64_encode()函式进行编码 420
21.2.5 使用base64_decode()函式进行解码 420
21.3 PHP加密扩展库 420
21.3.1 Mcrypt扩展库 420
21.3.2 Mhash扩展库 422
21.4 实战 423
21.4.1 用户注册密码的MD5加密 423
21.4.2 用户注册密码的crypt加密 424
21.4.3 用自定义函式对用户密码进行加密 425
21.4.4 隐藏PHP档案扩展名 427
21.4.5 禁止用户输入敏感字元 428
21.5 本章小结 430
21.6 学习成果检验 430
第22章 程式调试与异常处理 431
视频讲解70分钟
22.1 程式基本调试流程 432
22.2 PHP中的错误类型 432
22.2.1 语法错误 432
22.2.2 语义错误 434
22.2.3 逻辑错误 434
22.2.4 注释错误 435
22.2.5 运行错误 435
22.3 PHP错误的调试 435
22.3.1 PHP的错误报告 436
22.3.2 启动错误报告 436
22.3.3 使用print语句调试程式 436
22.3.4 套用前缀字元@禁止PHP脚本错误
提示 437
22.3.5 使用错误处理器记录日誌 437
22.4 SQL错误的调试 438
22.4.1 PHP与MySQL连线错误 438
22.4.2 SQL语句错误 439
22.5 实战 441
22.5.1 分析、解决PHP与MySQL连线错误 441
22.5.2 解决资料库乱码问题 442
22.5.3 封装异常处理类 444
22.5.4 使用错误处理器记录日誌 445
22.5.5 通过phpMyAdmin调试SQL语句中
的错误 445
22.6 本章小结 446
22.7 学习成果检验 446
第23章 综合实例(三)--投票系统 447
视频讲解45分钟
23.1 投票系统概述 448
23.1.1 模组概述 448
23.1.2 功能结构 448
23.1.3 程式预览 448
23.2 资料库设计 449
23.2.1 资料库设计 449
23.2.2 数据表设计 450
23.2.3 连线资料库 450
23.3 投票 450
23.3.1 用户注册 450
23.3.2 用户登录 452
23.3.3 投票主题浏览 453
23.3.4 投票内容提交 453
23.4 投票管理 458
23.4.1 投票管理概述 458
23.4.2 动态生成投票主题及选项 458
23.4.3 删除投票主题与投票内容 461
23.4.4 刷新投票结果 462
23.5 技术提炼 463
23.5.1 通过3D饼形图分析投票结果 463
23.5.2 通过柱形图分析投票结果 464
23.5.3 Cookie投票限制 466
23.5.4 通过IP限制重複投票 467
第4篇 Web前端开发
第24章 PHP与Web页面互动 470
视频讲解124分钟
24.1 表单 471
24.1.1 创建表单 471
24.1.2 认识表单元素 471
24.2 在Web页中创建表单 474
24.3 在Web页中嵌入PHP脚本 475
24.3.1 在HTML标记中嵌入PHP脚本 475
24.3.2 为表单元素赋值 476
24.4 提交表单数据 476
24.4.1 POST方法提交表单数据 476
24.4.2 GET方法提交表单数据 477
24.4.3 POST方法与GET方法的使用区别 478
24.5 PHP全局变数 478
24.5.1 $_POST[]全局变数 478
24.5.2 $_GET[]全局变数 480
24.5.3 $_SESSION[]全局变数 480
24.6 对URL传递的参数进行编/解码 480
24.6.1 对URL传递的参数进行编码 480
24.6.2 对URL编码的字元串进行解码 481
24.7 实战 481
24.7.1 发布和查看公告信息 482
24.7.2 图书借阅 483
24.7.3 设计一个用户注册表单并获取用户
注册信息 484
24.7.4 限制多行文本域输入的字元个数 485
24.7.5 获取用户的个人信息 486
24.7.6 用户登录 489
24.7.7 设定文本框的唯读属性 490
24.7.8 对超连结传递的数据进行编码 491
24.8 本章小结 491
24.9 学习成果检验 491
第25章 PHP与JavaScript互动 492
视频讲解81分钟
25.1 了解JavaScript 493
25.1.1 JavaScript是什幺 493
25.1.2 JavaScript能做什幺 493
25.2 JavaScript语言基础 493
25.2.1 JavaScript数据类型 493
25.2.2 JavaScript变数 494
25.2.3 JavaScript注释 495
25.3 自定义函式 496
25.4 JavaScript脚本嵌入方式 496
25.4.1 在HTML中嵌入JavaScript脚本 496
25.4.2 套用JavaScript事件调用自定义函式 497
25.4.3 在PHP动态网页中引用JS档案 498
25.4.4 解决浏览器不支持JavaScript的问题 499
25.5 实战 501
25.5.1 套用JavaScript脚本製作树状导航选单 501
25.5.2 PHP与JavaScript脚本的互动套用 503
25.5.3 用JavaScript脚本实现年月日的联动 506
25.5.4 用JavaScript脚本实现几秒后跳转页面 507
25.5.5 确认框confirm()的套用 509
25.6 本章小结 511
25.7 学习成果检验 511
第26章 XML技术 512
视频讲解79分钟
26.1 XML概述 513
26.2 XML语法 513
26.2.1 XML文档结构 513
26.2.2 XML声明 513
26.2.3 XML处理指令 514
26.2.4 XML注释 514
26.2.5 XML元素 514
26.2.6 XML属性 516
26.3 创建XML文档 516
26.4 SimpleXML 517
26.4.1 创建SimpleXML对象 517
26.4.2 遍历所有子元素 518
26.4.3 遍历所有属性 519
26.4.4 访问特定节点元素和属性 520
26.4.5 修改XML数据 520
26.4.6 保存XML文档 521
26.5 实战 522
26.5.1 动态创建XML文档 522
26.5.2 动态读取XML文档 524
26.5.3 通过XPath查询XML中的数据 525
26.5.4 动态添加XML中的数据 527
26.5.5 动态删除XML中的数据 528
26.6 本章小结 531
26.7 学习成果检验 531
第27章 Ajax技术 532
视频讲解77分钟
27.1 Ajax概述 533
27.1.1 什幺是Ajax 533
27.1.2 Ajax的开发模式 533
27.1.3 Ajax的优点 533
27.2 Ajax技术的组成 534
27.2.1 JavaScript脚本语言 534
27.2.2 XMLHttpRequest对象 534
27.2.3 XML语言 537
27.2.4 DOM 538
27.2.5 CSS 538
27.3 Ajax与PHP的互动 538
27.3.1 通过GET方式与PHP进行互动 538
27.3.2 通过POST方式与PHP进行互动 540
27.4 Ajax开发常见问题 542
27.5 实战 543
27.5.1 在PHP中套用Ajax技术检测用户名 543
27.5.2 在PHP中套用Ajax技术实现部落格
文章类别添加 544
27.5.3 使用jQuery製作级联下拉列表框 546
27.5.4 套用Ajax技术删除数据 548
27.5.5 套用Ajax技术製作分类列表框 550
27.6 本章小结 552
27.7 学习成果检验 552
第28章 综合实例(四)--购物车 553
视频讲解45分钟
28.1 购物车模组概述 554
28.1.1 功能概述 554
28.1.2 购物车操作流程 554
28.1.3 程式预览 554
28.2 资料库设计 555
28.2.1 创建资料库 555
28.2.2 创建数据表 555
28.3 首页设计 556
28.3.1 首页概述 556
28.3.2 首页实现过程 557
28.4 登录模组设计 558
28.4.1 登录模组概述 558
28.4.2 用户注册 558
28.4.3 用户登录 560
28.5 商品展示模组设计 561
28.5.1 商品展示模组概述 561
28.5.2 商品展示模组 562
28.6 购物车模组设计 563
28.6.1 购物车模组概述 563
28.6.2 购物车展示 564
28.6.3 更改商品数量 565
28.6.4 删除商品 566
28.6.5 保存购物车 567
28.7 技术提炼 569
28.7.1 资料库连线、管理和分页类档案 569
28.7.2 Smarty模板配置类档案 571
28.7.3 执行类的实例化档案 571
28.7.4 Smarty模板页中的框架技术 572
28.7.5 Ajax无刷新验证技术 572
28.7.6 分页技术 574
28.7.7 购物车中商品添加技术 574
第5篇 框 架 应 用
第29章 Smarty模板技术 578
视频讲解102分钟
29.1 Smarty简介 579
29.1.1 Smarty模板引擎 579
29.1.2 开发模式与运行流程 579
29.2 Smarty的安装配置 580
29.2.1 Smarty下载和安装 580
29.2.2 Smarty配置 580
29.2.3 第一个Smarty程式 581
29.3 Smarty模板设计 582
29.3.1 Smarty模板档案 583
29.3.2 注释 583
29.3.3 变数 583
29.3.4 修饰变数 585
29.3.5 流程控制 586
29.3.6 内建函式 588
29.4 Smarty程式设计 590
29.4.1 Smarty中的常用方法 590
29.4.2 Smarty的配置变数 591
29.5 实战 591
29.5.1 通过Smarty实现网页的动静分离 591
29.5.2 Smarty分页类 593
29.5.3 网站公告 596
29.5.4 Smarty模板truncate()方法截取字元串 597
29.5.5 输出会员信息 600
29.6 本章小结 603
29.7 学习成果检验 603
第30章 ThinkPHP框架 604
视频讲解150分钟
30.1 ThinkPHP简介 605
30.1.1 ThinkPHP框架的特点 605
30.1.2 环境要求 605
30.1.3 下载ThinkPHP框架 605
30.2 ThinkPHP架构 606
30.2.1 ThinkPHP的目录结构 606
30.2.2 自动生成目录 606
30.2.3 项目目录部署方案 607
30.2.4 命名规范 608
30.2.5 项目构建流程 608
30.3 ThinkPHP的配置 610
30.3.1 配置格式 610
30.3.2 调试配置 611
30.4 ThinkPHP的控制器 611
30.4.1 控制器 611
30.4.2 跨模组调用 612
30.5 ThinkPHP的模型 615
30.5.1 模型的命名 615
30.5.2 实例化模型 616
30.5.3 属性访问 619
30.5.4 连线资料库 619
30.5.5 创建数据 622
30.5.6 连贯操作 623
30.5.7 CURD操作 624
30.6 ThinkPHP的视图 626
30.6.1 模板定义 627
30.6.2 模板赋值 627
30.6.3 指定模板档案 627
30.6.4 特殊字元串替换 628
30.7 内置ThinkTemplate模板引擎 629
30.8 实战 631
30.8.1 用户信息的查询、更新和删除 631
30.8.2 用户登录 633
30.8.3 商品信息的分页输出 636
30.8.4 新闻发布 637
30.8.5 带查询条件的分页 641
30.9 本章小结 645
30.10 学习成果检验 645
第31章 综合实例(五)--明日导航网 646
视频讲解39分钟
31.1 需求分析 647
31.2 系统设计 647
31.2.1 系统功能结构 647
31.2.2 系统预览 647
31.3 资料库设计 648
31.3.1 资料库设计 648
31.3.2 数据表设计 648
31.3.3 连线资料库 649
31.4 ThinkPHP架设项目结构 649
31.4.1 下载ThinkPHP框架 650
31.4.2 自动生成项目目录 650
31.5 明日导航前台页面设计 650
31.5.1 页面设计概述 651
31.5.2 控制器的创建 652
31.5.3 视图中套用到的模板标籤 653
31.5.4 在视图中创建模板档案 655
31.6 明日导航后台管理设计 656
31.6.1 后台管理概述 656
31.6.2 通过系统配置档案存储后台登录数据 656
31.6.3 后台管理架构解析 657
31.6.4 ThinkPHP框架中的分页技术 657
31.6.5 后台管理视图中套用的模板标籤 658
31.6.6 后台登录 659
31.6.7 后台管理主页 660
31.6.8 高级类别管理 661
31.6.9 判断访问用户的许可权 664
31.6.10 操作提示页面 664
31.7 项目发布 665
31.8 本章小结 666
第6篇 项 目 实 战
第32章 部落格管理系统 668
视频讲解169分钟
32.1 项目描述 669
32.2 系统分析 669
32.2.1 需求分析 669
32.2.2 系统目标 669
32.2.3 系统功能结构 670
32.2.4 系统流程图 670
32.3 软体开发环境 670
32.4 资料库与数据表的设计 671
32.4.1 资料库分析 671
32.4.2 资料库E-R图设计 671
32.4.3 创建资料库和数据表 672
32.5 首页设计 673
32.5.1 首页概述 673
32.5.2 首页技术分析 674
32.5.3 首页的实现过程 675
32.6 用户管理模组设计 676
32.6.1 用户管理模组概述 676
32.6.2 用户注册 676
32.6.3 用户登录 678
32.6.4 查询用户信息 679
32.6.5 浏览用户信息 680
32.7 文章管理模组设计 682
32.7.1 文章管理模组概述 682
32.7.2 文章管理模组技术分析 682
32.7.3 添加文章的实现过程 683
32.7.4 文章列表的实现过程 684
32.7.5 查看、评论文章的实现过程 686
32.7.6 删除文章或评论的实现过程 688
32.8 图片上传模组设计 688
32.8.1 图片上传模组概述 689
32.8.2 图片上传模组技术分析 689
32.8.3 图片上传的实现过程 692
32.8.4 图片浏览的实现过程 694
32.8.5 删除图片的实现过程 696
32.9 朋友圈模组设计 696
32.9.1 朋友圈模组概述 697
32.9.2 朋友圈模组技术分析 697
32.9.3 查询好友的实现过程 697
32.10 项目发布 699
32.10.1 通过个人伺服器发布项目 699
32.10.2 通过租用空间发布项目 699
32.11 开发常见问题与解决 700
32.12 本章小结 701
第33章 套用Smarty模板开发
电子商务平台 702
视频讲解281分钟
33.1 项目描述 703
33.2 系统分析 703
33.2.1 需求分析 703
33.2.2 编写项目计画书 703
33.3 系统设计 703
33.3.1 系统目标 703
33.3.2 系统功能结构 704
33.3.3 系统流程图 704
33.4 系统开发环境 705
33.5 资料库与数据表的设计 705
33.5.1 资料库分析 705
33.5.2 创建资料库和数据表 706
33.6 搭建系统框架 707
33.7 公共档案设计 708
33.7.1 资料库连线档案 708
33.7.2 Smarty配置档案 708
33.7.3 XMLHttpRequest对象档案 709
33.7.4 表单样式档案 709
33.8 前台首页设计 711
33.9 登录模组设计 712
33.9.1 用户注册 713
33.9.2 用户登录 717
33.9.3 找回密码 719
33.10 会员信息模组设计 723
33.10.1 会员中心 723
33.10.2 安全退出 725
33.11 商品展示模组 726
33.11.1 创建PHP页 726
33.11.2 创建模板页 726
33.11.3 JavaScript脚本页面 727
33.12 购物车模组设计 728
33.12.1 添加商品 728
33.12.2 显示购物车 730
33.12.3 更改商品数量 731
33.12.4 删除商品 732
33.12.5 保存购物车 734
33.13 收银台模组设计 735
33.13.1 显示订单 736
33.13.2 填写订单 736
33.13.3 处理订单 737
33.13.4 反馈订单 739
33.13.5 查询订单 739
33.14 后台首页设计 741
33.14.1 后台首页布局 742
33.14.2 DIV+JavaScript+CSS实现树状选单 742
33.15 类别管理模组设计 743
33.15.1 添加类别 743
33.15.2 查看类别 745
33.16 订单管理模组设计 749
33.17 开发的常见问题 751
33.17.1 解决Ajax的乱码问题 751
33.17.2 使用JS脚本获取、输出标籤内容 751
33.17.3 使用浮动框架做关联选单 752
33.17.4 禁用页面快取 752
33.17.5 在新视窗中使用Session 752
33.17.6 防止站外连结 753
33.17.7 判断上传档案格式 753
33.18 网站运行错误分析 753
33.18.1 资料库导致的错误 754
33.18.2 Smarty模板的配置错误 754
33.19 本章小结 755
附录A PHP编码规则 756