第一部分 基础知识 2
第0章 如何学好PHP 2
第1章 PHP概述 4
1.1 初识PHP 4
1.1.1 什么是PHP 4
1.1.2 PHP版本 4
1.1.3 PHP的优势 5
1.1.4 PHP 5的新特性 6
1.1.5 PHP的应用领域 6
1.1.6 下载PHP及相关软件 7
1.1.7 代码编辑工具 8
1.1.8 下载PHP用户手册 9
1.2 环境的搭建 9
1.2.1 AppServ-Windows版PHP集成化安装包 9
1.2.2 XAMPP-Linux版PHP集成化安装包 12
1.3 PHP开发环境的关键配置信息 14
1.3.1 Apache服务器的基本配置 14
1.3.2 php.ini文件的基本配置 15
1.4 解决PHP的常见配置问题 16
1.4.1 解决Apache服务器端口冲突 16
1.4.2 设置PHP的系统当前时间 16
1.4.3 增加PHP扩展模块 17
1.5 术语 17
1.6 小结 17
1.7 练习 17
第2章 PHP基础 18
2.1 PHP工作原理 18
2.2 PHP标记 19
2.3 代码注释 20
2.3.1 使用PHP注释 20
2.3.2 有效使用注释 21
2.4 PHP常量 22
2.4.1 声明和使用常量 22
2.4.2 预定义常量 23
2.5 PHP变量 24
2.5.1 声明变量 24
2.5.2 变量的赋值 25
2.5.3 变量作用域 26
2.5.4 可变变量 28
2.6 PHP数据类型 29
2.6.1 标量数据类型 29
2.6.2 复合数据类型 31
2.6.3 特殊数据类型 32
2.6.4 转换数据类型 33
2.6.5 检测数据类型 33
2.7 PHP的运算符 34
2.7.1 算术运算符 34
2.7.2 字符串运算符 35
2.7.3 赋值运算符 36
2.7.4 位运算符 36
2.7.5 递增和递减运算符 37
2.7.6 逻辑运算符 37
2.7.7 比较运算符 38
2.7.8 三元运算符 39
2.7.9 运算符的使用规则 40
2.8 术语 42
2.9 小结 42
2.10 练习 42
第3章 PHP函数 44
3.1 PHP函数的相关应用 44
3.1.1 定义和调用函数 44
3.1.2 在函数间传递参数 45
3.1.3 从函数中返回值 46
3.1.4 变量函数 47
3.1.5 对函数的引用 47
3.1.6 取消引用 48
3.2 PHP变量函数库 48
3.3 PHP字符串函数库 50
3.4 PHP日期时间函数库 52
3.5 PHP数学函数库 54
3.6 PHP文件系统函数库 56
3.7 MySQL函数库 59
3.8 MySQLi函数库 60
3.9 PDO函数库 65
3.10 URL函数库 69
3.11 术语 71
3.12 小结 71
3.13 练习 72
第4章 PHP流程控制语句 73
4.1 程序三种控制结构 73
4.1.1 顺序结构 73
4.1.2 选择(分支)结构 73
4.1.3 循环结构 74
4.2 条件控制语句 75
4.2.1 if条件控制语句 75
4.2.2 switch多分支语句 77
4.3 循环控制语句 80
4.3.1 while循环语句 80
4.3.2 do…while循环语句 81
4.3.3 for循环语句 82
4.3.4 foreach循环语句 84
4.4 跳转语句 87
4.4.1 break跳转语句 87
4.4.2 continue跳转语句 88
4.5 包含语句 90
4.5.1 include()语句 90
4.5.2 require()语句 91
4.5.3 include_once()语句 92
4.5.4 require_once()语句 92
4.5.5 include()和require()的区别 93
4.6 术语 95
4.7 小结 95
4.8 练习 96
第5章 PHP数组 97
5.1 数组概述 97
5.2 数组类型 97
5.3 声明数组 98
5.3.1 用户创建数组 98
5.3.2 函数创建数组 99
5.3.3 创建二维数组 100
5.4 遍历、输出数组 101
5.4.1 遍历数组 101
5.4.2 输出数组元素 104
5.5 PHP数组函数 104
5.5.1 统计数组元素个数 104
5.5.2 向数组中添加元素 105
5.5.3 获取数组中最后一个元素 105
5.5.4 删除数组中重复元素 106
5.5.5 获取数组中指定元素的键名 106
5.5.6 将数组中元素合成字符串 107
5.5.7 从数组中随机取出一个或多个单元 108
5.5.8 将数组进行逆向排序 108
5.5.9 在数组中搜索某个值 109
5.5.10 将数组中的值赋给变量 109
5.5.11 建立包含指定范围单元的数组 110
5.5.12 通过比较函数对数组中的值进行排序 110
5.6 术语 113
5.7 小结 113
5.8 练习 113
第6章 Web网页技术 114
6.1 HTML是什么 114
6.2 HTML的基本结构 115
6.2.1 HTML文件的编写方法 115
6.2.2 文件开始标签<html> 116
6.2.3 文件头部标签<head> 117
6.2.4 文件标题标签<title> 117
6.2.5 文件主体标签<body> 117
6.3 设计网页文本内容 117
6.3.1 标题文字标记与对齐方式 117
6.3.2 设置文字格式 118
6.3.3 设置段落格式 118
6.3.4 水平线标记 118
6.4 使用列表 119
6.4.1 有序列表标记——ol 120
6.4.2 无序列表标记——ul 120
6.4.3 定义列表标记——dl 121
6.4.4 菜单列表标记——menu 122
6.4.5 目录列表——dir 123
6.5 图像元素与链接元素 124
6.5.1 图像元素——img 124
6.5.2 链接元素——a 125
6.6 表格元素 125
6.6.1 表格标记——table 125
6.6.2 行标记、单元格标记——tr、td元素 125
6.7 表单元素 128
6.7.1 使用表单标记——form 128
6.7.2 输入类的控件——input元素 128
6.7.3 列表/菜单标记 129
6.7.4 文本域标记textarea 130
6.8 术语 132
6.9 小结 132
6.10 练习 132
第7章 PHP与JavaScript交互 133
7.1 了解JavaScript 133
7.1.1 JavaScript是什么 133
7.1.2 JavaScript的功能 133
7.2 JavaScript语言基础 134
7.2.1 JavaScript数据类型 134
7.2.2 JavaScript变量 134
7.2.3 JavaScript注释 135
7.3 自定义函数 136
7.4 JavaScript脚本嵌入方式 137
7.4.1 在HTML中嵌入JavaScript脚本 137
7.4.2 应用JavaScript事件调用自定义函数 138
7.4.3 在PHP动态网页中引用JS文件 138
7.4.4 解决浏览器不支持JavaScript的问题 139
7.5 术语 143
7.6 小结 143
7.7 练习 143
第8章 PHP与Web页面交互 144
8.1 变量 144
8.2 服务器信息 144
8.3 表单处理 147
8.3.1 方法(Method) 147
8.3.2 对参数进行自动引号处理 149
8.3.3 自处理页面 149
8.3.4 粘性表单 151
8.3.5 多值参数 152
8.3.6 粘性多值参数 153
8.3.7 文件上传 155
8.3.8 表单验证 158
8.4 设置响应头 160
8.4.1 不同的内容类型 161
8.4.2 重定向 162
8.4.3 设置过期时间 162
8.4.4 HTTP认证 162
8.4.5 文件下载 163
8.5 术语 165
8.6 小结 165
8.7 练习 165
第9章 MySQL数据库 166
9.1 MySQL概述 166
9.1.1 MySQL的特点 166
9.1.2 SQL和MySQL 166
9.2 MySQL服务器的启动和关闭 167
9.2.1 启动MySQL服务器 167
9.2.2 连接MySQL服务器 168
9.2.3 关闭MySQL服务器 169
9.3 操作MySQL数据库 170
9.3.1 创建新数据库 170
9.3.2 选择指定数据库 171
9.3.3 删除指定数据库 171
9.4 操作MySQL数据表 172
9.4.1 创建一个表 172
9.4.2 查看数据表结构 173
9.4.3 修改数据表结构 174
9.4.4 重命名数据表 175
9.4.5 删除指定数据表 175
9.5 操作MySQL数据 176
9.5.1 向数据表中添加数据(INSERT) 176
9.5.2 更新数据表中数据(UPDATE) 177
9.5.3 删除数据表中数据(DELETE) 178
9.5.4 查询数据表中数据(SELECT) 178
9.6 MySQL数据类型 184
9.6.1 数字类型 184
9.6.2 字符串类型 184
9.6.3 日期和时间数据类型 186
9.7 术语 186
9.8 小结 186
第10章 phpMyAdmin管理MySQL数据库 187
10.1 phpMyAdmin管理MySQL数据库 187
10.1.1 管理数据库 187
10.1.2 管理数据表 189
10.1.3 管理数据记录 191
10.1.4 导入导出数据 194
10.2 phpMyAdmin设置编码格式 197
10.3 phpMyAdmin添加服务器新用户 198
10.4 phpMyAdmin中重置MySQL服务器登录密码 199
10.5 术语 200
10.6 小结 200
第11章 PHP数据库编程技术 201
11.1 PHP操作MySQL数据库的步骤 201
11.2 PHP操作MySQL数据库的函数 201
11.2.1 mysql_connect()函数连接MySQL服务器 202
11.2.2 mysql_select_db()函数选择MySQL数据库 202
11.2.3 mysql_query()函数执行SQL语句 203
11.2.4 mysql_fetch_array()函数将结果集返回到数组中 203
11.2.5 mysql_fetch_row()函数从结果集中获取一行作为枚举数组 204
11.2.6 mysql_num_rows()函数获取查询结果集中的记录数 205
11.2.7 mysql_free_result()函数释放内存 206
11.2.8 mysql_close()函数关闭连接 207
11.3 管理MySQL数据库中的数据 209
11.3.1 向数据库中添加数据 209
11.3.2 浏览数据库中数据 210
11.3.3 编辑数据库数据 211
11.3.4 删除数据 213
11.3.5 批量删除数据 214
11.4 术语 217
11.5 小结 217
11.6 练习 217
第二部分 核心技术 220
第12章 字符串高级处理 220
12.1 初识字符串 220
12.2 转义、还原字符串 221
12.3 截取字符串 222
12.4 分割、合成字符串 224
12.5 替换字符串 226
12.5.1 str_ireplace()函数 226
12.5.2 substr_replace()函数 227
12.6 检索字符串 228
12.6.1 strstr()函数 228
12.6.2 substr_count()函数 230
12.7 去掉字符串首尾空格和特殊字符 230
12.7.1 ltrim()函数 231
12.7.2 rtrim()函数 231
12.7.3 trim()函数 232
12.8 字符串与HTML转换 233
12.9 术语 235
12.10 小结 236
12.11 练习 236
第13章 正则表达式 237
13.1 正则表达式是什么 237
13.2 正则表达式常用术语 237
13.3 正则表达式语法规则 238
13.3.1 行定位符(^和$) 238
13.3.2 字符类([]) 238
13.3.3 选择字符(|) 239
13.3.4 连字符(-) 239
13.3.5 排除字符(^) 239
13.3.6 限定符(?*+{n,m}) 239
13.3.7 点字符(.) 240
13.3.8 转义字符(\) 240
13.3.9 反斜线(\) 241
13.3.10 括号字符(()) 242
13.3.11 反向引用 242
13.4 POSIX扩展正则表达式函数 243
13.4.1 查找字符串 243
13.4.2 替换字符串 243
13.4.3 分隔字符串 244
13.5 PCRE兼容正则表达式函数 244
13.5.1 查找字符串 244
13.5.2 替换字符串 245
13.6 术语 249
13.7 小结 249
13.8 练习 250
第14章 Cookie和会话技术 251
14.1 Cookie管理 251
14.1.1 了解Cookie 251
14.1.2 创建Cookie 253
14.1.3 读取Cookie 254
14.1.4 删除Cookie 255
14.1.5 Cookie应用的注意事项 256
14.1.6 Cookie的综合应用——自动登录 256
14.2 Session管理 261
14.2.1 了解Session 261
14.2.2 启动Session 261
14.2.3 应用Session 262
14.2.4 删除Session 263
14.2.5 Session的综合应用——通过Session控制页面访问权限 264
14.3 Cookie与Session的比较 267
14.4 术语 267
14.5 小结 267
14.6 练习 267
第15章 日期和时间处理 268
15.1 PHP的时间观念 268
15.1.1 在PHP.INI文件中设置时区 268
15.1.2 通过date_default_timezone_set函数设置时区 269
15.2 UNIX时间戳 269
15.2.1 获取任意日期、时间的时间戳 269
15.2.2 获取当前时间戳 270
15.2.3 日期、时间转换为UNIX时间戳 270
15.3 日期和时间处理 271
15.3.1 格式化日期和时间 272
15.3.2 获取日期和时间信息 273
15.3.3 检验日期和时间的有效性 274
15.4 术语 276
15.5 小结 276
15.6 练习 276
第16章 图形图像处理 277
16.1 了解GD2函数库 277
16.2 设置GD2函数库 277
16.3 常用图像处理技术 278
16.3.1 创建画布 278
16.3.2 颜色处理 279
16.3.3 绘制文字 280
16.3.4 输出图像 282
16.3.5 销毁图像 283
16.4 运用Jpgraph类库绘制图像 285
16.4.1.1 pgraph类库简介 285
16.4.2 Jpgraph的安装 285
16.4.3 柱形图分析产品月销售量 286
16.4.4 折线图分析网站一天内的访问走势 287
16.4.5 3D饼形图展示各部门不同月份的业绩 289
16.5 术语 292
16.6 小结 292
16.7 练习 292
第17章 文件目录处理 293
17.1 基本的文件处理 293
17.1.1 打开一个文件 293
17.1.2 读取文件内容 295
17.1.3 向文件中写入数据 299
17.1.4 关闭文件指针 301
17.2 目录操作技术 302
17.2.1 打开指定目录 302
17.2.2 读取目录结构 303
17.2.3 关闭目录指针 304
17.3 文件的上传技术 305
17.3.1 开启文件上传功能 305
17.3.2 全局变量¥_FILES应用 306
17.3.3 将上传文件移动到指定目录 308
17.4 文件的下载技术 310
17.5 术语 311
17.6 小结 312
17.7 练习 312
第18章 面向对象编程 313
18.1 一切皆是对象 313
18.1.1 什么是类 313
18.1.2 对象的由来 314
18.1.3 面向对象的特点 314
18.2 类的声明 315
18.2.1 类的定义 315
18.2.2 成员属性 316
18.2.3 成员方法 316
18.3 类的实例化 318
18.3.1 创建对象 318
18.3.2 访问类中成员 319
18.3.3 特殊的访问方法——“¥this”和“::” 320
18.3.4 构造方法和析构方法 321
18.4 面向对象的封装特性 323
18.4.1 public(公共成员) 323
18.4.2 private(私有成员) 323
18.4.3 protected(保护成员) 324
18.5 面向对象的继承特性 326
18.5.1 类的继承——extends关键字 326
18.5.2 类的继承——parent::关键字 327
18.5.3 覆盖父类方法 327
18.6 抽象类和接口 329
18.6.1 抽象类 329
18.6.2 接口 331
18.7 面向对象的多态性 333
18.7.1 通过继承实现多态 333
18.7.2 通过接口实现多态 334
18.8 面向对象的关键字 335
18.8.1 final关键字 335
18.8.2 static关键字——声明静态类成员 336
18.8.3 clone关键字——克隆对象 337
18.9 面向对象的魔术方法 339
18.9.1 _ _set()和_ _get()方法 339
18.9.2 _ _isset()和_ _unset()方法 339
18.9.3 _ _call()方法 340
18.9.4 _ _toString()方法 340
18.9.5 _ _autoload()方法 341
18.10 术语 343
18.11 小结 343
18.12 练习 344
第三部分 高级应用 346
第19章 PHP与XML技术 346
19.1 XML概述 346
19.2 XML语法 346
19.2.1 XML文档结构 346
19.2.2 XML声明 347
19.2.3 处理指令 347
19.2.4 注释 347
19.2.5 XML元素 348
19.2.6 XML属性 348
19.2.7 使用CDATA标记 348
19.2.8 XML命名空间 349
19.3 SimpleXML系列函数操作XML 349
19.3.1 创建SimpleXML对象 349
19.3.2 遍历所有子元素 350
19.3.3 遍历所有属性 351
19.3.4 访问特定节点元素和属性 352
19.3.5 修改XML数据 353
19.3.6 保存XML文档 354
19.4 RSS阅读器 356
19.4.1 RSS概述 356
19.4.2 RSS 2.0的标准 357
19.4.3 创建支持RSS阅读的站点 358
19.5 术语 363
19.6 小结 363
19.7 练习 363
第20章 PHP与Ajax技术 364
20.1 Ajax概述 364
20.1.1 什么是Ajax 364
20.1.2 Ajax的开发模式 364
20.1.3 Ajax的优点 365
20.2 Ajax技术的组成 365
20.2.1 JavaScript脚本语言 365
20.2.2 XMLHttpRequest对象 365
20.2.3 XML语言 369
20.2.4 DOM 370
20.2.5 CSS 370
20.3 Ajax与PHP的交互 370
20.3.1 通过GET方式与PHP进行交互 370
20.3.2 通过POST方式与PHP进行交互 372
20.4 Ajax开发常见问题 375
20.5 术语 378
20.6 小结 378
20.7 练习 378
第21章 PHP与jQuery技术 379
21.1 jQuery概述 379
21.1.1 jQuery能做什么 379
21.1.2 jQuery的特点 381
21.2 jQuery下载与配置 381
21.2.1 下载jQuery 381
21.2.2 配置jQuery 383
21.2.3 实战模拟:我的第一个jQuery脚本 383
21.3 jQuery的插件 384
21.3.1 插件的使用 384
21.3.2 流行的插件 384
21.4 术语 388
21.5 小结 388
第22章 PDO数据库抽象层 389
22.1 什么是PDO 389
22.1.1 PDO概述 389
22.1.2 PDO的特点 389
22.1.3 安装PDO 390
22.2 PDO连接数据库 390
22.2.1 PDO构造函数 390
22.2.2 DSN详解 391
22.3 PDO中执行SQL语句 392
22.3.1 exec()方法 392
22.3.2 query()方法 393
22.3.3 预处理语句——prepare()和execute() 394
22.4 PDO中获取结果集 397
22.4.1 fetch()方法 397
22.4.2 fetchAll()方法 398
22.4.3 fetchColumn()方法 400
22.5 PDO中捕获SQL语句中的错误 401
22.5.1 使用默认模式——PDO::ERRMODE_SILENT 401
22.5.2 使用警告模式——PDO::ERRMODE_WARNING 402
22.5.3 使用异常模式——PDO::ERRMODE_EXCEPTION 404
22.6 PDO中错误处理 405
22.6.1 errorCode()方法 405
22.6.2 errorInfo()方法 406
22.7 PDO中事务处理 408
22.8 PDO中存储过程 409
22.9 术语 411
22.10 小结 411
22.11 练习 411
第23章 Smarty模板技术 412
23.1 走进Smarty模板引擎 412
23.1.1 Smarty模板引擎下载 413
23.1.2 Smarty模板引擎安装 413
23.1.3 Smarty模板引擎配置 414
23.1.4 走进Smarty模板引擎 415
23.2 Smarty模板设计——静态页处理 417
23.2.1 基本语法(注释、函数和属性) 417
23.2.2 Smarty模板设计变量 418
23.2.3 变量调节器 418
23.2.4 内建函数(动态文件、模板文件的包含和流程控制语句) 419
23.2.5 自定义函数 421
23.2.6 配置文件 422
23.3 Smarty程序设计——动态文件操作 424
23.3.1 SMARTY_PATH常量 424
23.3.2 Smarty程序设计变量 425
23.3.3 Smarty方法 425
23.3.4 Smarty缓存 425
23.4 术语 428
23.5 小结 429
23.6 练习 429
第24章 ThinkPHP框架 430
24.1 ThinkPHP简介 430
24.1.1 ThinkPHP框架的特点 430
24.1.2 环境要求 431
24.1.3 下载ThinkPHP框架 431
24.2 ThinkPHP架构 431
24.2.1 ThinkPHP的目录结构 431
24.2.2 自动生成目录 432
24.2.3 项目目录部署方案 433
24.2.4 命名规范 434
24.2.5 项目构建流程 434
24.3 ThinkPHP的配置 437
24.3.1 配置格式 437
24.3.2 调试配置 438
24.4 ThinkPHP的控制器 438
24.4.1 控制器 438
24.4.2 跨模块调用 439
24.5 ThinkPHP的模型 443
24.5.1 模型的命名 443
24.5.2 实例化模型 444
24.5.3 属性访问 448
24.5.4 连接数据库 448
24.5.5 创建数据 451
24.5.6 连贯操作 452
24.5.7 CURD操作 453
24.6 ThinkPHP的视图 458
24.6.1 模板定义 459
24.6.2 模板赋值 459
24.6.3 指定模板文件 459
24.6.4 特殊字符串替换 460
24.7 内置ThinkTemplate模板引擎 464
24.8 术语 469
24.9 小结 470
24.10 练习 470
第四部分 项目实战 472
第25章 梦幻网络日记 472
25.1 项目设计思路 472
25.1.1 功能阐述 472
25.1.2 系统预览 472
25.1.3 功能结构 473
25.1.4 文件组织结构 474
25.2 数据库设计 474
25.2.1 数据库设计 474
25.2.2 数据表设计 475
25.2.3 连接数据库 476
25.3 用户模块设计 477
25.3.1 用户模块概述 477
25.3.2 注册模块的实现过程 478
25.3.3 登录模块实现过程 479
25.3.4 密码找回实现过程 481
25.4 首页设计 482
25.4.1 首页概述 482
25.4.2 通过switch和include语句设计框架 483
25.4.3 二级导航菜单实现过程 484
25.5 网页闹钟模块设计 486
25.5.1 网页闹钟模块概述 486
25.5.2 闹钟铃声试听 486
25.5.3 Ajax无刷新控制闹铃 488
25.5.4 网页闹钟设定的实现过程 490
25.6 理财助手模块设计 492
25.6.1 理财助手模块设计概述 492
25.6.2 验证日期格式是否正确 493
25.6.3 日期选择器 495
25.6.4 无边框窗口 496
25.6.5 添加收入实现过程 497
25.6.6 财务管理实现过程 499
25.6.7 财务查询实现过程 502
25.6.8 财务统计实现过程 505
25.7 我的日记模块设计 507
25.7.1 我的日记模块设计概述 507
25.7.2 过滤敏感词 508
25.7.3 当前页完成验证码的验证 509
25.7.4 查询关键字描红 511
25.7.5 添加日记的实现过程 512
25.7.6 分页显示日记列表 514
25.7.7 弹出窗口修改日记 516
25.7.8 查询日记的实现过程 517
25.7.9 应用JavaScript实现批量删除 519
25.8 管理日记本 521
25.8.1 管理日记本概述 521
25.8.2 MD5加密技术 521
25.8.3 修改密码的实现过程 522
25.9 项目发布 522
25.10 小结 523
第26章 企业网站系统 524
26.1 项目设计思路 524
26.1.1 功能阐述 524
26.1.2 系统预览 524
26.1.3 功能结构 526
26.1.4 文件组织结构 527
26.2 数据库设计 527
26.2.1 数据库设计 528
26.2.2 数据表设计 528
26.2.3 连接数据库 529
26.3 首页设计 530
26.3.1 首页页面概述 530
26.3.2 在网页中嵌入flash动画 531
26.3.3 首页页面实现过程 531
26.4 最新活动模块设计 535
26.4.1 最新活动概述 535
26.4.2 使用<marquee>标签实现文字滚动效果 535
26.4.3 最新活动标题滚动显示实现过程 536
26.4.4 查看活动详细信息实现过程 537
26.5 产品中心模块设计 538
26.5.1 产品中心概述 538
26.5.2 do…while循环输出查询结果 539
26.5.3 img标签输出产品效果图 539
26.5.4 显示软件产品实现过程 539
26.5.5 查看产品详细信息实现过程 541
26.5.6 查看更多产品信息实现过程 541
26.6 客户反馈模块设计 543
26.6.1 客户反馈模块概述 543
26.6.2 数字验证码 544
26.6.3 留言信息分页浏览 544
26.6.4 查看留言详细信息 545
26.6.5 添加留言信息 546
26.7 后台主页设计 547
26.7.1 后台主页概述 547
26.7.2 后台主页框架设计原理 548
26.7.3 后台主页实现过程 548
26.8 软件产品管理模块设计 550
26.8.1 软件产品管理概述 550
26.8.2 文件上传技术扩展 550
26.8.3 添加软件信息实现过程 551
26.8.4 修改软件信息实现过程 553
26.8.5 删除软件信息实现过程 555
26.8.6 查询软件信息实现过程 555
26.9 项目发布 557
26.10 小结 557
第27章 应用ThinkPHP框架开发明日导航网企业网站 558
27.1 项目设计思路 558
27.1.1 功能阐述 558
27.1.2 功能结构 558
27.1.3 系统预览 559
27.2 数据库设计 560
27.2.1 数据库设计 560
27.2.2 数据表设计 561
27.2.3 连接数据库 562
27.3 ThinkPHP架设项目结构 562
27.3.1 下载ThinkPHP框架 562
27.3.2 自动生成项目目录 562
27.4 明日导航前台页面设计 563
27.4.1 页面设计概述 563
27.4.2 控制器的创建 564
27.4.3 视图中应用到的模板标签 566
27.4.4 在视图中创建模板文件 569
27.5 明日导航后台管理设计 570
27.5.1 后台管理概述 570
27.5.2 通过系统配置文件存储后台登录数据 570
27.5.3 后台管理架构解析 571
27.5.4 ThinkPHP框架中的分页技术 571
27.5.5 后台管理视图中应用的模板标签 572
27.5.6 后台登录 574
27.5.7 后台管理主页 575
27.5.8 高级类别管理 577
27.5.9 判断访问用户的权限 580
27.5.10 操作提示页面 581
27.6 项目发布 582
27.7 小结 582
第28章 应用Smarty模板开发电子商务网站 583
28.1 项目设计思路 583
28.1.1 功能阐述 583
28.1.2 功能结构 584
28.1.3 文件夹架构 585
28.2 数据库设计 585
28.2.1 数据库分析 585
28.2.2 创建数据库和数据表 587
28.3 公共文件设计 588
28.3.1 数据库连接、管理和分页类文件 588
28.3.2 Smarty模板配置类文件 591
28.3.3 执行类的实例化文件 591
28.4 前台首页设计 591
28.4.1 前台首页概述 592
28.4.2 前台首页技术分析 592
28.4.3 前台首页实现过程 592
28.5 商品展示模块设计 594
28.5.1 商品展示模块概述 594
28.5.2 商品展示模块技术分析 595
28.5.3 商品展示模块的实现过程 596
28.6 购物车模块设计 599
28.6.1 购物车模块概述 599
28.6.2 购物车模块技术分析 599
28.6.3 购物车展示 601
28.6.4 更改商品数量 603
28.6.5 删除商品 604
28.6.6 保存购物车 606
28.7 收银台模块设计 608
28.7.1 收银台模块概述 608
28.7.2 收银台模块技术分析 608
28.7.3 显示订单 609
28.7.4 填写订单 609
28.7.5 处理订单 610
28.8 后台首页设计 611
28.8.1 后台首页概述 611
28.8.2 后台首页技术分析 612
28.8.3 后台首页实现过程 613
28.9 开发技巧与难点分析 615
28.9.1 解决Ajax的乱码问题 615
28.9.2 使用JS脚本获取、输出标签内容 615
28.9.3 禁用页面缓存 616
28.9.4 在新窗口中使用session 616
28.9.5 判断上传文件格式 616
28.9.6 设置服务器的时间 617
28.10 项目发布 617
28.11 小结 618
附录 PHP编码规则 619