图书介绍
PHP和MySQL Web开发 第3版PDF|Epub|txt|kindle电子书版本网盘下载
![PHP和MySQL Web开发 第3版](https://www.shukui.net/cover/68/33138772.jpg)
- (澳)Luke Welling,(澳)Laura Thomson著;武欣,邵煜等译 著
- 出版社: 北京:机械工业出版社
- ISBN:7111154703
- 出版时间:2005
- 标注页数:666页
- 文件大小:56MB
- 文件页数:692页
- 主题词:PHP语言-程序设计;关系数据库-数据库管理系统,MySQL
PDF下载
下载说明
PHP和MySQL Web开发 第3版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
目录读者反馈译者序前言作者简介第一篇 使用PHP第1章 PHP快速入门教程1
1.2.1 创建订单表单2
1.2 创建一个示例应用:Bob's Auto Parts(Bob汽车零部件商店)2
1.1 使用PHP2
1.3 在HTML中嵌入PHP4
1.2.2 表单处理4
1.3.2 PHP标记风格5
1.3.1 使用PHP标记5
1.3.4 空格6
1.3.3 PHP语句6
1.3.5 注释7
1.4.1 调用函数8
1.4 添加动态内容8
1.5.1 表单变量9
1.5 访问表单变量9
1.4.2 使用date()函数9
1.5.2 字符串的连接11
1.5.3 变量和文本12
1.9.1 PHP的数据类型13
1.9 检查变量的类型13
1.6 理解标识符13
1.7 创建用户声明的变量13
1.8 给变量赋值13
1.9.4 可变变量14
1.9.3 类型转换14
1.9.2 类型强度14
1.10 声明和使用常量15
1.12 使用操作符16
1.11 理解变量的作用域16
1.12.3 赋值操作符17
1.12.2 字符串操作符17
1.12.1 算术操作符17
1.12.4 比较操作符19
1.12.5 逻辑操作符20
1.12.7 其他操作符21
1.12.6 位操作符21
1.13 使用操作符:计算表单总金额23
1.14 理解操作符的优先级和结合性:表达式求值24
1.15 使用可变函数25
1.15.2 测试变量状态26
1.15.1 测试和设置变量类型26
1.17 根据条件进行判断27
1.16 实现控制结构27
1.15.3 变量的重解释27
1.17.3 else语句28
1.17.2 代码块28
1.17.1 if语句28
1.17.4 elseif语句29
1.17.5 switch语句30
1.17.6 比较不同的条件31
1.18 通过迭代实现重复动作32
1.18.1 while循环33
1.18.2 for和foreach循环34
1.19 从控制结构或脚本中跳出35
1.18.3 do...while循环35
1.21 使用declare36
1.20 使用可替换的控制结构语法36
1.22 下一章:保存客户的订单37
2.2 存储和检索Bob的订单38
2.1 保存数据以便后期使用38
第2章 数据的存储与检索38
2.3 文件处理39
2.4.2 使用fopen()打开文件40
2.4.1 选择文件模式40
2.4 打开文件40
2.4.4 解决打开文件时可能遇到的问题42
2.4.3 通过FTP或HTTP打开文件42
2.5.1 fwrite()的参数44
2.5 写文件44
2.6 关闭文件45
2.5.2 文件格式45
2.7 读文件47
2.7.2 知道何时读完文件:feof()48
2.7.1 以只读模式打开文件:fopen()48
2.7.4 读取整个文件:readfile()、fpassthru()和file()49
2.7.3 每次读取一行数据:fgets()、fgetss()和fgetcsv()49
2.7.5 读取一个字符:fgetc()50
2.8.3 删除一个文件:unlink()51
2.8.2 确定文件大小:filesize()51
2.7.6 读取任意长度:fread()51
2.8 使用其他有用的文件函数51
2.8.1 查看文件是否存在:file_exists()51
2.9 文件锁定52
2.8.4 在文件中定位:rewind()、fseek()和ftell()52
2.10 更好的方式:数据库管理系统53
2.11 进一步学习54
2.10.2 RDBMS是如何解决这些问题的54
2.10.1 使用普通文件的几个问题54
2.12 下一章55
3.1 什么是数组56
第3章 使用数组56
3.2.2 访问数组的内容57
3.2.1 数字索引数组的初始化57
3.2 数字索引数组57
3.2.3 使用循环访问数组58
3.3.3 使用循环语句59
3.3.2 访问数组元素59
3.3 使用不同索引的数组59
3.3.1 初始化相关数组59
3.4 数组操作符60
3.5 多维数组61
3.6.2 使用asort()函数和ksort()函数对相关数组排序64
3.6.1 使用sort()函数64
3.6 数组排序64
3.7.1 用户定义排序65
3.7 多维数组的排序65
3.6.3 反向排序65
3.7.2 反向用户排序66
3.8.1 使用shuffle()函数67
3.8 对数组进行重新排序67
3.8.2 使用array-reverse()函数68
3.9 从文件载入数组69
3.10.1 在数组中浏览:each()、current()、reset()、end()、next()、pos()和prev()71
3.10 执行其他的数组操作71
3.10.2 对数组的每一个元素应用任何函数:array_walk()72
3.10.4 将数组转换成标量变量:extract()73
3.10.3 统计数组元素个数:count()、sizeof()和array_count_values()73
3.12 下一章75
3.11 进一步学习75
4.1 创建一个示例应用程序:智能表单邮件76
第4章 字符串操作与正则表达式76
4.2.2 格式化字符串以便显示78
4.2.1 字符串的整理:chop()、ltrim()和trim()78
4.2 字符串的格式化78
4.2.3 格式化字符串以便存储:addslashes()和stripslashes()81
4.3.1 使用函数explode()、implode()和join()82
4.3 用字符串函数连接和分割字符串82
4.3.3 使用substr()函数83
4.3.2 使用strtok()函数83
4.4.1 字符串的排序:strcmp()、strcasecmp()和strnatcmp()84
4.4 字符串的比较84
4.5.1 在字符串中查找字符串:strstr()、strchr()、strrchr()和stristr()85
4.5 使用字符串函数匹配和替换子字符串85
4.4.2 使用strlen()函数测试字符串的长度85
4.5.2 查找子字符串的位置:strpos()、strrpos()86
4.5.3 替换子字符串:str_replace()、substr_replace()87
4.6.2 字符集和类88
4.6.1 基础知识88
4.6 正则表达式的介绍88
4.6.4 子表达式89
4.6.3 重复89
4.6.8 匹配特殊字符90
4.6.7 分支90
4.6.5 子表达式计数90
4.6.6 定位到字符串的开始或末尾90
4.6.10 在智能表单中应用91
4.6.9 特殊字符一览91
4.7 用正则表达式查找子字符串92
4.12 下一章93
4.11 进一步学习93
4.8 用正则表达式替换子字符串93
4.9 使用正则表达式分割字符串93
4.10 比较字符串函数和正则表达式函数93
5.1.2 可靠性94
5.1.1 成本94
第5章 代码重用与函数编写94
5.1 代码重用94
5.2.1 require()函数95
5.2 使用require()和include()函数95
5.1.3 一致性95
5.3 使用require()制作Web站点的模版96
5.2.3 PHP标记和require()语句96
5.2.2 文件扩展名和require()语句96
5.3.2 使用require_once()和include_once()100
5.3.1 使用include()100
5.4.1 调用函数101
5.4 在PHP中使用函数101
5.3.3 使用auto_prepend_file和auto_append_file101
5.5 理解为什么要定义自己的函数103
5.4.3 理解字母大小写和函数名称103
5.4.2 调用未定义的函数103
5.6 了解基本的函数结构104
5.7 使用参数105
5.8 理解作用域107
5.9 参数的引用传递和值传递109
5.10 从函数中返回110
5.11 从函数返回一个值111
5.12 实现递归113
5.14 下一章114
5.13 进一步学习114
6.1.1 类和对象115
6.1 面向对象的概念115
第6章 面向对象的PHP115
6.1.2 多态性116
6.2.1 类的结构117
6.2 在PHP中创建类、属性和操作117
6.1.3 继承117
6.3 类的实例化118
6.2.3 析构函数118
6.2.2 构造函数118
6.4 使用类的属性119
6.6 类操作的调用121
6.5 使用private和public关键字控制访问121
6.7 在PHP中实现继承122
6.7.1 通过继承使用private和protected访问修饰符控制可见性123
6.7.2 重载124
6.7.3 使用final关键字禁止继承和重载125
6.7.5 实现接口126
6.7.4 理解多重继承126
6.8 类的设计127
6.9 编写类代码128
6.10.3 实现静态方法135
6.10.2 使用Per-Class常量135
6.10 理解PHP面向对象新的高级功能135
6.10.1 提示:PHP4和PHP5的比较135
6.10.5 克隆对象136
6.10.4 检查类的类型和类型提示136
6.10.7 使用__call()重载方法137
6.10.6 使用抽象类137
6.10.9 实现迭代器和迭代138
6.10.8 使用__autoload()方法138
6.10.11 使用Reflection(反射)API140
6.10.10 将类转换成字符串140
6.11 下一章141
7.1 异常处理的概念142
第7章 异常处理142
7.3 用户自定义异常144
7.2 Exception类144
7.4 Bob的汽车零部件商店应用程序的异常146
7.7 下一章150
7.6 进一步学习150
7.5 异常和PHP的其他错误处理机制150
第二篇 使用MySQL第8章 设计Web数据库151
8.1.5 键152
8.1.4 值152
8.1 关系数据库的概念152
8.1.1 表格152
8.1.2 列152
8.1.3 行152
8.1.7 关系153
8.1.6 模式153
8.2.2 避免保存冗余数据154
8.2.1 考虑要建模的实际对象154
8.2 如何设计Web数据库154
8.2.3 使用原子列值155
8.2.6 避免多个空属性的设计156
8.2.5 考虑需要询问数据库的问题156
8.2.4 选择有意义的键156
8.3 Web数据库架构157
8.2.7 表格类型的总结157
8.5 下一章158
8.4 进一步学习158
第9章 创建Web数据库159
9.2 登录到MySQL160
9.1 使用MySQL监视程序160
9.3 创建数据库和用户161
9.5.2 创建用户:GRANT命令162
9.5.1 最少权限原则162
9.4 设置用户与权限162
9.5 MySQL权限系统的介绍162
9.5.3 权限的类型和级别163
9.5.5 使用GRANT和REVOKE的例子165
9.5.4 REVOKE命令165
9.7 使用正确的数据库166
9.6 创建一个Web用户166
9.8 创建数据库表167
9.8.1 理解其他关键字的意思168
9.8.2 理解列的类型169
9.8.3 用SHOW和DESCRIBE来查看数据库170
9.9 理解MySQL的标识符171
9.8.5 表格类型的提示171
9.8.4 创建索引171
9.10 选择列数据类型172
9.10.1 数字类型173
9.10.3 字符串类型174
9.10.2 日期和时间类型174
9.12 下一章176
9.11 进一步学习176
10.2 在数据库中插入数据177
10.1 SQL是什么177
第10章 使用MySQL数据库177
10.3 从数据库中获取数据179
10.3.1 获取满足特定条件的数据181
10.3.2 从多个表中获取数据182
10.3.4 分组与合计数据186
10.3.3 以特定的顺序获取数据186
10.3.6 使用子查询188
10.3.5 选择要返回的行188
10.4 更新数据库记录190
10.5 创建后修改表191
10.8 删除整个数据库193
10.7 表的删除193
10.6 删除数据库中的记录193
10.10 下一章194
10.9 进一步学习194
11.1 Web数据库架构的工作原理195
第11章 使用PHP从Web访问MySQL数据库195
11.3 检查与过滤用户输入数据198
11.2 从Web查询数据库的基本步骤198
11.4 建立一个连接199
11.6 查询数据库200
11.5 选择使用的数据库200
11.7 检索查询结果201
11.9 将新信息放入数据库202
11.8 从数据库断开连接202
11.10 使用Prepared语句205
11.12 使用常规的数据库接口:PEAR DB206
11.11 使用PHP与数据库交互的其他接口206
11.14 下一章209
11.13 进一步学习209
12.1 深入理解权限系统210
第12章 MySQL高级管理210
12.1.1 user表211
12.1.3 tables_priv表和columns_priv表212
12.1.2 db表和host表212
12.1.5 更新权限:修改什么时候生效213
12.1.4 访问控制:MySQL如何使用Grant表213
12.2.2 密码214
12.2.1 从操作系统角度来保护MySQL214
12.2 提高MySQL数据库的安全性214
12.2.4 Web问题215
12.2.3 用户权限215
12.3.1 使用SHOW获取信息216
12.3 获取更多关于数据库的信息216
12.3.3 用EXPLAIN理解查询操作的工作过程218
12.3.2 使用DESCRIBE获取关于列的信息218
12.5 优化数据库221
12.4 使用索引提高查询速度221
12.6 备份MySQL数据库222
12.5.6 其他技巧222
12.5.1 设计优化222
12.5.2 权限222
12.5.3 表的优化222
12.5.4 使用索引222
12.5.5 使用默认值222
12.8 实现复制223
12.7 恢复MySQL数据库223
12.8.2 执行初始的数据传输224
12.8.1 设置主服务器224
12.10 下一章225
12.9 进一步学习225
12.8.3 设置一个/多个从服务器225
13.2 存储引擎226
13.1 LOAD DATA INFILE语句226
第13章 MySQL高级编程226
13.3.1 理解事务的定义227
13.3 事务227
13.3.2 通过InnoDB使用事务228
13.4 外键229
13.5.1 基本示例230
13.5 存储过程230
13.5.2 局部变量232
13.5.3 游标和控制结构233
13.7 下一章236
13.6 进一步学习236
14.2 考虑电子商务网站的类型237
14.1 我们要实现什么目标237
第三篇 电子商务与安全性第14章 运营一个电子商务网站237
14.2.1 使用在线说明书公布信息238
14.2.2 接收产品或服务的订单240
14.2.5 减少成本243
14.2.4 为产品或服务增值243
14.2.3 提供服务和数字产品243
14.3.1 网络黑客244
14.3 理解风险和威胁244
14.3.6 软件错误245
14.3.5 广泛的竞争245
14.3.2 不能招揽足够的生意245
14.3.3 计算机硬件故障245
14.3.4 电力、通信、网络或运输故障245
14.5 下一章246
14.4 基于策略作决定246
14.3.7 不断变化的政府政策和税收246
14.3.8 系统容量限制246
15.1 信息的重要程度247
第15章 电子商务的安全问题247
15.2.1 机密数据的泄露248
15.2 安全威胁248
15.2.2 数据丢失和数据破坏249
15.2.3 数据修改250
15.2.5 软件错误251
15.2.4 拒绝服务251
15.2.6 否认252
15.4 建立一个安全政策253
15.3 易用性,性能、成本和安全性253
15.6 使用身份验证254
15.5 身份验证原则254
15.7 加密技术基础255
15.9 公有密钥加密256
15.10 数字签名256
15.8 私有密钥加密256
15.11 数字证书257
15.12 安全的Web服务器258
15.15 备份数据259
15.14 防火墙259
15.13 审计与日志记录259
15.16 自然环境安全260
15.15.2 备份与恢复MySQL数据库260
15.15.1 备份常规文件260
15.17 下一章261
16.1 识别访问者262
第16章 使用PHP和MySQL实现身份验证262
16.2 实现访问控制263
16.2.1 保存密码265
16.2.2 密码的加密267
16.2.3 保护多个网页268
16.3 使用基本身份验证269
16.4 在PHP中使用基本身份验证270
16.5 在Apache的.htaccess文件中使用基本身份验证271
16.6 在IIS上使用基本身份验证274
16.7.2 检查是否正常工作276
16.7.1 安装mod_auth_mysql276
16.7 使用mod_auth_mysql身份验证276
16.8 创建自定义身份验证277
16.7.3 使用mod_auth_mysql277
16.10 下一章278
16.9 进一步学习278
17.1 提供安全的事务处理279
第17章 使用PHP和MySQL实现安全事务279
17.1.1 用户机器280
17.1.3 我们的系统281
17.1.2 Internet281
17.2 使用加密套接字层(SSL)282
17.4 提供安全存储284
17.3 屏蔽用户的输入284
17.5 确定是否需要存储信用卡号码285
17.6.1 安装GPG286
17.6 在PHP中使用加密技术286
17.6.2 测试GPG288
17.8 下一章293
17.7 进一步学习293
18.1 文件上载295
第四篇 PHP的高级技术第18章 与文件系统和服务器的交互295
18.1.2 关于安全性的提示296
18.1.1 文件上载的HTML296
18.1.3 编写处理文件的PHP297
18.2.1 从目录读取300
18.2 使用目录函数300
18.1.4 常见问题300
18.3.1 获取文件信息302
18.3 与文件系统的交互302
18.2.2 获得当前目录的信息302
18.2.3 创建和删除目录302
18.3.2 更改文件属性304
18.4 使用程序执行函数305
18.3.3 创建、删除和移动文件305
18.7 下一章308
18.6 进一步学习308
18.5 与环境变量交互:getenv()和putenv()308
19.2 发送和读取电子邮件309
19.1 了解可供使用的协议309
第19章 使用网络函数和协议函数309
19.3 使用其他Web站点310
19.4 使用网络查找函数312
19.5.1 使用FTP备份或镜像一个文件316
19.5 使用FTP316
19.5.3 避免超时321
19.5.2 上传文件321
19.6 进一步学习322
19.5.4 使用其他的FTP函数322
19.7 下一章323
20.1.1 使用date()函数324
20.1 在PHP中获取日期和时间324
第20章 日期和时间的管理324
20.1.2 使用UNIX时间戳325
20.1.3 使用getdate()函数326
20.2 在PHP日期格式和MySQL日期格式之间进行转换327
20.1.4 检验日期有效性327
20.4 在MySQL中计算日期329
20.3 在PHP中计算日期329
20.6 使用日历函数331
20.5 使用微秒331
20.8 下一章332
20.7 进一步学习332
21.1 在PHP中设定图像支持333
第21章 创建图像333
21.2.2 PNG334
21.2.1 JPEG334
21.2 理解图像格式334
21.3 创建图像335
21.2.4 GIF335
21.2.3 WBMP335
21.3.1 创建一个背景图像336
21.3.2 在图像上绘图或打印文本337
21.3.3 输出最终图形338
21.5 使用文本和字体创建图像339
21.4 在其他页面中使用自动生成的图像339
21.3.4 清理339
21.5.2 将文本调整到适合按钮342
21.5.1 创建基本画布342
21.5.5 完成345
21.5.4 将文本写到按钮上345
21.5.3 放置文本345
21.6 绘制图像与用图表描绘数据346
21.8 进一步学习352
21.7 使用其他的图像函数352
21.9 下一章353
22.2.1 什么是cookie354
22.2 理解基本的会话功能354
第22章 在PHP中使用会话控制354
22.1 什么是会话控制354
22.2.3 在会话中使用cookie355
22.2.2 通过PHP设置cookie355
22.3.2 注册一个会话变量356
22.3.1 开始一个会话356
22.2.4 存储会话ID356
22.3 实现简单的会话356
22.4 创建一个简单的会话例子357
22.3.4 注销变量与销毁会话357
22.3.3 使用会话变量357
22.5 配置会话控制359
22.6 通过会话控制实现身份验证360
22.8 下一章365
22.7 进一步学习365
23.1 使用魔术引用366
第23章 其他有用的特性366
23.3 中断执行:die和exit367
23.2 使用eval()函数对字符串求值367
23.4 序列化变量和对象368
23.5.1 找到所加载的PHP扩展部件369
23.5 获取PHP环境信息369
23.7 暂时改变运行时环境370
23.6 动态加载扩展部件370
23.5.2 识别脚本所有者370
23.5.3 确定脚本最近修改时间370
23.8 源代码加亮371
23.10 下一章372
23.9 在命令行中使用PHP372
第五篇 创建实用的PHP和MySQL项目第24章 在大型项目中使用PHP和MySQL373
24.2 规划和运行Web应用程序项目374
24.1 在Web开发中应用软件工程374
24.4.1 编码标准375
24.4 编写可维护代码375
24.3 重用代码375
24.4.4 文档化和共享内部函数378
24.4.3 使用标准的目录结构378
24.4.2 分解代码378
24.5 实现版本控制379
24.7 项目的文档化380
24.6 选择一个开发环境380
24.9 将逻辑和内容分离381
24.8 建立原型381
24.10.2 使用Zend产品382
24.10.1 使用简单优化382
24.10 优化代码382
24.12 进一步学习383
24.11 测试383
24.13 下一章384
25.1.1 语法错误385
25.1 编程错误385
第25章 调试385
25.1.2 运行时错误386
25.1.3 逻辑错误391
25.2 使用变量帮助调试392
25.3 错误报告级别393
25.4 改变错误报告设置394
25.5 触发自定义错误395
25.6 巧妙地处理错误396
25.7 下一章398
26.2.1 用户识别和个性化设置399
26.2 解决方案的组成399
第26章 建立用户身份验证机制和个性化设置399
26.1 问题所在399
26.3 解决方案概述400
26.2.3 推荐书签400
26.2.2 保存书签400
26.4 实现数据库402
26.5 实现基本的网站403
26.6.1 注册405
26.6 实现用户身份验证405
26.6.2 登录410
26.6.3 登出413
26.6.4 修改密码414
26.6.5 重设遗忘的密码416
26.7.1 添加书签420
26.7 实现书签的存储和检索420
26.7.3 删除书签422
26.7.2 显示书签422
26.8 实现书签推荐424
26.10 下一章427
26.9 封装和可能的扩展427
27.2.1 创建一个在线目录428
27.2 解决方案的组成428
第27章 创建一个购物车428
27.1 问题所在428
27.3 解决方案概述429
27.2.4 创建一个管理界面429
27.2.2 在用户购买商品的时候记录购买行为429
27.2.3 实现一个付款系统429
27.4 实现数据库432
27.5.1 列出目录434
27.5 实现在线目录434
27.5.2 列出一个目录中的所有图书437
27.5.3 显示图书详细信息438
27.6.1 使用show_cart.php脚本440
27.6 实现购物车440
27.6.2 浏览购物车442
27.6.3 将物品添加到购物库444
27.6.4 保存更新后的购物车446
27.6.6 结账447
27.6.5 打印标题栏摘要447
27.7 实现付款452
27.8 实现一个管理界面454
27.9 扩展该项目460
27.11 下一章461
27.10 使用一个已有系统461
28.3 已有系统462
28.2 解决方案的需求462
第28章 创建一个内容管理系统462
28.1 问题所在462
28.4.2 数据库与文件存储的对比463
28.4.1 使内容进入系统463
28.4 编辑内容463
28.5 使用元数据464
28.4.3 文档结构464
28.7 解决方案的设计/概述465
28.6 格式化输出465
28.8 设计数据库466
28.9.1 前台467
28.9 实现CMS467
28.9.2 图像处理471
28.9.3 后台473
28.9.4 搜索480
28.9.5 编辑页面483
28.11 下一章485
28.10 扩展该项目485
29.2 解决方案的组成486
29.1 问题所在486
第29章 创建一个基于Web的电子邮件服务系统486
29.3 解决方案概述488
29.4 建立数据库489
29.5 了解脚本架构490
29.6 登录与登出495
29.7 建立账户498
29.7.1 创建一个新账户499
29.7.3 删除账户501
29.7.2 修改已有账户501
29.8.1 选择账户502
29.8 阅读邮件502
29.8.2 查看邮箱内容504
29.8.3 阅读邮件消息507
29.8.5 删除邮件509
29.8.4 查看消息标题509
29.9.1 发送一则新消息510
29.9 发送邮件510
29.9.2 回复或转发邮件512
29.10 扩展这个项目514
29.11 下一章514
第30章 创建一个邮件列表管理器515
30.1 问题所在515
30.2 解决方案的组成515
30.2.1 建立列表和订阅者数据库516
30.2.2 使用文件上载516
30.2.3 发送带附件的邮件516
30.3 解决方案概述516
30.4 建立数据库518
30.5 定义脚本架构520
30.6 实现登录526
30.6.1 新账户的创建527
30.6.2 登录529
30.7 用户函数的实现531
30.7.1 查看列表531
30.7.2 查看邮件列表信息535
30.7.3 查看邮件列表存档536
30.7.4 订阅与取消订阅538
30.7.5 更改账户设置539
30.7.6 更改密码539
30.7.7 登出540
30.8 管理功能的实现541
30.8.1 创建新的邮件列表541
30.8.2 上载新的新闻信件543
30.8.3 多文件上载的处理545
30.8.4 预览新闻信件549
30.8.5 发送邮件550
30.9 扩展这个项目555
30.10 下一章555
31.1 问题所在556
31.2 解决方案的组成556
第31章 创建一个Web论坛556
31.3 解决方案概述557
31.4 数据库的设计558
31.5 查看文章的树型结构560
31.5.1 展开和折叠561
31.5.2 显示文章564
31.5.3 使用treenode类564
31.6 查看单个的文章570
31.7 添加新文章572
31.9 使用一个已有的系统578
31.10 下一章578
31.8 添加扩充578
32.1 问题所在579
32.2 评估文档格式579
第32章 生成PDF格式的个性化文档579
32.2.3 HTML580
32.2.2 ASCII580
32.2.4 字处理器格式580
32.2.1 纸张580
32.2.5 RTF格式581
32.2.6 PostScript581
32.2.7 可移植文档格式(PDF)582
32.3 解决方案的组成582
32.3.1 问题与回答系统583
32.3.2 文档生成软件583
32.4 解决方案概述585
32.4.1 提问585
32.4.2 给答题评分587
32.4.3 生成RTF证书589
32.4.4 从模板生成PDF证书591
32.4.5 使用PDFlib生成PDF文档595
32.4.6 使用PDFlib的一个“Hello World”程序595
32.4.7 用PDFlib生成证书598
32.5 处理标题的问题605
32.6 扩展该项目605
32.7 进一步学习606
32.8 下一章606
第33章 使用XML和SOAP来连接Web服务607
33.1 问题所在607
33.2 理解XML608
33.3 理解Web服务611
33.3.1 SOAP611
33.3.2 WSDL612
33.4 解决方案的组成612
33.4.2 使用Amazon的Web服务接口613
33.4.3 XML的解析613
33.4.1 创建购物车613
33.4.5 缓存614
33.5 解决方案概述614
33.4.4 在PHP中使用SOAP614
33.5.1 核心应用程序618
33.5.2 显示特定种类的图书623
33.5.3 获得一个AmazonResultSet类624
33.5.4 使用基于HTTP的REST/XML631
33.5.5 使用SOAP635
33.5.6 缓存数据636
33.5.7 创建购物车639
33.5.8 到Amazon付账642
33.6 安装项目代码642
33.7 扩展这个项目643
33.8 进一步学习643
第六篇 附录附录A 安装PHP及MySQL645
附录B Web资源664