《PHP和MYSQL WEB应用开发核心技术》PDF下载

  • 购买积分:18 如何计算积分?
  • 作  者:(美)MARC WANDSCHNEIDER著;马朝晖 温继文等译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2006
  • ISBN:7111192362
  • 页数:629 页
图书介绍:本书系统地讲述了整个使用PHP和MySQL构建健壮的Web应用程序的过程。

第1章 开始了解PHP 1

1.1 第一个PHP程序 1

第一部分 PHP基础 1

1.2.1 标示PHP代码段落 3

1.2 输入PHP脚本 3

1.2.2 混合PHP和HTML 4

1.2.3 语句和注释 5

1.3 如何存储数据 6

1.4.1 数字 7

1.4 输入PHP的基本类型 7

1.4.2 字符串 9

1.5.1 n12br 12

1.5 一些非常有用的函数 12

1.4.3 布尔值 12

1.5.3 print_r 13

1.5.2 var_dump 13

1.6 小结 14

1.5.4 var_export 14

2.1 输入字符串的更多介绍 15

第2章 PHP语言 15

2.2.1 数组 17

2.2 数据类型的更多介绍 17

2.2.3 特殊类型和值 18

2.2.2 对象 18

2.3.1 基础 19

2.3 强制类型转换 19

2.3.2 特殊强制类型转换 20

2.3.3 有用的强制类型转换函数 23

2.4.1 定义常量 24

2.4 变量和常量 24

2.4.2 按值和按引用的变量 25

2.4.4 变量生存周期 26

2.4.3 变量范围 26

2.5.1 操作符:组合表达式 27

2.5 表达式和操作符 27

2.4.5 预定义变量 27

2.5.2 组合表达式和操作符的过程 33

2.6.1 if语句 34

2.6 控制结构 34

2.6.2 switch语句 35

2.6.4 for循环 37

2.6.3 while/do...while循环 37

2.6.6 中断循环 38

2.6.5 foreach循环 38

2.7 小结 39

3.1.1 定义和调用函数 40

3.1 基本代码重用:函数 40

第3章 代码组织和重用 40

3.1.2 把参数传递给函数 42

3.1.3 从函数返回值 47

3.1.4 函数内的变量范围 48

3.1.5 函数范围和可用性 50

3.1.6 把函数作为变量使用 52

3.2.1 把代码组织到文件中 53

3.2 中级代码重用:使用和包含文件 53

3.2.2 选择文件名和位置 55

3.2.3 在脚本中包含库文件 57

3.2.4 把包含用于页面模板化 61

3.3 小结 62

4.1 超越库之外 63

第4章 面向对象的程序设计 63

4.2 面向对象的程序设计 65

4.2.2 PHP中对象的基础 66

4.2.1 一些基本术语 66

4.2.3 初始化和清除对象 70

4.2.4 可见性:控制看这些内容的人 72

4.2.5 把静态数据添加到类 74

4.3.2 再次讲解可见性 78

4.3.1 扩展已有的类 78

4.3 扩展对象 78

4.3.3 基类方法的重新实现 79

4.3.4 使类的行为相同:多态性 80

4.4.1 对象的比较 87

4.4 其他特性 87

4.4.2 对象的克隆 88

4.4.3 用户界面友好的输出 89

4.4.5 自动加载 90

4.4.4 类型提示 90

4.5 小结 91

5.1.1 创建数组和添加数据 92

5.1 再次介绍数组 92

第5章 处理数组 92

5.1.2 访问数组中的元素 95

5.1.4 计算数组中元素的数量 97

5.1.3 删除数组元素和整个数组 97

5.2.1 foreach循环 98

5.2 数组元素的迭代 98

5.2.2 常规循环 99

5.2.3 内部循环计数器以及each、next、prev、pos和reset 100

5.2.4 array_walk方法 101

5.3 多维数组 102

5.4 对数组的操作 103

5.4.1 数组排序 104

5.4.2 其他数组操作 106

5.5 小结 108

6.2.1 ASCII 109

6.2 字符集和Unicode 109

第6章 世界上的字符串和字符 109

6.1 字符串和PHP 109

6.2.3 远东地区字符集 110

6.2.2 ISO 8859字符集 110

6.3 了解PHP中字符集的处理 111

6.2.5 Unicode编码 111

6.2.4 Unicode 111

6.3.1 处理其他字符集 112

6.3.3 我们应该如何处理字符 113

6.3.2 问题的出现 113

6.4.1 安装以及配置mbstring和mbregex 114

6.4 配置PHP处理Unicode 114

6.5.1 获得信息 115

6.5 对字符串的操作 115

6.4.2 函数重载 115

6.5.2 整理字符串 117

6.5.3 搜索和比较 118

6.5.4 提取 121

6.5.6 字符编码转换 122

6.5.5 大小写操作 122

6.6 小结 123

7.1 一个表单的范例 124

第7章 与服务器进行交互:表单 124

7.2.1 把表单添加到页面中 126

7.2 处理HTML表单 126

7.2.2 如何提交数据 128

7.2.3 在脚本中访问表单数据 130

7.3 服务器的操作 132

7.2.4 字符集和表单 132

7.3.2 服务器变量 133

7.3.1 服务器的注意事项 133

7.3.3 环境变量 136

7.4 重新定向用户 137

7.5 小结 139

8.1.1 基础 141

8.1 我们讨论的是什么 141

第二部分 数据库基础 141

第8章 数据库介绍 141

8.1.2 关系型数据库 142

8.2.2 数据库服务器 143

8.2.1 与简单文件或者电子表格的比较 143

8.2 使用DBMS的动机 143

8.3.1 MySQL 144

8.3 主要的数据库服务器 144

8.4 如何选择数据库服务器 145

8.3.5 其他服务器 145

8.3.2 PostgreSQL 145

8.3.3 Oracle数据库 145

8.3.4 Microsoft SQL Server 145

8.4.5 费用 146

8.4.4 是否可以从PHP访问 146

8.4.1 考虑你的数据 146

8.4.2 能力 146

8.4.3 性能 146

8.6 通用接口 147

8.5 我们的选择 147

8.7 小结 148

9.1 把什么存放到数据库中 149

第9章 设计和创建数据库 149

9.2.1 主键 150

9.2 组织数据 150

9.2.2 选择数据类型 151

9.2.3 把数据组织到表中 153

9.2.4 便于更快搜索的索引 155

9.3 SQL简介 156

9.4.2 连接和身份验证 157

9.4.1 与数据库服务器对话 157

9.4 创建数据库 157

9.4.3 创建数据库 158

9.5.1 准备创建用户 159

9.5 设置用户权限 159

9.5.3 删除用户或者删除权限 161

9.5.2 创建用户 161

9.6.1 SQL数据类型 162

9.6 创建表 162

9.6.2 数据库服务器客户的生存周期 164

9.6.3 创建表 165

9.6.4 表存储引擎 166

9.6.6 外键和级联删除 167

9.6.5 创建索引 167

9.8 小结 169

9.7 删除表和数据库 169

10.2.1 INSERT INTO语句 170

10.2 把数据插入表 170

第10章 使用数据库:存储和检索数据 170

10.1 准备工作 170

10.2.2 批量数据插入 171

10.2.3 日期类型条目 173

10.3 检索表中的数据 174

10.3.1 基本语法 175

10.3.2 在检索表数据时进行组合 176

10.3.3 对检索出的数据进行排序 179

10.4 修改表中的数据 180

10.3.4 一次获得少量行 180

10.6 小结 181

10.5 删除表中的数据 181

11.1.1 问题 183

11.1 事务处理 183

第11章 使用数据库:高级数据访问 183

11.1.2 解决方案 184

11.1.4 一个比较复杂的问题 185

11.1.3 编写事务处理 185

11.2.2 指定值的集合和范围 188

11.2.1 组合表达式 188

11.2 更高级的查询 188

11.2.4 查询中的SQL函数 189

11.2.3 获得惟一的值 189

11.2.5 对聚合函数数据进行分组 193

11.3 修改表模式 194

11.4 小结 195

12.1 准备工作 196

第12章 PHP和数据访问 196

12.2.1 事件序列 197

12.2 连接和身份验证 197

12.2.2 建立连接 198

12.3 执行查询 199

12.2.3 设置连接字符集 199

12.3.1 检索数据 200

12.3.2 验证用户输入 202

12.3.3 插入、删除和更新数据 204

12.3.4 事务处理 205

12.3.5 来自mysqli的错误 206

12.4.1 绑定参数 208

12.4 预备语句 208

12.4.2 绑定结果 209

12.5.1 过程式数据库接口的基础知识 210

12.5 旧式接口 210

12.5.2 持久性连接 212

12.6 小结 213

13.1.1 因特网:并没有你想像的那么复杂 215

13.1 详细讲解World Wide Web 215

第三部分 规划Web应用程序 215

第13章 Web应用程序和因特网 215

13.1.2 计算机和计算机的通信 216

13.1.3 超文本传输协议 217

13.1.4 MIME类型 219

13.1.5 安全套接字层(SSL) 220

13.2.2 基本布局 222

13.2.1 术语 222

13.1.6 其他重要协议 222

13.2 设计Web应用程序 222

13.2.4 业务逻辑 224

13.2.3 用户界面 224

13.2.6 n层体系结构 227

13.2.5 后端/服务器 227

13.2.7 性能和稳定性 228

13.3 小结 229

14.1.1 了解你的用户界面 230

14.1 用户界面的注意事项 230

第14章 实现用户界面 230

14.1.2 计划用户界面 231

14.1.3 帮助出现问题的用户 233

14.1.4 设计技巧和策略 234

14.2.1 级联样式单(CSS) 235

14.2 实现用户界面 235

14.2.2 包含文件 237

14.2.3 生成用户界面的代码库 238

14.2.4 实现用户界面驱动 242

14.3 小结 243

15.1 用户如何连接到我们的应用程序 244

第15章 用户管理 244

15.2 访问者和已知用户 246

15.3.2 在什么位置存储用户信息 247

15.3.1 部分和完全登录 247

15.3 用户身份验证 247

15.3.3 存储什么和不存储什么 248

15.4 小结 249

16.1.1 最重要的事情 250

16.1 处理安全性问题的策略 250

第16章 保护Web应用程序:规划和代码的安全性 250

16.2 标识威胁 251

16.1.4 我们的基本方法 251

16.1.2 安全性和可用性之间的平衡 251

16.1.3 开发工作完成之后 251

16.2.1 威胁 252

16.2.2 造成威胁的人 253

16.3.1 黄金法则 254

16.3 保护代码 254

16.3.2 过滤输入 255

16.3.3 代码的组织 259

16.3.5 文件系统注意事项 260

16.3.4 代码中的内容 260

16.3.7 执行引用和exec 261

16.3.6 代码稳定性和bug 261

16.4 小结 262

17.1.1 保持软件为最新版本 263

17.1 保护Web服务器和PHP 263

第17章 保护Web应用程序:软件和硬件安全性 263

17.1.3 Web服务器配置 264

17.1.2 php.ini 264

17.1.4 虚拟服务器 265

17.1.5 商业托管的Web应用程序 266

17.2 安全套接字层(SSL) 267

17.3.1 用户和权限系统 268

17.3 数据库的安全性 268

17.3.4 运行服务器 269

17.3.3 连接到服务器 269

17.3.2 把数据发送到服务器 269

17.4.2 DMZ 270

17.4.1 防火墙 270

17.4 保护网络 270

17.5.3 服务器的物理安全 271

17.5.2 只运行必须的程序 271

17.4.3 了解DoS和DDoS攻击 271

17.5 计算机和操作系统的安全性 271

17.5.1 保持操作系统为最新版本 271

17.7 小结 272

17.6 灾难计划 272

18.1.1 来自PHP的错误 273

18.1 错误是如何出现的 273

第四部分 实现Web应用程序 273

第18章 错误处理和调试 273

18.1.2 我们代码中的缺陷 274

18.1.3 外部错误 275

18.2.2 PHP生成哪些错误 276

18.2.1 PHP如何显示错误 276

18.2 PHP如何处理错误 276

18.2.3 处理错误 277

18.3.1 异常的基础知识 282

18.3 异常 282

18.2.4 配置PHP的错误处理 282

18.3.2 处理异常 284

18.3.3 未处理的异常 287

18.3.4 扩展异常 288

18.4.1 测试代码 290

18.4 调试 290

18.5 小结 292

18.4.2 源代码调试器 292

19.1.1 基本操作 293

19.1 cookie:诱人并且有用 293

第19章 cookie和会话 293

19.1.2 cookie如何工作 296

19.1.3 控制cookie的有效性 297

19.1.7 能力监视器 298

19.1.6 把什么放到cookie中 298

19.1.4 删除cookie 298

19.1.5 cookie数组 298

19.2 会话 299

19.2.1 基本用法 300

19.2.2 配置PHP的会话 301

19.2.3 如何传输会话ID 302

19.2.4 使用会话存储数据 303

19.2.5 页面缓存 306

19.2.6 破坏会话 307

19.2.7 会话存储如何工作 308

19.3.1 获得会话ID 312

19.3 会话的安全性 312

19.3.2 限制泄密的会话ID造成的损害 313

19.4 小结 314

20.1 成员计划 315

第20章 用户身份验证 315

20.2.1 基本的HTTP身份验证 317

20.2 Web服务器提供的身份验证 317

20.2.2 Microsoft Windows身份验证方案 321

20.3.1 配置数据库来处理登录 322

20.3 实现自己的身份验证 322

20.3.2 添加新的用户 323

20.3.3 登录用户 331

20.3.4 更新需要用户登录的页面 337

20.3.5 注销用户 340

20.3.6 删除用户 342

20.4 小结 343

21.11 地区及其属性 344

21.1 全球化和地区 344

第21章 高级输出和输出缓冲 344

21.1.2 了解用户所在地区 345

21.1.3 设置当前页面的地区(Unix) 346

21.1.4 设置当前页面的地区(Windows) 347

21.2 格式化输出 349

21.1.5 了解当前地区 349

21.2.2 货币值 350

21.2.1 数字的格式化 350

21.2.3 其他格式化函数 353

21.3.1 输出缓冲如何工作 355

21.3 输出缓冲 355

21.3.2 使用输出缓冲 356

21.3.3 编写自己的处理程序 357

21.4 小结 358

22.1.1 正则表达式是什么 359

22.1 使用正则表达式 359

第22章 使用正则表达式进行数据验证 359

22.1.3 测试表达式 360

22.1.2 设置 360

22.1.4 基本搜索 361

22.1.5 字符类 362

22.1.6 边界 363

22.1.8 重复模式 364

22.1.7 点号 364

22.1.10 技巧和陷阱 365

22.1.9 分组和选择 365

22.2.2 匹配电话号码 366

22.2.1 验证用户名 366

22.2 使用正则表达式进行数据验证 366

22.2.4 匹配电子邮件地址 367

22.2.3 匹配邮政编码 367

22.3.1 ereg_replace 368

22.3 其他正则表达式函数 368

22.3.2 split 370

22.4 小结 371

23.1.1 XML是什么 372

23.1 XML 372

第23章 XML和XHTML 372

23.1.3 基本术语 373

23.1.2 为什么使用XML 373

23.1.4 XML文档的结构 374

23.1.5 命名空间 378

23.1.6 验证XML 380

23.1.7 相关技术 381

23.2 在PHP中处理XML 382

23.2.2 使用DOM 383

23.2.1 使用SAX还是DOM 383

23.3 XHTML 392

23.3.2 如何处理XHTML 393

23.3.1 为什么使用XHTML 393

23.4 小结 395

23.3.3 转换为XHTML 395

24.1.1 打开文件 396

24.1 访问文件 396

第24章 文件和目录 396

24.1.3 读取文件 398

24.1.2 关闭文件 398

24.1.4 写入文件 400

24.1.5 文件权限和其他信息 402

24.2.1 路径操作 404

24.2 访问目录 404

24.1.6 删除和重命名文件 404

24.2.2 使用类浏览目录内容 405

24.2.5 创建和删除目录 406

24.2.4 改变当前目录 406

24.2.3 使用函数浏览目录内容 406

24.3 安全性注意事项 407

24.4 小结 408

25.1.2 为上载配置PHP 409

25.1.1 文件上载如何工作 409

第25章 上载文件 409

25.1 上载用户文件 409

25.1.3 客户表单 410

25.1.4 服务器代码 411

25.1.5 限制上载文件的大小 414

25.1.6 处理多个文件 415

25.2.1 设置 416

25.2 上载文件范例 416

25.2.3 创建新的账户 417

25.2.2 新账号表单 417

25.2.4 查看用户数据 420

25.2.5 从数据库获得图像 422

25.3.1 只允许可信用户 423

25.3 安全性注意事项 423

25.4 小结 424

25.3.4 恶意文件名 424

25.3.2 拒绝服务 424

25.3.3 文件验证 424

26.1.2 操作系统 425

26.1.1 PHP 425

第26章 处理日期和时间 425

26.1 日期和时间的来源 425

26.1.4 Web页面和用户 426

26.1.3 数据库服务器 426

26.2.1 PHP中的时间戳 427

26.2 PHP中的日期和时间 427

26.2.2 获得日期和时间 428

26.2.3 验证日期和时间 431

26.2.4 比较日期和时间 432

26.2.5 输出格式化的日期和时间 435

26.2.6 时间戳的问题 437

26.3.2 增加或者减去时间间隔 438

26.3.1 常用数据库服务器中的日期和时间范围 438

26.3 数据库服务器中更多的日期和时间 438

26.3.4 MySQL和时间戳 439

26.3.3 解析数据库中的日期 439

26.4 小结 440

27.1.2 进入XML Web服务 441

27.1.1 建立阶段 441

第27章 XML Web服务和SOAP 441

27.1 XML Web服务 441

27.1.3 查找Web服务 442

27.2.1 SOAP 443

27.2 Web服务如何工作 443

27.2.2 WSDL 444

27.2.3 HTTP 449

27.3.1 选择Web服务 450

27.3 在PHP中使用Web服务 450

27.2.4 XML-RPC 450

27.3.3 处理服务 452

27.3.2 配置PHP 452

27.4.2 更多地了解服务 456

27.4.1 为使用Google API进行设置 456

27.4 范例:处理Google API 456

27.4.3 搜索如何工作 457

27.4.4 搜索关键字 459

27.5 小结 463

28.1.2 PEAR基础类 464

28.1.1 代码库 464

第28章 使用PEAR 464

28.1 PEAR介绍 464

28.2.2 Windows用户 465

28.2.1 Unix用户 465

28.1.3 支持社区 465

28.1.4 PECL 465

28.2 安装和配置 465

28.3.2 列出包 467

28.3.1 获得帮助 467

28.3 基本命令 467

28.3.3 下载和安装包 468

28.3.5 更新现有包 470

28.3.4 获得信息 470

28.3.7 PEAR配置选项 471

28.3.6 卸载包 471

28.4.2 基本使用 472

28.4.1 安装 472

28.4 范例:使用日期类 472

28.4.3 更多范例 473

28.5 小结 474

29.1.1 关于样式的担心 475

29.1 编码标准 475

第29章 开发和部署 475

29.1.2 开发编码标准文档 476

29.1.4 其他注意事项 479

29.1.3 争论 479

29.2.2 它们如何工作 480

29.2.1 我的目的是什么 480

29.2 源代码控制 480

29.2.3 选择源代码控制系统 483

29.2.4 处理源代码控制 484

29.3.1 为什么要费力进行测试 485

29.3 测试 485

29.3.2 单元测试 486

29.3.3 性能和负载测试 489

29.4.2 过程的脚本编写和自动化 491

29.4.1 测试服务器 491

29.3.4 bug控制 491

29.4 部署 491

29.4.3 部署到运营服务器 492

29.5 小结 493

30.1 单实例对象 495

第30章 开发成功Web应用程序的策略 495

第五部分 范例工程和更多概念 495

30.2.1 配置 497

30.2 会话管理 497

30.2.2 安全性 498

30.2.3 将所有东西组合在一起 499

30.3.1 用户错误与应用程序错误 501

30.3 整体的错误处理方式 501

30.3.2 替换默认的处理程序 503

30.3.3 向用户显示错误 506

30.3.4 创建新的异常类 508

30.4 数据库连接管理 509

30.4.1 更好的途径 510

30.4.2 最佳途径 512

30.4.3 改进了的新的字符串转义函数 514

30.5 PHP配置设置 514

30.5.1 总体设置 514

30.5.2 多字节字符串设置 515

30.5.3 错误设置 515

30.5.4 数据库设置 515

30.6 小结 515

第31章 预约管理器 517

31.1 概述 517

31.2 安装和运行范例 518

31.3 结构和页面流程 519

31.3.1 页面结构 519

31.3.2 数据库布局 521

31.3.3 UI策略 522

31.3.4 完整文件清单 524

31.4 查看代码 525

31.4.1 AppointmentManager类 525

31.4.2 处理日期和时间 529

31.4.3 处理表单和页面流程 532

31.4.4 显示星期和月 538

31.5 建议/练习 541

31.5.1 改变天视图和周视图 541

31.5.5 允许重叠预约 542

31.5.4 转换为PEAR Date类 542

31.5.6 构成多用户系统 542

31.6 小结 542

31.5.3 删除或者移动预约 542

31.5.2 星期一到星期日的星期显示 542

第32章 博客引擎 543

32.1 概述 543

32.2 安装和运行范例 544

32.3 结构和页面流程 545

32.3.1 页面布局 545

32.3.2 数据库结构和说明 546

32.3.3 UI策略 548

32.3.4 完整文件清单 549

32.4 查看代码 550

32.4.1 用户界面生成 550

32.4.2 用户管理 553

32.4.3 跟踪登录的用户 559

32.4.4 管理条目和评论 564

32.5 建议/练习 570

32.5.4 用事务进行用户创建 571

32.5.3 分层的评论 571

32.5.5 实现新的strip_tags函数 571

32.5.2 允许匿名评论 571

32.5.1 改进主页上的用户清单 571

32.6 小结 572

第33章 电子商务应用程序 573

33.1 概述 573

33.2 安装和运行范例 574

33.3 结构和页面流程 575

33.3.1 范例的代码结构 575

33.3.2 页面布局 577

33.3.3 数据库结构 577

33.3.4 UI策略 581

33.3.5 完整文件清单 582

33.4 查看代码 584

33.4.1 浏览产品 584

33.4.2 实现购物车 586

33.4.3 结账流程 589

33.4.4 提交订单 598

33.4.5 安全性 604

33.5 付款处理 604

33.6.3 管理页面 605

33.6.2 发送订单处理 605

33.6.4 订单状态/取消订单 605

33.6.1 跳过发货信息 605

33.6 建议/练习 605

33.7 小结 606

附录 607

附录A 安装/配置 607

附录B 等效的数据库功能 624

附录C 推荐的读物 629