第 1章 PHP 亲密接触 1
1 1 PHP 概述2
1 2 搭建 PHP 环境3
1 2 1 安装 Apache服务器3
1 2 2 安装 MySQL 数据库4
1 2 3 安装 PHP 运行库8
1 3 PHP 配置文件概述10
1 4 PHP 语法结构 11
1 4 1 默认标记 11
1 4 2 脚本标记 12
1 4 3 短标记12
1 4 4 ASP 风格标记12
1 5 程序注释 14
1 5 1 单行注释 14
1 5 2 Perl风格单行注释 14
1 5 3 多行注释语法14
1 6 PHP 输出函数 15
1 6 1 print()函数15
1 6 2 echo()函数16
1 6 3 printf()函数 16
1 6 4 sprintf()函数18
1 7 实践案例:编写一个 PHP 程序 18
1 8 动手练一练21
1 8 1 练习题21
1 8 2 上机实践 22
第 2章 PHP 语法基础 23
2 1 变量24
2 1 1 变量命名规则24
2 1 2 创建变量 24
2 1 3 变量作用域25
2 2 常量28
2 3 数据类型 29
2 3 1 单一数据类型29
2 3 2 复合数据类型31
2 3 3 特殊数据类型31
2 4 类型转换 32
2 4 1 自动转换 32
2 4 2 强制类型转换33
2 4 3 转换函数 34
2 5 运算符36
2 5 1 算术运算符36
2 5 2 赋值运算符37
2 5 3 比较运算符37
2 5 4 逻辑运算符38
2 5 5 位运算符 39
2 5 6 字符串运算符39
2 5 7 自增和自减运算符39
2 5 8 错误控制运算符 40
2 6 运算符优先级 40
2 7 表达式41
2 8 实践案例:编写图书收据打印程序42
2 9 动手练一练44
2 9 1 练习题44
2 9 2 上机实践 45
第 3章 PHP 流程控制语句 46
3 1 条件控制语句 47
3 1 1 单条件 if语句47
3 1 2 双条件 if语句48
3 1 3 多条件 if语句49
3 1 4 嵌套 if语句51
3 1 5 switch 语句 52
3 2 循环控制语句 54
3 2 1 while循环语句54
3 2 2 do while循环语句 55
3 2 3 for循环语句56
3 2 4 foreach循环语句59
3 3 跳转控制语句 60
3 3 1 break 语句60
3 3 2 continue语句61
3 3 3 return 语句61
3 4 实践案例:在页面上显示前 50个素数62
3 5 动手练一练63
3 5 1 练习题63
3 5 2 上机实践 65
第 4章 PHP 面向对象编程 66
4 1 面向对象概述 67
4 1 1 什么是对象67
4 1 2 封装 67
4 1 3 继承 68
4 1 4 多态 68
4 2 类和对象 68
4 3 类的成员 70
4 3 1 字段 70
4 3 2 属性 72
4 3 3 常量 74
4 3 4 方法 75
4 3 5 作用域关键字76
4 4 构造函数和析构函数 80
4 4 1 构造函数 80
4 4 2 析构函数 81
4 5 继承82
4 5 1 类继承82
4 5 2 构造函数继承84
4 6 接口85
4 6 1 接口的概念85
4 6 2 定义接口 85
4 6 3 实现接口 86
4 7 实践案例:编写图书管理系统87
4 8 动手练一练91
4 8 1 练习题91
4 8 2 上机实践 92
第5章 使用PHP函数 93
5 1 数学函数 94
5 2 日期和时间函数95
5 2 1 date()函数96
5 2 2 checkdate()函数98
5 2 3 gmdate()函数 98
5 2 4 getdate()函数 99
5 2 5 time()函数100
5 3 文件引用函数101
5 3 1 include()函数101
5 3 2 require()函数103
5 3 3 include_once()函数和 require_once()函数104
5 4 创建自定义函数 104
5 4 1 自定义函数格式104
5 4 2 调用自定义函数105
5 4 3 函数的参数 106
5 5 函数的高级应用 109
5 5 1 嵌套函数109
5 5 2 递归函数109
5 6 实践案例:实现网站后台管理 110
5 7 动手练一练 113
5 7 1 练习题 113
5 7 2 上机实践 114
第 6章 操作字符串 115
6 1 字符串简介 116
6 2 定义字符串 117
6 2 1 使用单引号 117
6 2 2 使用双引号 117
6 2 3 使用定界符 118
6 3 字符串运算符 119
6 4 字符串操作 119
6 4 1 去除字符串首尾空格和特殊字符 119
6 4 2 字符串大小写转换 121
6 4 3 填充字符串 124
6 4 4 获取字符串的长度 125
6 4 5 截取字符串 126
6 4 6 比较字符串 128
6 4 7 检索字符串 130
6 4 8 替换字符串 133
6 4 9 分隔字符串 136
6 4 10 将字符串转换为 HTML138
6 4 11 将 HTML转换为字符串 139
6 5 实践案例:实现网站后台登录功能 140
6 6 动手练一练 143
6 6 1 练习题143
6 6 2 上机实践144
第 7章 操作数组 146
7 1 数组概述147
7 1 1 创建数组147
7 1 2 测试数组149
7 1 3 遍历数组151
7 1 4 统计数组中的元素 153
7 2 数组的基本操作 155
7 2 1 定位数组155
7 2 2 增加数组元素159
7 2 3 删除数组元素161
7 3 管理数组162
7 3 1 合并数组163
7 3 2 截取数组164
7 3 3 从数组中提取元素 167
7 4 数组的排序 169
7 4 1 按值对数组排序169
7 4 2 按键对数组排序172
7 4 3 排序时保持键-值对173
7 4 4 实现级联排序174
7 4 5 自定义排序算法176
7 5 其他数组函数177
7 6 实践案例:实现图书网站首页178
7 7 动手练一练 183
7 7 1 练习题183
7 7 2 上机实践184
第8章 操作HTML页面 186
8 1 HTML表单 187
8 1 1 HTML 表单元素187
8 1 2 创建发表评论表单 188
8 2 使用 PHP 为表单元素赋值 190
8 3 提交表单数据191
8 3 1 GET和 POST提交方式 192
8 3 2 获取 POST 提交的数据192
8 3 3 获取 GET 提交的数据 193
8 4 获取表单中的多值195
8 5 遍历表单197
8 6 处理 URL 中的参数 198
8 6 1 编码操作199
8 6 2 解码操作200
8 7 Session 管理200
8 7 1 Session 简介201
8 7 2 获取 Session ID 202
8 7 3 启动 Session203
8 7 4 删除 Session206
8 8 Cookie管理 207
8 8 1 创建 Cookie 207
8 8 2 访问 Cookie 208
8 8 3 删除 Cookie 210
8 9 实践案例:实现图书网站购物车 211
8 10 动手练一练 218
8 10 1 练习题 218
8 10 2 上机实践219
第 9章 操作文件和目录 220
9 1 文件处理221
9 1 1 打开文件221
9 1 2 关闭文件222
9 1 3 写入文件222
9 1 4 读取文件225
9 1 5 删除文件231
9 1 6 复制文件232
9 2 获取文件属性232
9 3 目录处理234
9 3 1 打开和关闭目录234
9 3 2 读取目录235
9 3 3 解析目录237
9 3 4 新建目录239
9 3 5 删除目录239
9 4 获取目录容量240
9 5 文件上传242
9 6 文件下载245
9 7 实践案例:实现图书网站的留言本模块 247
9 8 动手练一练 250
9 8 1 练习题250
9 8 2 上机实践251
第 10章 操作数据库 252
10 1 建立到 MySQL 的连接253
10 1 1 建立普通连接 253
10 1 2 建立持久化连接254
10 1 3 关闭连接255
10 2 选择数据库 255
10 3 基本操作256
10 3 1 执行 SQL 语句256
10 3 2 获取数据259
10 3 3 显示数据262
10 4 数据分页显示266
10 5 数据库高级操作269
10 5 1 获取数据库信息269
10 5 2 获取表信息271
10 5 3 获取列信息272
10 6 读取数据库显示乱码解决方案 275
10 6 1 了解产生乱码的原因275
10 6 2 PHP 网页的编码276
10 6 3 MySQL 数据库的编码 276
10 7 实践案例:实现基于数据库的图书网站277
10 8 动手练一练 282
10 8 1 练习题 282
10 8 2 上机实践283
第11章 应用Ajax技术 284
11 1 Ajax概述285
11 2 XMLHttpRequest 对象286
11 2 1 创建 XMLHttpRequest对象286
11 2 2 XMLHttpRequest 对象的属性和方法 287
11 2 3 XMLHttpRequest 对象的生命周期289
11 2 4 发送请求和处理回调函数290
11 3 普通文本格式292
11 3 1 发送带参数的普通请求293
11 3 2 处理文本格式的响应296
11 4 XML格式 297
11 4 1 发送 XML 请求297
11 4 2 处理 XML 格式的响应 298
11 5 处理 JSON 格式响应 300
11 6 Ajax中文乱码解决方案303
11 6 1 客户端乱码303
11 6 2 服务器端乱码 303
11 7 实践案例:实现自动完成的图书搜索功能304
11 8 动手练一练 309
11 8 1 练习题 309
11 8 2 上机实践310
第 12章 PHP 高级开发技术311
12 1 异常处理312
12 1 1 异常处理语句 312
12 1 2 内置的异常类 314
12 1 3 配置指令315
12 2 正则表达式处理316
12 2 1 Perl风格正则表达式 316
12 2 2 POSIX风格正则表达式318
12 2 3 正则表达式函数320
12 3 XML处理 325
12 3 1 生成 XML 325
12 3 2 DOM解析 XML327
13 3 3 SimpleXML解析 XML 330
12 4 实践案例:操作学生信息 XML文档332
12 5 动手练一练 337
12 5 1 练习题 337
12 5 2 上机实践338
第 13 章 留言本 339
13 1 系统分析340
13 2 数据库设计 340
13 3 公共模块设计341
13 3 1 配置文件341
13 3 2 全局变量342
13 3 3 页面头部信息 342
13 3 4 函数库 343
13 4 基本功能实现343
13 4 1 发表留言343
13 4 2 查看留言346
13 5 管理功能实现348
13 5 1 管理员登录348
13 5 2 回复留言350
13 5 3 删除留言353
13 6 总结353
练习题参考答案 354