目 录
第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
· · · · · · (
收起)