第1章 PHP概述 1
1.1 案例场景 2
1.1.1 创建问候程序 2
1.1.2 我们现在能做的 2
1.2 初识PHP 3
1.2.1 PHP简介 3
1.2.2 PHP的特性 3
1.3 搭建PHP运行环境 4
1.3.1 Apache简介 4
1.3.2 安装Apache与PHP 5
1.3.3 Apache的配置信息 9
1.3.4 PHP的配置信息 10
1.4 PHP集成开发环境 12
1.4.1 AppServ 12
1.4.2 EasyPHP 13
1.5 PHP常用开发工具 15
1.5.1 Zend Studio 15
1.5.2 Komodo 16
1.5.3 Dreamweaver 16
1.5.4 其他常用开发工具 17
1.6 回到案例场景 17
1.6.1 基本思路 18
1.6.2 代码演练 18
1.7 本章小结与习题 18
1.7.1 重点回顾 18
1.7.2 课后练习 19
1.7.3 实训 19
第2章 基本语法 21
2.1 案例场景 22
2.1.1 判断闰年程序 22
2.1.2 我们现在能做的 22
2.2 PHP语法入门 23
2.2.1 PHP的语言概貌 23
2.2.2 为我们的程序添加注释 25
2.3 PHP的变量和常量 26
2.3.1 变量的定义与赋值 26
2.3.2 变量的作用域 29
2.3.3 变量的生命周期 30
2.3.4 可变变量的应用 31
2.3.5 常量的定义 32
2.3.6 默认的系统变量及系统常量 33
2.4 PHP的数据类型 34
2.4.1 基本数据类型 34
2.4.2 复合数据类型 35
2.4.3 特殊数据类型 37
2.5 数据类型之间的转换 38
2.5.1 自动类型转换 39
2.5.2 强制类型转换 40
2.6 控制运算——表达式和运算符 47
2.6.1 常用运算符 47
2.6.2 特殊运算符 53
2.6.3 运算符的优先级 55
2.7 流程控制语句 56
2.7.1 条件语句 57
2.7.2 循环语句 60
2.7.3 跳转语句 63
2.8 包含语句 65
2.8.1 include()与include_once() 65
2.8.2 require()与require_once() 66
2.9 回到案例场景 67
2.9.1 基本思路 68
2.9.2 代码演练 68
2.10 本章小结与习题 69
2.10.1 重点回顾 69
2.10.2 课后练习 69
2.10.3 实训 70
第3章 字符串与正则表达式 71
3.1 案例场景 72
3.1.1 文档内容格式化程序 72
3.1.2 我们现在能做的 72
3.2 定义字符串 73
3.2.1 使用单引号 73
3.2.2 使用双引号 74
3.2.3 使用定界符 75
3.3 字符串的显示与格式化 76
3.3.1 字符串的显示 76
3.3.2 字符串的格式化 76
3.4 字符串常用操作 79
3.5 PHP支持的正则表达式 92
3.5.1 正则表达式简介 92
3.5.2 POSIX风格的正则表达式 92
3.5.3 Perl风格的正则表达式 97
3.6 回到案例场景 101
3.6.1 基本思路 101
3.6.2 代码演练 102
3.7 本章小结与习题 104
3.7.1 重点回顾 104
3.7.2 课后习题 104
3.7.3 实训 105
第4章 函数 107
4.1 案例场景 108
4.1.1 客户资料搜索程序 108
4.1.2 我们现在能做的 108
4.2 定义函数 111
4.2.1 函数的构成 111
4.2.2 函数的命名规范 112
4.2.3 调用函数 112
4.2.4 自定义函数 113
4.3 使用函数的参数 114
4.3.1 声明函数参数的方式 114
4.3.2 使用参数默认值 115
4.3.3 参数的传递方式 116
4.4 函数作用域 117
4.5 PHP内置函数 119
4.5.1 日期/时间函数库 119
4.5.2 数学函数库 123
4.5.3 变量函数库 125
4.6 回到案例场景 128
4.6.1 基本思路 128
4.6.2 代码演练 129
4.7 本章小结与习题 131
4.7.1 重点回顾 131
4.7.2 课后练习 131
4.7.3 实训 132
第5章 数组 133
5.1 案例场景 134
5.1.1 图书销量查询程序 134
5.1.2 我们现在能做的 134
5.2 数组分类 136
5.2.1 一维数组与多维数组 136
5.2.2 索引数组与关联数组 138
5.3 数组的基本操作 139
5.3.1 创建数组 140
5.3.2 遍历数组元素 140
5.3.3 数细元素的添加、删除与更新 142
5.4 常用数组函数 144
5.4.1 数组的排序 144
5.4.2 数组判断函数 148
5.4.3 其他常用数组函数 150
5.5 回到案例场景 155
5.5.1 基本思路 156
5.5.2 代码演练 156
5.6 本章小结与习题 157
5.6.1 重点回顾 157
5.6.2 课后习题 158
5.6.3 实训 158
第6章 文件操作 159
6.1 案例场景 160
6.1.1 网络文件柜 160
6.1.2 我们现在能做的 160
6.2 文件操作 162
6.2.1 打开文件操作 162
6.2.2 读取文件操作 163
6.2.3 写入文件操作 166
6.2.4 其他常用文件操作 168
6.3 目录操作 169
6.4 使用文件权限 172
6.5 文件的上传下载 173
6.5.1 上传文件的类型 173
6.5.2 文件上传的实现方式 173
6.5.3 上传文件内容的过滤 176
6.5.4 实现文件下载 177
6.6 回到案例场景 178
6.6.1 基本思路 178
6.6.2 代码演练 180
6.7 本章小结与习题 187
6.7.1 重点回顾 187
6.7.2 课后练习 188
6.7.3 实训 188
第7章 PHP 5中的面向对象 189
7.1 案例场景 190
7.1.1 模拟通话程序 190
7.1.2 我们现在能做的 190
7.2 类和对象 192
7.2.1 定义类 192
7.2.2 实例化对象 193
7.2.3 成员变量与成员方法 193
7.2.4 使用$this 195
7.2.5 构造方法 196
7.2.6 析构方法 197
7.2.7 静态变量和静态方法 198
7.2.8 类常量 200
7.3 继承 201
7.3.1 继承的实现 201
7.3.2 覆盖父类方法 202
7.3.3 继承中构造方法的调用 203
7.4 抽象类与接口 204
7.4.1 定义抽象类 204
7.4.2 抽象类的继承 204
7.4.3 定义接口 205
7.4.4 实现接口 206
7.4.5 抽象类与接口的区别 206
7.5 多态 207
7.5.1 通过继承实现多态 207
7.5.2 通过接口实现多态 208
7.6 PHP中的反射的实现 209
7.7 回到案例场景 212
7.7.1 基本思路 212
7.7.2 代码演练 213
7.8 本章小结与习题 214
7.8.1 重点回顾 215
7.8.2 课后练习 215
7.8.3 实训 215
第8章 Session和Cookie 217
8.1 案例场景 218
8.1.1 购物车的实现 218
8.1.2 我们现在能做的 218
8.2 使用Session 219
8.2.1 Session简介 219
8.2.2 Session的创建与销毁 219
8.2.3 Session的配置 220
8.2.4 Session中的存取对象与应用数组 224
8.2.5 Session的共享与安全 225
8.2.6 提高Session的效率 228
8.3 使用Cookie 229
8.3.1 Cookie简介 229
8.3.2 Cookie的工作原理 230
8.3.3 创建与删除Cookie 231
8.3.4 解决Cookie中常见的问题 232
8.4 回到案例场景 233
8.4.1 基本思路 233
8.4.2 代码演练 234
8.5 本章小结与习题 235
8.5.1 重点回顾 236
8.5.2 课后练习 236
8.5.3 实训 236
第9章 错误及异常处理 237
9.1 案例场景 238
9.1.1 网站流量预警程序 238
9.1.2 我们现在能做的 238
9.2 常见错误类型 239
9.2.1 编程错误 240
9.2.2 未定义符号错误 241
9.2.3 通用性错误 242
9.2.4 运行错误 243
9.3 错误处理机制 243
9.3.1 错误级别 243
9.3.2 错误报告 244
9.3.3 手动处理错误 245
9.3.4 自定义错误页面 245
9.4 异常处理 246
9.4.1 使用try和catch 246
9.4.2 基本异常类 248
9.4.3 扩展异常类 248
9.4.4 捕获并处理多个异常 249
9.5 回到案例场景 251
9.5.1 基本思路 251
9.5.2 代码演练 251
9.6 本章小结与习题 253
9.6.1 重点回顾 253
9.6.2 课后练习 254
9.6.3 实训 254
选修课:MySQL数据库处理(参见光盘文档,对应页码为光盘文档页码) 1
一、案例场景 2
1.公司员工信息存储 2
2.我们现在能做的 2
二、关系型数据库和关系型数据库系统 3
1.关系型数据库的概念 3
2.关系型数据库系统的体系结构 4
三、MySQL 5概述 4
四、准备工作——安装MySQL 5 5
1.MySQL 5的下载及安装 5
2.MySQL 5的配置及测试 7
五、数据库和表操作 9
1.数据库的创建及删除 9
2.表的创建及删除 10
3.复制表 12
4.修改表 13
六、数据操作 14
1.插入数据 14
2.查询数据 16
3.更新数据 18
4.删除数据 18
七、高级SQL应用 19
1.连接 19
2.子查询 21
3.事务处理 22
八、管理MySQL 23
1.数据备份 24
2.用户权限与访问控制 24
3.性能优化 26
4.服务器管理 27
九、回到案例场景 28
1.基本思路 28
2.代码演练 29
十、本章小结与习题 29
1.重点回顾 29
2.课后练习 30
3.实训 30
第10章 访问MySQL数据库 255
10.1 案例场景 256
10.1.1 用户登录程序 256
10.1.2 我们现在能做的 256
10.2 PHP 5的mysql扩展 262
10.2.1 启用mysql扩展 262
10.2.2 使用phpMyAdmin导入数据 262
10.3 PHP 5中MySQL的应用 263
10.3.1 连接与断开服务器 263
10.3.2 选择数据库 264
10.3.3 获取查询结果 265
10.3.4 分页处理 266
10.3.5 数据的插入、修改及删除操作 267
10.4 在PHP程序中获得MySQL数据库信息 269
10.4.1 获得所有的数据库 269
10.4.2 获得数据库内的表 269
10.4.3 获取字段的相关信息 270
10.4.4 获取错误信息 273
10.5 PHP 5的其他数据库相关函数 274
10.6 PHP 5的mysqli扩展 277
10.6.1 mysqli简介 278
10.6.2 连接与断开服务器 278
10.6.3 使用mysqli存取数据 280
10.6.4 预准备语句 281
10.6.5 多个查询 283
10.7 回到案例场景 284
10.7.1 基本思路 284
10.7.2 代码演练 285
10.8 本章小结与习题 291
10.8.1 重点回顾 291
10.8.2 课后练习 291
10.8.3 实训 291
第11章 数据库抽象层 293
11.1 案例场景 294
11.1.1 商品后台管理程序 294
11.1.2 我们现在能做的 294
11.2 数据库抽象层简介 302
11.3 PDO 303
11.3.1 安装PDO 303
11.3.2 连接数据库 304
11.3.3 使用PDO存取数据 305
11.3.4 PDO的错误处理 309
11.3.5 PDO的事务 310
11.4 ADODB 311
11.4.1 ADODB的下载及安装 311
11.4.2 连接数据库 311
11.4.3 使用ADODB存取数据 312
11.4.4 ADODB的事务 316
11.5 回到案例场景 316
11.5.1 基本思路 316
11.5.2 代码演练 317
11.6 本章小结与习题 321
11.6.1 重点回顾 321
11.6.2 课后练习 322
11.6.3 实训 322
选修课:PHP与Ajax(参见光盘文档,对应页码为光盘文档页码) 1
一、案例场景 2
1.用户登录程序 2
2.我们现在能做的 2
二、Ajax简介 3
三、Ajax基础 4
1.Ajax的工作原理 4
2.XMLHttpRequest 5
3.DOM 5
4.体验Ajax 5
四、Xajax 8
1.安装Xajax 8
2.Xajax的工作原理 9
3.在PHP程序中应用Xajax 9
五、回到案例场景 11
1.基本思路 11
2.代码演练 12
六、本章小结与习题 15
1.重点回顾 15
2.课后习题 16
3.实训 16
第12章 PHP网络应用 323
12.1 案例场景 324
12.1.1 文件管理 324
12.1.2 我们现在能做的 324
12.2 DNS与服务 327
12.2.1 DNS简介 327
12.2.2 获取服务 327
12.3 实现“C/S”通信 328
12.3.1 Socket工作原理 329
12.3.2 Socket功能演示 329
12.3.3 Socket应用详解 330
12.4 实现FTP操作 331
12.4.1 登录FTP服务器 332
12.4.2 获取服务器文件列表 333
12.4.3 实现对服务器文件的操作 333
12.5 电子邮件 335
12.5.1 电子邮件的配置 335
12.5.2 mail()函数 335
12.5.3 电子邮件的发送方式 336
12.6 回到案例场景 338
12.6.1 基本思路 338
12.6.2 代码演练 339
12.7 本章小结与习题 343
12.7.1 重点回顾 344
12.7.2 课后习题 344
12.7.3 实训 344
第13章 Smarty模板 345
13.1 案例场景 346
13.1.1 新闻信息显示 346
13.1.2 我们现在能做的 346
13.2 认识模板引擎 350
13.3 使用Smarty前的准备工作 350
13.3.1 认识Smarty 350
13.3.2 下载和安装Smarty 351
13.3.3 配置Smarty 351
13.4 Smarty入门 352
13.4.1 开始使用Smarty模板 352
13.4.2 Smarty模板的工作原理 353
13.5 Smarty基础 354
13.5.1 注释 354
13.5.2 普通变量及保留变量 354
13.5.3 Smarty的条件控制语句 355
13.5.4 Smarty的循环控制语句 356
13.5.5 包含文件 359
13.5.6 模板修饰符 360
13.6 Smarty深入 364
13.6.1 Smarty缓存 364
13.6.2 Smarty配置文件 365
13.6.3 Smarty调试 366
13.7 回到案例场景 367
13.7.1 基本思路 367
13.7.2 代码演练 368
13.8 本章小结与习题 372
13.8.1 重点回顾 372
13.8.2 课后练习 372
13.8.3 实训 372
第14章 应用Zend Studio 373
14.1 案例场景 374
14.1.1 用户信息维护 374
14.1.2 我们现在能做的 374
14.2 Zend Studio的下载与安装 376
14.3 Zend Studio的用户界面 378
14.3.1 窗口布局 379
14.3.2 工具栏和各种窗口介绍 379
14.3.3 首选项配置 382
14.4 Zend Studio的快捷应用 387
14.4.1 快捷键 387
14.4.2 自动补全代码 389
14.4.3 指定代码片段 390
14.5 Zend Studio的程序调试 390
14.5.1 内部调试 391
14.5.2 远程服务器调试 393
14.5.3 监控程序执行状态 397
14.5.4 代码分析 398
14.6 回到案例场景 399
14.6.1 基本思路 399
14.6.2 代码演练 399
14.7 本章小结与习题 400
14.7.1 重点回顾 401
14.7.2 课后习题 401
14.7.3 实训 401
第15章 PHP+MySQL开发电子商城 403
15.1 关于三扬电子商城系统 404
15.2 系统功能概述 404
15.3 系统数据库设计 406
15.3.1 数据库设计概述 406
15.3.2 数据表设计 406
15.4 工程目录结构 408
15.4.1 前台目录结构 409
15.4.2 后台目录结构 409
15.5 公共模块设计 410
15.5.1 数据库连接文件 410
15.5.2 过滤文件 410
15.5.3 生成验证码文件 411
15.6 前台功能设计 412
15.6.1 前台功能设计概述 412
15.6.2 前台首页设计 412
15.6.3 商品搜索页面 417
15.6.4 商品显示页面 419
15.6.5 用户功能模块设计 420
15.6.6 卖家模块设计 427
15.6.7 买家模块设计 433
15.6.8 退出系统设计 442
15.7 后台功能设计 442
15.7.1 后台功能设计概述 442
15.7.2 管理员登录模块设计 443
15.7.3 用户管理模块设计 446
15.7.4 商品类型模块设计 447
15.7.5 商品管理模块设计 451
15.7.6 商城公告模块设计 454
15.7.7 退出系统设计 456
15.8 本章小结 457