第1篇 起步篇 3
第1章 PHP概述 3
1.1 什么是PHP 4
1.2 PHP开发语言的特点 4
1.2.1 速度快 4
1.2.2 实用性 4
1.2.3 功能强大 4
1.2.4 可选择性 4
1.2.5 成本低 5
1.2.6 版本更新速度快 5
1.2.7 功能全面 5
1.3 PHP的发展趋势 5
1.4 PHP的语法结构 5
1.4.1 PHP标识符 6
1.4.2 PHP标记符 6
1.4.3 有效使用注释 7
1.5 输出语句 8
1.5.1 应用print()语句输出字符 8
1.5.2 应用echo()语句输出字符 9
1.5.3 应用printf()语句格式化输出字符 10
1.5.4 应用sprintf()语句格式化输出字符 11
1.6 引用文件 11
1.6.1 应用include()语句包含文件 11
1.6.2 应用require()语句包含文件 12
1.6.3 应用include_once()语句包含文件 13
1.6.4 应用require_once()语句包含文件 14
1.6.5 include()语句和require()语句的区别 15
1.6.6 include_once()语句和require_once()语句的区别 16
1.7 PHP动态网页的工作流程 16
1.8 体验PHP——编写第一个PHP Web 16
1.8.1 创建站点 17
1.8.2 使用Dreamweaver创建PHP文件 17
1.8.3 创建PHP标记 17
1.8.4 编写PHP代码 17
1.8.5 存储文件 18
1.8.6 网站运行结果 18
1.9 获取帮助信息 18
1.9.1 PHP学习工具和资料下载 19
1.9.2 获取PHP的源代码资源 20
1.10 本章小结 20
第2章 PHP环境的安装与配置 21
2.1 Windows下应用AppServ快速配置PHP开发环境 22
2.2 Windows下Apache+MySQL+PHP的安装配置 24
2.2.1 Windows下Apache的安装配置 24
2.2.2 Windows下MySQL的安装配置 27
2.2.3 Windows下PHP的安装配置 28
2.3 在Windows下架设IIS+PHP的执行环境 29
2.3.1 IIS的安装 30
2.3.2 架设PHP到IIS 30
2.4 Linux下Apache+MySQL+PHP的安装配置 32
2.4.1 Linux下Apache的安装配置 32
2.4.2 Linux下MySQL的安装配置 33
2.4.3 Linux下PHP的安装配置 34
2.5 获取PHP的配置信息 35
2.5.1 Apache服务器的基本配置 35
2.5.2 php.ini文件的基本配置 35
2.6 解决PHP的常见配置问题 37
2.6.1 解决Apache服务器端口冲突 37
2.6.2 更改Apache服务器默认存储的文件路径 37
2.6.3 在php.ini文件中更改上传文件的大小 37
2.6.4 增加PHP扩展模块 37
2.6.5 修改php.ini文件以支持MySQL数据库 38
2.7 本章小结 38
第3章 PHP语言基础 39
3.1 数据类型 40
3.1.1 标量数据类型 40
3.1.2 复合数据类型 43
3.1.3 特殊数据类型 44
3.1.4 转换数据类型 45
3.1.5 检测数据类型 46
3.2 PHP常量 47
3.2.1 声明和使用常量 47
3.2.2 预定义常量 48
3.3 PHP变量 50
3.3.1 理解变量 50
3.3.2 声明变量 50
3.3.3 变量作用域 51
3.3.4 可变变量 52
3.3.5 预定义变量 53
3.3.6 变量的生存周期 53
3.4 PHP的运算符 53
3.4.1 操作算术运算符 54
3.4.2 操作字符串运算符 54
3.4.3 操作赋值运算符 55
3.4.4 操作位运算符 55
3.4.5 递增或递减运算符 56
3.4.6 操作逻辑运算符 56
3.4.7 操作比较运算符 57
3.4.8 其他运算符 58
3.4.9 运算符的优先级 59
3.5 PHP的表达式 59
3.6 自定义函数 60
3.6.1 定义和调用函数 60
3.6.2 在函数间传递参数 61
3.6.3 函数的返回值 62
3.7 本章小结 63
第4章 流程控制语句 64
4.1 算法 65
4.1.1 什么是算法 65
4.1.2 算法的描述方法 65
4.1.3 程序三种控制结构 66
4.2 条件控制语句 67
4.2.1 if条件控制语句 67
4.2.2 switch多分支语句 68
4.2.3 if和switch语句的区别 70
4.3 循环语句 72
4.3.1 while循环语句 72
4.3.2 do...while循环语句 74
4.3.3 for循环语句 74
4.3.4 foreach循环语句 76
4.3.5 各循环语句间的区别 77
4.4 跳转语句 77
4.4.1 break跳转语句 77
4.4.2 continue跳转语句 78
4.4.3 return跳转语句 79
4.5 流程控制语句的嵌套 80
4.6 本章小结 81
第5章 PHP与HTML表单 82
5.1 表单数据的提交方式 83
5.1.1 通过GET方法提交数据 83
5.1.2 通过POST方法提交数据 84
5.2 获取提交的表单数据 84
5.2.1 获取按钮的数据 85
5.2.2 获取文本区域的数据 86
5.2.3 获取单选按钮的数据 87
5.2.4 获取复选框的数据 87
5.2.5 获取列表框的数据 88
5.2.6 获取文本域的数据 90
5.2.7 获取文件域的数据 90
5.2.8 获取隐藏域的数据 91
5.3 在PHP中处理表单变量 92
5.4 对表单传递的变量值进行编码与解码 93
5.4.1 URL编码与解码 93
5.4.2 BASE64编码与解码 94
5.5 本章小节 95
第6章 字符串和正则表达式 96
6.1 字符串处理 97
6.1.1 获取字符串的长度 97
6.1.2 字符串的连接和分割 97
6.1.3 字符串大小写转换 99
6.1.4 字符串与HTML相互转换 100
6.1.5 去除字符串中的空格 102
6.1.6 确定字符串中字符和单词的数量 103
6.1.7 定位字符 104
6.1.8 加入和去除反斜杠 105
6.1.9 填充、删除和截取字符串 107
6.1.10 字符串的比较 109
6.1.11 字符串的格式化 110
6.1.12 字符串的查找和替换 113
6.2 URL处理 117
6.2.1 URL字符串解析 117
6.2.2 URL编码解码函数 119
6.3 正则表达式 120
6.3.1 正则表达式概述 120
6.3.2 正则表达式的语法 121
6.3.3 PHP的正则表达式函数 126
6.4 本章小结 131
第7章 数组 132
7.1 数组的概述 133
7.2 数组的基本操作 133
7.2.1 声明数组 133
7.2.2 输出数组 134
7.2.3 定位数组 134
7.2.4 遍历数组 136
7.2.5 增加删除数组元素 139
7.2.6 确定数组大小和唯一性 142
7.2.7 数组的排序 143
7.2.8 数组的合并与拆分 144
7.2.9 数组和字符串之间的转换 147
7.3 其他数组函数 148
7.3.1 创建指定范围的数组 148
7.3.2 对数组中的元素进行随机排序 149
7.3.3 对数组中所有元素进行求和 149
7.3.4 将一维数组拆分为多维数组 150
7.4 PHP全局数组 150
7.4.1 $_SERVER[]全局数组 151
7.4.2 $_GET[]和$_POST[]全局数组 151
7.4.3 $_COOKIE全局数组 151
7.4.4 $_ENV[]全局数组 151
7.4.5 $_REQUEST[]全局数组 151
7.4.6 $_SESSION[]全局数组 151
7.4.7 $_FILES[]全局数组 151
7.5 本章小结 153
第8章 日期和时间 154
8.1 日期和时间的概述 155
8.2 处理日期和时间 155
8.2.1 获取日期和时间 156
8.2.2 获取日期信息 157
8.2.3 检验日期的有效性 158
8.2.4 输出格式化的日期和时间 159
8.3 PHP的时间戳 161
8.3.1 PHP中的时间戳 161
8.3.2 获取格林威治标准时间的时间戳 161
8.3.3 获取本地化时间戳 162
8.3.4 获取当前时间戳 164
8.4 本章小结 164
第2篇 提高篇 167
第9章 文件和目录处理技术 167
9.1 文件处理技术的基本操作 168
9.1.1 打开文件 168
9.1.2 读取文件 168
9.1.3 写入文件 173
9.1.4 删除文件 174
9.1.5 关闭文件 174
9.1.6 拷贝文件 174
9.1.7 移动和重命名文件 175
9.2 文件的高级处理技术 175
9.2.1 访问远程文件 176
9.2.2 测试文件指针的位置 176
9.2.3 文件指针的定位 176
9.2.4 锁定文件 178
9.3 目录操作技术 178
9.3.1 打开目录 178
9.3.2 读取目录 178
9.3.3 建立目录 179
9.3.4 删除目录 179
9.3.5 改变目录 180
9.3.6 关闭目录 180
9.4 文件上传和下载技术 180
9.4.1 开启PHP文件上传功能 180
9.4.2 POST方法上传文件 181
9.4.3 上传多个文件 182
9.4.4 生成临时文件 183
9.4.5 下载文件 183
9.5 本章小结 184
第10章 图像处理技术 185
10.1 GD函数库的概述 186
10.1.1 Windows下打开GD2函数库支持 186
10.1.2 Linux下打开GD2函数库支持 186
10.1.3 GD2函数库支持的图片格式 187
10.1.4 应用GD2函数创建图像 188
10.2 基本的图像处理技术 188
10.2.1 创建画布 188
10.2.2 设置颜色 189
10.2.3 生成图像 190
10.2.4 销毁图像 191
10.2.5 绘制点与线 191
10.2.6 绘制几何图形 192
10.2.7 填充几何图形 194
10.2.8 输出文字 197
10.3 动态创建图像 199
10.3.1 应用图像处理技术生成验证码 199
10.3.2 应用图像处理技术生成饼形图 201
10.3.3 应用图像处理技术生成柱形图 202
10.3.4 应用图像处理技术生成折线图 204
10.4 本章小结 206
第11章 Cookie和会话控制 207
11.1 概述 208
11.1.1 Cookie概述 208
11.1.2 会话控制 208
11.2 Cookie的操作 208
11.2.1 设置Cookie 208
11.2.2 访问Cookie 209
11.2.3 删除Cookie 209
11.2.4 Cookie数组 210
11.3 Cookie的应用 211
11.4 会话的操作 212
11.4.1 会话的基本方式 212
11.4.2 配置PHP的会话 213
11.4.3 创建会话 213
11.5 会话的应用 215
11.5.1 登录验证 215
11.5.2 通过Session禁用页面刷新 217
11.6 本章小结 218
第12章 面向对象 219
12.1 概述 220
12.1.1 面向对象的概念 220
12.1.2 面向对象语言的3大特点 220
12.1.3 PHP 5.0面向对象的新特性 221
12.2 类和对象 221
12.2.1 类的结构及声明方式 221
12.2.2 属性和方法的定义 221
12.2.3 使用构造函数 222
12.2.4 使用析构函数 223
12.2.5 类的实例化 223
12.3 控制访问权限 224
12.4 类的继承和重载 224
12.4.1 继承的概念 224
12.4.2 PHP中实现继承的方法 224
12.4.3 重载的概念 225
12.4.4 PHP中实现类重载的方法 225
12.4.5 用final关键字对继承和重载进行限制 225
12.5 接口 226
12.5.1 接口的概念 226
12.5.2 PHP实现接口 227
12.6 PHP面向对象新特性 227
12.6.1 Per-Class常量的应用 227
12.6.2 对象的克隆 227
12.6.3 __autoload()方法 228
12.6.4 使用instanceof关键字判断实例类型 228
12.6.5 使用this关键字调用类成员 228
12.6.6 使用parent关键字调用父类成员 229
12.6.7 使用self关键字调用类体中的静态成员 229
12.6.8 辅助函数 230
12.7 PHP中面向对象的应用 234
12.7.1 应用面向对象的方式实现用户身份验证 234
12.7.2 数据的分页显示 235
12.8 本章小结 237
第13章 MySQL数据库 238
13.1 MySQL概述 239
13.1.1 MySQL的特点 239
13.1.2 SQL和MySQL 239
13.2 MySQL服务器的启动和关闭 240
13.2.1 启动MySQL服务器 240
13.2.2 连接MySQL服务器 241
13.2.3 关闭MySQL服务器 241
13.3 操作数据库 242
13.3.1 创建数据库 242
13.3.2 选择数据库 243
13.3.3 删除数据库 243
13.4 操作数据表 243
13.4.1 创建表 244
13.4.2 修改表 245
13.4.3 删除表 245
13.5 操作数据 246
13.5.1 添加语句(INSERT) 246
13.5.2 修改语句(UPDATE) 247
13.5.3 删除语句(DELETE) 247
13.5.4 批量增加记录语句(LOAD DATA和MySQLIMPORT 247
13.6 数据查询语句 248
13.6.1 运用SELECT查询(对数据表的选择) 248
13.6.2 WHERE条件语句的应用 249
13.6.3 GROUP BY对结果分组 250
13.6.4 DISTINCT在结果中去除重复行 250
13.6.5 ORDER BY对结果排序 250
13.6.6 LIKE应用 251
13.6.7 CONCAT联合多列 251
13.6.8 LIMIT限定结果行数 252
13.6.9 使用函数和表达式 252
13.7 数据类型 253
13.7.1 数字类型 253
13.7.2 字符串类型 254
13.7.3 日期和时间数据类型 255
13.8 phpMyAdmin图形化管理工具 256
13.8.1 库级操作 256
13.8.2 表级操作 257
13.8.3 增删改数据 258
13.8.4 查询数据 259
13.8.5 数据的导入与导出 260
13.9 本章小结 262
第14章 数据库编程技术 263
14.1 PHP操纵MySQL数据库 264
14.1.1 建立与MySQL数据库的连接 264
14.1.2 选择和使用MySQL数据库 264
14.1.3 执行SQL指令 265
14.1.4 分析结果集 265
14.1.5 断开与MySQL数据库的连接 266
14.2 管理MySQL数据库中的数据 267
14.2.1 向数据库中添加数据 267
14.2.2 编辑数据库数据 268
14.2.3 从数据库中删除数据 270
14.2.4 批量数据操作 272
14.3 对MySQL表的查询 273
14.3.1 通用查询 273
14.3.2 高级查询 275
14.3.3 分组统计 276
14.3.4 对查询结果分页显示 278
14.4 本章小结 279
第15章 PHP的调试与解决方案 281
15.1 基本调试策略 282
15.2 常见错误分析 282
15.2.1 语法错误 282
15.2.2 运行错误 285
15.2.3 逻辑错误 287
15.3 PHP.INI中的错误处理设置 288
15.4 程序调试 289
15.4.1 应用DIE语句调试 289
15.4.2 应用PRINT语句调试 290
15.4.3 应用MYSQL_ERROR()语句输出错误信息 290
15.5 MySQL的常见错误 291
15.5.1 PHP与MySQL连接错误 292
15.5.2 解决数据库乱码问题 292
15.5.3 上传二进制数据到数据库失败 293
15.6 本章小结 295
第3篇 实例篇 299
第16章 注册和登录 299
16.1 设计思路 300
16.1.1 功能阐述 300
16.1.2 程序业务流程 300
16.1.3 文件组织结构 300
16.2 数据库设计 301
16.3 连接数据库 302
16.3.1 关键函数 302
16.3.2 功能实现 303
16.4 用户注册模块 303
16.4.1 关键函数 303
16.4.2 页面设计 304
16.4.3 功能实现 305
16.5 检测用户是否被占用 306
16.5.1 关键函数 306
16.5.2 页面设计 307
16.5.3 功能实现 308
16.6 验证用户注册信息是否合法 309
16.6.1 关键函数 309
16.6.2 功能实现 309
16.7 用户登录 310
16.7.1 关键函数 310
16.7.2 页面设计 311
16.7.3 功能实现 312
16.8 图片验证码功能 313
16.8.1 关键函数介绍 313
16.8.2 页面设计 315
16.8.3 功能实现 315
16.9 退出登录功能 316
16.9.1 关键函数 316
16.9.2 功能实现 316
16.10 本章小节 316
第17章 留言本 317
17.1 设计思路 318
17.1.1 功能阐述 318
17.1.2 程序业务流程 318
17.1.3 文件组织结构 319
17.2 数据库设计 320
17.3 连接数据库 321
17.3.1 关键函数介绍 321
17.3.2 功能实现 322
17.4 添加留言模块 322
17.4.1 关键函数 322
17.4.2 页面设计 322
17.4.3 功能实现 324
17.5 查看留言模块 325
17.5.1 关键函数 325
17.5.2 页面设计 325
17.5.3 功能实现 325
17.6 修改留言模块 327
17.6.1 关键函数 327
17.6.2 页面设计 328
17.6.3 功能实现 329
17.7 删除留言模块 330
17.7.1 关键函数 330
17.7.2 页面设计 331
17.7.3 功能实现 331
17.8 查询留言模块 332
17.8.1 关键函数 332
17.8.2 页面设计 332
17.8.3 功能实现 333
17.9 本章小结 334
第18章 论坛 335
18.1 系统设计思路 336
18.1.1 功能阐述 336
18.1.2 程序业务流程 336
18.1.3 文件组织结构 336
18.2 系统的数据库设计 337
18.3 用户注册模块 338
18.3.1 关键函数 338
18.3.2 页面设计 339
18.3.3 功能实现 341
18.4 用户登录模块 342
18.4.1 关键函数 342
18.4.2 页面设计 343
18.4.3 功能实现 343
18.5 帖子分类管理模块 344
18.5.1 关键函数 344
18.5.2 页面设计 345
18.5.3 功能实现 345
18.6 查看帖子模块 348
18.6.1 关键函数 348
18.6.2 页面设计 348
18.6.3 功能实现 349
18.7 发帖模块 350
18.7.1 关键函数 350
18.7.2 页面设计 351
18.7.3 功能实现 352
18.8 回帖模块 353
18.8.1 关键函数 353
18.8.2 页面设计 353
18.8.3 功能实现 354
18.9 注销用户 355
18.9.1 关键函数 355
18.9.2 功能实现 355
18.10 后台管理模块 355
18.10.1 关键函数 355
18.10.2 页面设计 356
18.10.3 功能实现 357
18.11 本章小结 358
第19章 聊天室 359
19.1 系统设计思路 360
19.1.1 功能阐述 360
19.1.2 程序业务流程 360
19.1.3 文件组织结构 360
19.2 系统的数据库设计 361
19.3 用户登录的设计 362
19.3.1 关键函数 362
19.3.2 页面设计 362
19.3.3 功能实现 362
19.4 聊天室框架的设计 363
19.4.1 关键函数 363
19.4.2 页面设计 365
19.4.3 功能实现 365
19.5 显示在线用户 366
19.5.1 关键函数 366
19.5.2 页面设计 366
19.5.3 功能实现 366
19.6 发送聊天信息 367
19.6.1 关键函数 367
19.6.2 页面设计 368
19.6.3 功能实现 368
19.7 私聊的实现 369
19.7.1 关键函数 369
19.7.2 页面设计 369
19.7.3 功能实现 370
19.8 显示聊天信息 371
19.8.1 关键函数 371
19.8.2 页面设计 371
19.8.3 功能实现 372
19.9 退出聊天室 372
19.9.1 关键函数 372
19.9.2 功能实现 372
19.10 本章小结 373
第20章 邮件收发系统 374
20.1 系统设计思路 375
20.1.1 功能阐述 375
20.1.2 系统业务流程 375
20.1.3 文件组织结构 376
20.2 系统的配置需求 376
20.2.1 SMTP的安装和配置 376
20.2.2 POP3的安装和配置 379
20.3 用户登录 381
20.3.1 关键函数 381
20.3.2 页面设计 382
20.3.3 功能实现 384
20.4 发送带附件的E-mail 385
20.4.1 关键函数 385
20.4.2 页面设计 386
20.4.3 功能实现 387
20.5 收邮件 389
20.5.1 关键函数 389
20.5.2 页面设计 390
20.5.3 功能实现 391
20.6 查找邮件 393
20.6.1 关键函数 393
20.6.2 页面设计 394
20.6.3 功能实现 395
20.7 查看邮件 396
20.7.1 关键函数 396
20.7.2 页面设计 398
20.7.3 功能实现 398
20.8 删除邮件 400
20.8.1 关键函数 400
20.8.2 页面设计 401
20.8.3 功能实现 401
20.9 注销邮件 402
20.9.1 关键函数 402
20.9.2 功能实现 402
20.10 本章小结 403
第21章 电子商务 404
21.1 需求分析 405
21.2 系统分析和设计 405
21.2.1 可行性分析 405
21.2.2 功能结构分析和设计 405
21.2.3 系统流程概述 406
21.2.4 开发环境 407
21.3 数据库设计 407
21.3.1 数据库的分析 408
21.3.2 创建数据库 408
21.3.3 创建数据表 408
21.3.4 数据表的结构 408
21.4 技术准备 411
21.3.1 代码书写规则 411
21.4.2 网站架设之初 411
21.4.3 文件管理规划 412
21.5 前台开发 412
21.5.1 设计分析 412
21.5.2 前台首页的实现 412
21.5.3 商品展示模块的实现 415
21.5.4 购物车的实现 418
21.5.5 收银台的实现 421
21.5.6 用户登录模块的实现 422
21.5.7 本站公告模块的实现 430
21.6 后台开发 431
21.6.1 设计分析 431
21.6.2 后台首页 431
21.6.3 后台登录模块 433
21.6.4 商品信息管理模块 435
21.6.5 短信管理模块 439
21.6.6 订单信息管理模块 441
21.7 电子商务完整清单 444
21.8 本章小结 445