PHP和MySQL Web开发(原书第5版)

PHP和MySQL Web开发(原书第5版) pdf epub mobi txt 电子书 下载 2026

出版者:机械工业出版社
作者:Luke Welling
出品人:
页数:644
译者:熊慧珍
出版时间:2018-2-8
价格:129.00元
装帧:平装
isbn号码:9787111587736
丛书系列:
图书标签:
  • PHP
  • 开发
  • Web前端
  • MySQL
  • 计算机
  • 数据库
  • 翻译错误多
  • 排版错版严重
  • PHP
  • MySQL
  • Web开发
  • 编程
  • 数据库
  • 后端开发
  • 网页开发
  • 软件开发
  • 编程语言
  • 服务器
想要找书就要到 小美书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

本书是使用PHP和MySQL构建数据库驱动的Web应用程序的权威指南,十余年畅销不衰。

全书共分五篇,31章。第一篇(第1~7章)涵盖PHP语言的基础知识,包括PHP快速入门、数据存储和读取、数组、字符串操作与正则表达式、代码重用与函数编写、面向对象特性以及错误和异常处理。第二篇(第8~13章)涵盖MySQL的基础知识,包括Web数据库设计、创建和使用,以及使用PHP从Web访问MySQL数据库、MySQL高级管理和高级编程。第三篇(第14~16章)讲解Web应用的安全性,分析了Web应用的安全风险、如何构建安全的Web应用,以及使用PHP实现身份验证的方法。第四篇(第17~24章)讲解PHP的高级编程技术,包括与文件系统和服务器的交互、使用网络和协议函数、管理日期和时间、国际化与本地化、图像生成、使用PHP会话控制、JavaScript与PHP集成,以及PHP的其他有用特性。第五篇(第25~31章)的重点是实战,该篇从在大型项目中使用PHP和MySQL开始,针对当前最新Web应用开发潮流,介绍了几个重要的Web产品实现细节,这些项目包括:用户身份验证和个性化、基于Web的电子邮件客户端、社交媒体集成和购物车。

精通现代 Web 开发:HTML、CSS、JavaScript、PHP 与 MySQL 本书是一本全面的 Web 开发指南,旨在帮助读者掌握构建动态、交互式和数据库驱动的 Web 应用程序所需的核心技术。从基础的网页结构到复杂的后端逻辑,您将逐步学习如何将创意转化为功能完善的在线体验。 掌握前端基础:构建引人注目的用户界面 旅程从 HTML 开始,您将学习如何使用语义化的标签构建清晰、有组织的网页内容。理解元素、属性和文档结构,为您的网页奠定坚实的基础。接着,我们将深入 CSS 的世界,学习如何通过样式表为网页增添视觉魅力。您将掌握选择器、盒子模型、布局技术(如 Flexbox 和 Grid),以及如何创建响应式设计,确保您的网站在各种设备上都能完美呈现。最后,我们将引入 JavaScript,赋予您的网页生命力。您将学习 DOM 操作,实现动态内容更新、用户交互和动画效果。从基础的变量、函数到更高级的事件处理和异步编程,您将能够构建出用户喜爱、响应迅速的客户端体验。 驾驭后端逻辑:PHP 赋能强大功能 在前端打下坚实基础后,本书将引领您进入强大的后端世界,以 PHP 为核心。您将学习 PHP 的基本语法、变量、数据类型、运算符和控制结构,理解如何编写服务器端脚本来处理数据、执行逻辑并生成动态内容。本书将重点介绍如何利用 PHP 与 HTML 紧密结合,实现表单数据处理、用户认证和会话管理。您还将学习如何使用 PHP 构建安全的 Web 应用程序,理解输入验证、防止 SQL 注入等安全最佳实践。我们还将探讨 PHP 的面向对象编程(OOP)特性,帮助您编写更模块化、可维护的代码。 构建数据驱动的 Web 应用:MySQL 数据库管理 任何现代 Web 应用程序都离不开数据的存储和管理。本书将深入 MySQL 数据库,作为您构建数据驱动应用的核心。您将学习 SQL(结构化查询语言)的基本语法,包括创建表、插入、查询、更新和删除数据。我们将探讨关系型数据库的设计原则,如何创建高效的数据库模式,以及如何使用主键、外键和索引来优化数据访问。本书将详细讲解如何使用 PHP 连接到 MySQL 数据库,执行 SQL 查询,并处理查询结果。您将学习如何安全地存储和检索用户数据,实现注册、登录、内容发布等功能。 整合技术:构建完整的 Web 应用 本书的精髓在于将这些技术融会贯通,指导您构建实际的 Web 应用程序。您将学习如何: 构建用户认证系统: 安全地处理用户注册、登录和注销。 实现动态内容管理: 从数据库中读取和显示信息,如博客文章、产品列表或用户信息。 处理用户输入和表单: 验证用户提交的数据,并将其安全地存储到数据库中。 构建基本的 CRUD 操作: 创建、读取、更新和删除数据库中的记录。 使用文件处理: 上传和管理用户文件,如图片或文档。 进行错误处理和调试: 编写健壮的代码,并有效地定位和解决问题。 探索 Web 开发的最佳实践: 了解如何编写更安全、更有效率、更易于维护的代码。 面向的读者: 本书适合任何希望学习如何构建动态 Web 应用程序的个人,无论您是完全的初学者还是已经具备一些编程基础,本书都将为您提供清晰的指导和实用的知识。如果您有志于成为一名 Web 开发者,或者希望为您的项目增加强大的在线功能,本书将是您不可或缺的学习资源。 学习成果: 完成本书的学习后,您将能够独立设计和开发功能完善的 Web 应用程序,能够自信地处理前端的用户交互和后端的数据管理,并为您的项目赋予强大的动态能力。您将掌握构建现代 Web 的核心技能,为您的技术生涯打开新的大门。

作者简介

Luke Welling是OmniTI公司的一名软件工程师,经常出席一些国际会议(例如,OSCON、 ZendCon、MySQLUC、PHPCon、OSDC以及LinuxTag)并就开源和Web开发话题发表演讲。在加入OmniTI公司之前,他曾作为数据库提供商的Web分析师为Hitwise.com公司工作。此外,他还是Tangled Web Design公司的独立顾问,并曾在澳大利亚墨尔本RMIT大学教授计算机科学课程。他拥有应用科学(计算机科学)的学士学位。

Laura Thomson是Mozilla公司的研发总监。之前,她是OmniTI公司和Tangled Web Design公司的董事。此外,Laura曾经在RMIT大学和波士顿咨询公司工作过。她拥有应用科学(计算机科学)学士学位和工程学(计算机系统工程)学士学位。

目录信息

目  录 Contents
本书赞誉
译者序
前言
作者简介
第一篇 使用PHP
第1章 PHP快速入门教程2
1.1 开始之前:了解PHP3
1.2 创建示例Web应用:Bob汽车零部件商店3
1.2.1 创建订单表单3
1.2.2 表单处理 5
1.3 在HTML中嵌入PHP5
1.3.1 PHP标记6
1.3.2 PHP语句7
1.3.3 空格7
1.3.4 注释 8
1.4 添加动态内容8
1.4.1 调用函数9
1.4.2 使用date()函数 9
1.5 访问表单变量10
1.5.1 表单变量 10
1.5.2 字符串连接12
1.5.3 变量和字面量12
1.6 理解标识符 13
1.7 检查变量类型 14
1.7.1 PHP的数据类型 14
1.7.2 类型强度 14
1.7.3 类型转换 15
1.7.4 可变变量 15
1.8 声明和使用常量 16
1.9 理解变量作用域 16
1.10 使用操作符 17
1.10.1 算术操作符 18
1.10.2 字符串操作符18
1.10.3 赋值操作符 19
1.10.4 比较操作符 21
1.10.5 逻辑操作符 22
1.10.6 位操作符 22
1.10.7 其他操作符 23
1.11 计算表单总金额 25
1.12 理解操作符优先级和结合性 26
1.13 使用变量处理函数27
1.13.1 测试和设置变量类型 27
1.13.2 测试变量状态 28
1.13.3 变量的重解释 29
1.14 根据条件进行决策 29
1.14.1 if语句 29
1.14.2 代码块 30
1.14.3 else语句 30
1.14.4 elseif语句 31
1.14.5 switch语句 32
1.14.6 比较不同条件 33
1.15 通过迭代实现重复动作 34
1.15.1 while循环 35
1.15.2 for循环和foreach循环 36
1.15.3 do...while循环 37
1.16 从控制结构或脚本中跳出 38
1.17 使用其他控制结构语法 38
1.18 使用declare 39
1.19 下一章 39
第2章 数据存储和读取40
2.1 保存数据以便后期使用 40
2.2 存储和获取Bob的订单 41
2.3 文件处理 41
2.4 打开文件 42
2.4.1 选择文件模式 42
2.4.2 使用fopen()打开文件 42
2.4.3 通过FTP或HTTP打开文件 44
2.4.4 解决打开文件时可能遇到的问题 45
2.5 写文件 47
2.5.1 fwrite()的参数 47
2.5.2 文件格式 47
2.6 关闭文件 48
2.7 读文件 50
2.7.1 以只读模式打开文件:fopen()51
2.7.2 知道何时读完文件:feof()51
2.7.3 每次读取一行数据:fgets()、fgetss()和fgetcsv() 52
2.7.4 读取整个文件:readfile()、fpassthru()、file()以及file_get_contents()53
2.7.5 读取一个字符:fgetc() 53
2.7.6 读取任意长度:fread()54
2.8 使用其他文件函数 54
2.8.1 查看文件是否存在:file_exists() 54
2.8.2 确定文件大小:filesize() 55
2.8.3 删除一个文件:unlink()55
2.8.4 在文件中定位:rewind()、fseek()和ftell() 55
2.9 文件锁定 56
2.10 更好的方式:数据库管理系统 57
2.10.1 使用普通文件的几个问题 58
2.10.2 RDBMS是如何解决这些问题的 58
2.11 进一步学习 59
2.12 下一章 59
第3章 使用数组60
3.1 什么是数组 60
3.2 数字索引数组 61
3.2.1 数字索引数组的初始化 61
3.2.2 访问数组内容 62
3.2.3 使用循环访问数组 63
3.3 使用不同索引的数组 64
3.3.1 初始化数组 64
3.3.2 访问数组元素 64
3.3.3 使用循环语句 64
3.4 数组操作符 66
3.5 多维数组 66
3.6 数组排序 69
3.6.1 使用sort()函数 69
3.6.2 使用asort()函数和ksort()函数对数组排序 70
3.6.3 反向排序 70
3.7 多维数组排序 70
3.7.1 使用array_multisort()函数71
3.7.2 用户定义排序 71
3.7.3 自定义排序函数的反序 73
3.8 对数组进行重新排序 73
3.8.1 使用shuffle()函数 73
3.8.2 逆序数组内容75
3.9 从文件载入数组 75
3.10 执行其他数组操作 79
3.10.1 在数组中浏览:each()、current()、reset()、end()、next()、pos()和prev()79
3.10.2 对数组每一个元素应用函数:array_walk() 80
3.10.3 统计数组元素个数:count()、sizeof()和array_count_values() 81
3.10.4 将数组转换成标量变量:extract() 81
3.11 进一步学习 83
3.12 下一章 83
第4章 字符串操作与正则表达式84
4.1 创建一个示例应用:智能表单邮件 84
4.2 字符串的格式化86
4.2.1 字符串截断:chop()、ltrim()和trim() 87
4.2.2 格式化字符串以便输出 87
4.3 使用字符串函数连接和分割字符串93
4.3.1 使用函数explode()、implode()和join() 93
4.3.2 使用strtok()函数 94
4.3.3 使用substr()函数 95
4.4 字符串比较 96
4.4.1 字符串的排序:strcmp()、strcasecmp()和strnatcmp() 96
4.4.2 使用strlen()函数判断字符串长度 96
4.5 使用字符串函数匹配和替换子字符串 97
4.5.1 在字符串中查找字符串:strstr()、strchr()、strrchr()和stristr() 97
4.5.2 查找子字符串的位置:strpos()和strrpos() 98
4.5.3 替换子字符串:str_replace()和substr_replace() 99
4.6 正则表达式的介绍 100
4.6.1 基础知识 100
4.6.2 分隔符101
4.6.3 字符类和类型 101
4.6.4 重复 102
4.6.5 子表达式 102
4.6.6 子表达式计数 103
4.6.7 定位到字符串的开始或末尾 103
4.6.8 分支103
4.6.9 匹配特殊字符 103
4.6.10 元字符一览 104
4.6.11 转义序列104
4.6.12 回溯引用105
4.6.13 断言105
4.6.14 在智能表单中应用 106
4.7 用正则表达式查找子字符串 107
4.8 用正则表达式替换子字符串 107
4.9 使用正则表达式分割字符串 108
4.10 进一步学习 109
4.11 下一章 109
第5章 代码重用与函数编写110
5.1 代码重用的好处 110
5.1.1 成本111
5.1.2 可靠性 111
5.1.3 一致性 111
5.2 使用require()和include()函数 111
5.2.1 使用require()函数引入代码112
5.2.2 使用require()制作Web站点模板113
5.2.3 使用auto_prepend_file和 auto_append_file 118
5.3 使用PHP函数 119
5.3.1 调用函数 119
5.3.2 调用未定义函数 120
5.3.3 理解大小写和函数名称121
5.4 自定义函数121
5.5 了解函数基本结构 122
5.6 参数使用 123
5.7 理解作用域126
5.8 引用传递和值传递128
5.9 使用return关键字 129
5.10 递归实现 131
5.11 进一步学习 134
5.12 下一章 134
第6章 面向对象特性135
6.1 理解面向对象概念 135
6.1.1 类和对象 136
6.1.2 多态性 137
6.1.3 继承 137
6.2 在PHP中创建类、属性和操作 138
6.2.1 类结构 138
6.2.2 构造函数 138
6.2.3 析构函数139
6.3 类的实例化139
6.4 使用类属性 140
6.5 调用类操作141
6.6 使用private和public关键字控制访问 141
6.7 编写访问器函数142
6.8 在PHP中实现继承 143
6.8.1 通过继承使用private和protected控制可见性 144
6.8.2 覆盖145
6.8.3 使用final关键字禁止继承和覆盖 147
6.8.4 理解多重继承 147
6.8.5 实现接口 148
6.9 使用Trait149
6.10 类设计 151
6.11 编写自定义类代码 151
6.12 理解PHP面向对象高级功能 158
6.12.1 使用类级别常量 159
6.12.2 实现静态方法 159
6.12.3 检查类类型和类型提示 159
6.12.4 延迟静态绑定160
6.12.5 对象克隆 161
6.12.6 使用抽象类 161
6.12.7 使用__call()重载方法 162
6.12.8 使用__autoload()方法 163
6.12.9 实现迭代器和迭代 163
6.12.10 生成器165
6.12.11 将类转换成字符串 166
6.12.12 使用反射API 166
6.12.13 名称空间168
6.12.14 使用子名称空间169
6.12.15 理解全局名称空间169
6.12.16 名称空间的导入和别名170
6.13 下一章 170
第7章 错误和异常处理 171
7.1 异常处理的概念 171
7.2 Exception类173
7.3 用户自定义异常 174
7.4 Bob汽车零部件商店应用的异常 176
7.5 异常和PHP的其他错误处理机制 179
7.6 进一步学习 180
7.7 下一章 180
第二篇 使用MySQL
第8章 Web数据库设计182
8.1 关系型数据库的概念 183
8.1.1 表183
8.1.2 列183
8.1.3 行183
8.1.4 值184
8.1.5 键184
8.1.6 模式185
8.1.7 关系185
8.2 设计Web数据库185
8.2.1 考虑真实建模对象186
8.2.2 避免保存冗余数据187
8.2.3 使用原子列值188
8.2.4 选择有意义的键188
8.2.5 思考需要从数据库获得的数据189
8.2.6 避免多个空属性的设计189
8.2.7 表类型总结190
8.3 Web数据库架构190
8.4 进一步学习191
8.5 下一章191
第9章 Web数据库创建192
9.1 使用MySQL监视程序193
9.2 登录MySQL194
9.3 创建数据库和用户195
9.4 设置用户与权限195
9.5 MySQL权限系统介绍196
9.5.1 最少权限原则196
9.5.2 创建用户和设置权限:CREATEUSER和GRANT命令196
9.5.3 权限的类型和级别198
9.5.4 REVOKE命令200
9.5.5 使用GRANT和REVOKE示例200
9.6 设置Web用户201
9.7 使用正确的数据库202
9.8 创建数据库表202
9.8.1 理解其他关键字204
9.8.2 理解列类型205
9.8.3 使用SHOW和DESCRIBE来查看数据库207
9.8.4 创建索引207
9.9 理解MySQL标识符208
9.10 选择列数据类型209
9.10.1 数字类型210
9.10.2 日期和时间类型211
9.10.3 字符串类型212
9.11 进一步学习213
9.12 下一章213
第10章 使用MySQL数据库214
10.1 什么是SQL214
10.2 在数据库中插入数据215
10.3 从数据库读取数据217
10.3.1 读取满足特定条件的数据218
10.3.2 多表数据读取220
10.3.3 以特定顺序读取数据224
10.3.4 数据分组和聚合225
10.3.5 选择要返回的数据行227
10.3.6 使用子查询227
10.4 更新数据库记录229
10.5 创建后修改表230
10.6 删除数据库记录232
10.7 删除表233
10.8 删除数据库233
10.9 进一步学习233
10.10 下一章233
第11章 使用PHP从Web访问MySQL数据库234
11.1 Web数据库架构及工作原理234
11.2 从Web查询数据库238
11.2.1 检查并过滤输入数据238
11.2.2 设置连接239
11.2.3 选择要使用的数据库240
11.2.4 查询数据库240
11.2.5 使用prepared statement241
11.2.6 读取查询结果242
11.2.7 断开数据库连接243
11.3 向数据库写入数据243
11.4 使用其他PHP与数据库交互接口247
11.5 进一步学习250
11.6 下一章250
第12章 MySQL高级管理251
12.1 深入理解权限系统251
12.1.1 user表253
12.1.2 db表254
12.1.3 tables_priv、columns_priv、procs_priv以及proxies_priv表254
12.1.4 访问控制:MySQL如何使用Grant表256
12.1.5 更新权限:更新结果何时生效256
12.2 提升MySQL数据库安全257
12.2.1 从操作系统视角看MySQL257
12.2.2 密码257
12.2.3 用户权限258
12.2.4 Web问题258
12.3 获取数据库的更多信息259
12.3.1 使用SHOW获取信息259
12.3.2 使用DESCRIBE获取列信息261
12.3.3 使用EXPLAIN了解查询的执行过程261
12.4 优化数据库265
12.4.1 设计优化265
12.4.2 权限265
12.4.3 表优化265
12.4.4 使用索引266
12.4.5 使用默认值266
12.4.6 其他技巧266
12.5 MySQL数据库备份266
12.6 MySQL数据库恢复267
12.7 实现复制267
12.7.1 设置主服务器268
12.7.2 执行初始数据传输268
12.7.3 设置从服务器269
12.8 进一步学习269
12.9 下一章269
第13章 MySQL高级编程270
13.1 LOAD DATA INFILE语句270
13.2 存储引擎271
13.3 事务272
13.3.1 理解事务定义272
13.3.2 使用InnoDB 事务272
13.4 外键273
13.5 存储过程274
13.5.1 基础示例274
13.5.2 本地变量277
13.5.3 游标和控制结构278
13.6 触发器281
13.7 进一步学习283
13.8 下一章283
第三篇 Web应用安全性
第14章 Web应用安全风险286
14.1 识别面临的安全威胁286
14.1.1 访问敏感数据286
14.1.2 数据篡改288
14.1.3 数据丢失或破坏289
14.1.4 拒绝服务289
14.1.5 恶意代码注入291
14.1.6 被攻破服务器291
14.1.7 否认292
14.2 了解对手292
14.2.1 攻击者和破解者292
14.2.2 受影响机器的无意识用户293
14.2.3 不满的员工293
14.2.4 硬件窃贼293
14.2.5 我们自己293
14.3 下一章293
第15章 构建安全的Web应用294
15.1 安全策略294
15.1.1 从正确心态开始295
15.1.2 安全性和可用性之间的平衡295
15.1.3 安全监控295
15.1.4 基本方法296
15.2 代码安全296
15.2.1 过滤用户输入296
15.2.2 转义输出300
15.2.3 代码组织结构302
15.2.4 代码自身问题303
15.2.5 文件系统因素303
15.2.6 代码稳定性和缺陷304
15.2.7 执行命令305
15.3 Web服务器和PHP的安全306
15.3.1 保持软件更新306
15.3.2 查看php.ini文件307
15.3.3 Web服务器配置307
15.3.4 Web应用共享主机托管服务308
15.4 数据库服务器的安全308
15.4.1 用户和权限系统308
15.4.2 发送数据至服务器309
15.4.3 连接服务器309
15.4.4 运行服务器310
15.5 保护网络310
15.5.1 防火墙310
15.5.2 使用隔离区311
15.5.3 应对DoS和DDoS攻击311
15.6 计算机和操作系统的安全312
15.6.1 保持操作系统更新312
15.6.2 只运行必需的软件312
15.6.3 服务器的物理安全312
15.7 灾难计划313
15.8 下一章313
第16章 使用PHP实现身份验证方法314
16.1 识别访问者314
16.2 实现访问控制315
16.2.1 保存密码317
16.2.2 加密密码318
16.2.3 保护多页面319
16.3 使用基本认证320
16.4 在PHP中使用基本认证320
16.5 使用Apache的.htaccess基本认证321
16.6 创建自定义认证324
16.7 进一步学习325
16.8 下一章325
第四篇 PHP高级编程技术
第17章 与文件系统和服务器交互328
17.1 上传文件328
17.1.1 文件上传的HTML329
17.1.2 编写处理文件的PHP脚本330
17.1.3 会话上传进度334
17.1.4 避免常见上传问题335
17.2 使用目录函数336
17.2.1 从目录读入336
17.2.2 获取当前目录信息340
17.2.3 创建和删除目录340
17.3 与文件系统交互341
17.3.1 获取文件信息341
17.3.2 修改文件属性343
17.3.3 创建、删除和移动文件344
17.4 使用程序执行函数344
17.5 与环境交互:getenv()和putenv()347
17.6 进一步学习347
17.7 下一章347
第18章 使用网络和协议函数348
18.1 了解可用协议348
18.2 发送和读取邮件349
18.3 使用其他站点数据349
18.4 使用网络查询函数352
18.5 备份或镜像文件355
18.5.1 使用FTP备份或镜像文件356
18.5.2 上传文件362
18.5.3 避免超时362
18.5.4 使用其他FTP函数362
18.6 进一步学习363
18.7 下一章363
第19章 管理日期和时间364
19.1 在PHP中获得日期和时间364
19.1.1 理解时区364
19.1.2 使用date()函数365
19.1.3 处理UNIX时间戳366
19.1.4 使用getdate()函数368
19.1.5 使用checkdate()函数验证日期369
19.1.6 格式化时间戳369
19.2 PHP和MySQL的日期格式互转371
19.3 在PHP中计算日期372
19.4 在MySQL中计算日期373
19.5 使用微秒374
19.6 使用日历函数375
19.7 进一步学习375
19.8 下一章376
第20章 国际化与本地化377
20.1 本地化不只是翻译377
20.2 理解字符集378
20.2.1 字符集的安全风险379
20.2.2 使用PHP多字节字符串函数379
20.3 创建可本地化页面基础结构380
20.4 在国际化应用中使用gettext()函数383
20.4.1 配置系统使用gettext()383
20.4.2 创建翻译文件384
20.4.3 使用gettext()在PHP中实现本地化内容385
20.5 进一步学习386
20.6 下一章386
第21章 生成图像387
21.1 设置PHP图像支持387
21.2 理解图像格式388
21.2.1 JPEG388
21.2.2 PNG388
21.2.3 GIF389
21.3 创建图像389
21.3.1 创建画布图像390
21.3.2 在图像上绘制或打印文本390
21.3.3 最终图形输出392
21.3.4 清理393
21.4 在其他页面中使用自动创建的图像393
21.5 使用文本和字体创建图像394
21.5.1 设置基础画布397
21.5.2 调整按钮文本大小398
21.5.3 文本定位400
21.5.4 在按钮上写入文本401
21.5.5 完成401
21.6 绘制图形图像数据401
21.7 使用其他图像函数409
21.8 下一章409
第22章 使用PHP会话控制410
22.1 什么是会话控制410
22.2 理解基本会话功能410
22.2.1 什么是cookie411
22.2.2 通过PHP设置cookie411
22.2.3 在会话中使用cookie412
22.2.4 保存会话ID412
22.3 实现简单会话412
22.3.1 启动会话413
22.3.2 注册会话变量413
22.3.3 使用会话变量413
22.3.4 销毁变量和会话414
22.4 创建简单会话示例414
22.5 配置会话控制416
22.6 使用会话控制实现身份验证417
22.7 下一章423
第23章 JavaScript与PHP集成424
23.1理解AJAX424
23.2 jQuery概述425
23.3 在Web应用中使用jQuery425
23.4 在PHP中使用jQuery和AJAX434
23.4.1 支持AJAX的聊天脚本/服务器434
23.4.2 jQuery AJAX方法437
23.4.3 聊天客户端/jQuery应用439
23.5 进一步学习445
23.6 下一章445
第24章 PHP的其他有用特性446
24.1 字符串计算函数:eval()446
24.2 终止执行:die()和exit()447
24.3 序列化变量和对象448
24.4 获取PHP环境信息448
24.4.1 找到已载入的扩展449
24.4.2 识别脚本属主450
24.4.3 获知脚本被修改时间450
24.5 临时修改运行时环境450
24.6 高亮源代码451
24.7 在命令行上使用PHP452
24.8 下一章453
第五篇 构建实用的PHP和MySQL项目
第25章 在大型项目中使用PHP和MySQL456
25.1 在Web开发中应用软件工程技术457
25.2 规划和运营Web应用项目457
25.3 代码重用458
25.4 编写可维护代码458
25.4.1 代码标准459
25.4.2 代码分解461
25.4.3 使用标准目录结构462
25.4.4 文档化和共享内部函数462
25.5 实现版本控制462
25.6 选择开发环境463
25.7 项目文档化463
25.8 原型定义464
25.9 隔离逻辑和内容464
25.10 代码优化465
25.11 测试466
25.12 进一步学习466
25.13 下一章467
第26章 调试和日志468
26.1 编程错误468
26.1.1 语法错误468
26.1.2 运行时错误469
26.1.3 逻辑错误474
26.2 变量调试辅助475
26.3 错误报告级别477
26.4 修改错误报告设置478
26.5 触发自定义错误479
26.6 错误日志记录480
26.7 错误日志文件482
26.8 下一章483
第27章 构建用户身份验证和个性化484
27.1 解决方案组件484
27.1.1 用户识别和个性化485
27.1.2 保存书签485
27.1.3 推荐书签485
27.2 解决方案概述486
27.3 实现数据库487
27.4 实现基本网站488
27.5 实现用户身份验证491
27.5.1 用户注册491
27.5.2 登录496
27.5.3 退出500
27.5.4 修改密码501
27.5.5 重设密码502
27.6 实现书签存储和读取507
27.6.1 添加书签507
27.6.2 显示书签509
27.6.3 删除书签510
27.7 实现书签推荐513
27.8 考虑可能的扩展516
第28章 使用Laravel构建基于Web的电子邮件客户端(第一部分)517
28.1 Laravel 5介绍517
28.1.1 创建Laravel新项目517
28.1.2 Laravel应用结构518
28.1.3 Laravel请求周期与MVC模式519
28.1.4 理解Laravel模型、视图和控制器类520
第29章 使用Laravel构建基于Web的电子邮件客户端(第二部分) 536
29.1 使用Laravel构建简单的IMAP客户端536
29.1.1 PHP IMAP函数536
29.1.2 为Laravel应用封装IMAP544
29.2 创建基于Web的电子邮件客户端561
29.2.1 实现ImapServiceProvider562
29.2.2 Web客户端认证页面563
29.2.3 实现主视图567
29.2.4 实现删除和发送邮件576
29.3 小结581
第30章 社交媒体集成分享以及验证582
30.1 OAuth:Web服务认证582
30.1.1 认证码授权583
30.1.2 隐式授权584
30.1.3 创建Instagram Web客户端585
30.1.4 Instagram的点赞照片功能593
30.2 小结594
第31章 构建购物车595
31.1 解决方案组件595
31.1.1 构建在线类目596
31.1.2 记录用户希望购买的商品596
31.1.3 实现支付系统596
31.1.4 构建管理界面597
31.2 解决方案概述597
31.3 实现数据库599
31.4 实现在线类目601
31.4.1 类目列表603
31.4.2 类目图书清单605
31.4.3 显示图书详情607
31.5 实现购物车608
31.5.1 使用show_cart.php脚本609
31.5.2 查看购物车612
31.5.3 向购物车中添加商品614
31.5.4 保存更新的购物车615
31.5.5 打印标题栏总结信息616
31.5.6 结账617
31.6 实现支付622
31.7 实现管理界面624
31.8 扩展项目631
附录A 安装Apache、PHP和MySQL632
· · · · · · (收起)

读后感

评分

几乎没有讲清楚过一个重点。 当当居然销售排行第一。 这绝对是一本看着看着就想打瞌睡,想点一把火烧了它的冲动的一种类型的书。 绝对不值得购买! 700多页的书,绝大部分都是无关紧要的废话,完全可以浓缩成一半,翻译的也是很别扭。  

评分

评分

中文翻译错误百出,印刷质量奇烂,油墨竟然会褪色,我怒了%※……%%¥!◎(× 出版社还动用攻击将这篇评论的“没用”数刷成 16777215,太缺德了 http://book.douban.com/review/1076978/ 我说的是09版  

评分

里面的内容规规矩矩,有板有眼,没有那种大气,也没有很深入的讲解,好像一本规矩的教科书,所以一开始我非常不了解他为什么被称作“圣经”。 这本书我读了至少3遍,从大二初,一直到大三上学期,期间我在做开发的时候都还想着拿它做参考,对于初学者,这本书确实是一本非常好...  

评分

本书给出了php的快速入门教程,并且全面地介绍了使用mysql来开发应用程序。它还给出了一些完整的且相当实用的示例程序,对于那些希望投身于实战项目的人来说,是一本相当不错的参考用书。  

用户评价

评分

这本书的排版和字体选择,也给我留下了深刻的印象。清晰的布局,合理的行间距,以及易于阅读的字体,都让我在阅读过程中倍感舒适。我曾经尝试过一些其他技术书籍,它们的排版过于拥挤,或者字体选择不当,导致阅读体验很差,很容易产生疲劳感。而这本书则完全避免了这些问题。而且,书中对于代码的展示也做得非常出色,代码块的背景色区分,关键词的加亮,以及行号的标注,都使得阅读和理解代码变得更加容易。我特别喜欢书中的一些图示和流程图,它们能够清晰地展现复杂的逻辑关系,帮助我更好地理解抽象的概念。例如,在讲解数据库索引时,书中提供的图示就比纯文字的描述更加直观。作者的专业知识毋庸置疑,他在讲解过程中展现出的深度和广度,让我受益匪浅。他不仅仅局限于PHP和MySQL本身,还会触及到一些与之相关的技术,比如HTML、CSS和JavaScript,并且会适当地介绍它们在Web开发中的作用,这使得我对整个Web开发生态有了更全面的认识。

评分

这本书的深度和广度,是我在选择学习材料时非常看重的一点。它不仅仅停留在基础的CRUD(增删改查)操作,而是深入探讨了数据库设计、性能优化、安全防护等多个方面。我曾经在学习书中关于数据库索引的章节时,对索引的原理有了前所未有的理解,这对于我日后编写高效的SQL查询非常有帮助。而且,书中还触及了更高级的主题,比如RESTful API的设计和实现,这对于构建现代化的Web应用至关重要。作者在讲解这些复杂概念时,依然保持着清晰的逻辑和详实的解释,让我能够一步步地跟上他的思路。他并没有将一些晦涩难懂的技术包装成“黑箱”,而是鼓励读者去理解其背后的原理。这种“授人以渔”的教学理念,是这本书最吸引我的地方。而且,作者在书中还提供了一些关于项目管理的建议,比如如何进行版本控制,以及如何进行代码部署,这些内容对于任何一个想要将所学知识应用于实际项目的人来说,都非常有价值。

评分

这本书在讲解PHP语言特性时,也展现了其与时俱进的一面。它不仅仅停留在PHP 5的时代,而是积极地介绍了PHP 7及之后版本的一些重要更新和改进,比如更快的执行速度、更好的类型提示等等。这对于我们这些想要掌握最新技术的人来说,是非常重要的。而且,书中对于PHP的面向对象编程(OOP)的讲解,也相当深入。它不仅仅是介绍了类、对象、继承、多态这些基本概念,还详细讲解了接口、抽象类、命名空间等高级特性,并且提供了丰富的实践案例,让我们能够理解如何在实际项目中运用OOP来构建更优雅、更可维护的代码。我曾经尝试过将书中介绍的OOP概念应用到我的一个个人项目中,结果发现代码的可读性和可维护性都有了显著的提升。作者在讲解OOP时,也穿插了一些关于设计模式的介绍,比如单例模式、工厂模式等,这些内容对于提高代码质量非常有帮助。

评分

我在阅读这本书的过程中,感受最深的一点是作者的严谨和耐心。他对于每一个技术细节都进行了细致的考量,并且会反复强调一些关键的概念,直到读者完全理解为止。例如,在讲解Session和Cookie的区别与联系时,他用了好几种不同的方式进行解释,并且在不同的章节中也会适当地回顾和强调,确保读者能够彻底掌握。这种耐心和细致,对于初学者来说是极其宝贵的。而且,书中的示例代码也经过了精心设计和反复测试,保证了其正确性和可用性。我曾经尝试过一些其他的技术书籍,它们提供的代码示例存在各种各样的问题,要么无法运行,要么逻辑混乱,让人难以理解。而这本书则完全避免了这些问题,我能够放心地按照书中的代码进行实践,并且能够得到预期的结果。作者的写作风格也非常平易近人,他用一种鼓励和引导的方式来教授知识,让我感到自己并不是一个人在战斗,而是在一个支持性的学习环境中。

评分

这本书最让我惊喜的是,它在讲解过程中,并没有回避一些“坑”和“陷阱”。作者会主动地指出一些常见的错误做法,并解释为什么它们是错误的,以及应该如何避免。例如,在讲解SQL注入防护时,他详细解释了如何使用预处理语句,并强调了其重要性。这种“预警式”的教学方式,让我避免了很多不必要的弯路。而且,书中还提供了一些关于性能优化的建议,这些建议对于提高Web应用的响应速度非常有帮助。我曾经跟着书中的指导,对我的一个小型Web项目进行了优化,将其页面加载时间缩短了近一半。这种实实在在的提升,让我对这本书的价值有了更深刻的认识。作者在语言表达上也相当专业,他用词精准,逻辑清晰,使得每一个技术点都能被准确地传达。他并没有使用过于口语化的表达,而是保持了一种严谨的学术风格,这让我感觉自己是在学习一门真正的学科,而不是在浏览一篇随笔。

评分

这本书的封面设计,一种朴素而又不失专业的感觉扑面而来。我第一眼看到它,就被封面上那清晰的字体和那种沉甸甸的质感所吸引。翻开书页,纸张的触感也很好,不是那种廉价的、容易泛黄的纸。我最开始是抱着学习PHP和MySQL基础的心态来买这本书的,毕竟作为一名初学者,我需要一个稳固的入门指引。然而,当我深入阅读后,我发现它远不止于此。作者在讲解基础概念时,并没有像某些教材那样枯燥乏味,而是通过大量的实例,将抽象的编程概念具象化。比如,在讲解如何连接数据库时,他不仅提供了代码示例,还详细解释了每行代码的作用,以及在实际开发中可能遇到的各种情况。这种严谨而不失活泼的讲解方式,让我对原本有些畏惧的数据库操作产生了浓厚的兴趣。我特别喜欢书中关于SQL语句的讲解,它不仅仅是罗列语法,更是从实际应用的角度出发,教你如何写出高效、易读的SQL查询。比如,在优化查询性能方面,书中给出了一些非常实用的技巧,这些技巧对于任何一个想要在Web开发领域有所建树的人来说,都至关重要。而且,这本书的语言组织也非常流畅,即使是对于没有太多编程背景的读者,也能比较容易地理解。它没有使用太多晦涩难懂的专业术语,而是尽可能地用通俗易懂的语言来解释复杂的概念。这种人文关怀式的写作风格,让我感觉自己不是在独自面对枯燥的代码,而是在与一位经验丰富的导师对话。

评分

我之所以推荐这本书,很大程度上是因为它的实用性和全面性。它不仅仅是一本技术手册,更像是一个循序渐进的指南,能够带领初学者逐步掌握PHP和MySQL Web开发的全貌。我尤其欣赏作者在讲解一些相对复杂的概念时,所采用的比喻和类比。比如,在讲解session和cookie时,他用“身份识别卡”和“小纸条”来比喻,生动形象地帮助我理解了它们在Web开发中的作用。这种通俗易懂的讲解方式,使得学习过程更加轻松愉快。而且,这本书并没有停留在理论层面,而是提供了大量的实操练习和项目案例,让我们能够亲手去实现和验证所学知识。我曾经跟着书中的步骤,成功地搭建了一个简单的博客系统,从用户注册、登录,到文章的发布、评论,整个过程都非常顺畅。通过这个项目,我不仅掌握了PHP和MySQL的基本操作,还对MVC(Model-View-Controller)架构模式有了初步的认识。书中还穿插了一些关于用户体验和界面设计的建议,虽然不是本书的重点,但这些内容却能帮助我们写出更人性化的Web应用。

评分

最后,我想说的是,这本书的内容非常扎实,讲解也非常透彻。它并没有为了追求“快餐式”的学习而牺牲内容的深度。相反,作者愿意花时间去解释每一个概念背后的原理,并且鼓励读者去深入思考。我特别喜欢书中关于数据库优化的章节,它不仅仅是罗列了一些SQL技巧,而是深入讲解了索引、查询计划、缓存等概念,并且提供了具体的实践指导。通过学习这些内容,我对如何编写高效的SQL查询有了全新的认识,也学会了如何从数据库层面来提升Web应用的性能。而且,这本书的写作风格也非常注重细节,作者在讲解每一个功能实现时,都会考虑各种可能的异常情况,并且给出相应的处理方案。这种周全的考虑,让我学到了很多在其他书籍中难以接触到的宝贵经验。这本书不仅仅是一本技术书籍,更是一本能够帮助我提升编程思维和解决问题能力的优秀读物。

评分

这本书的案例实践部分,是我认为最能体现其价值的地方。作者提供的每一个示例,都不仅仅是为了展示某个技术点,而是构建了一个完整的功能模块,让我们能够看到PHP和MySQL是如何协同工作的。我印象最深刻的是关于用户登录和权限管理的章节,它详细演示了如何设计数据库表结构,如何进行用户认证,以及如何根据用户的角色来控制访问权限。这个过程让我对Web应用的后端架构有了更深入的理解。在学习过程中,我经常会尝试去修改和扩展这些示例代码,加入一些我自己的想法,比如为用户添加更详细的个人资料,或者实现一个简单的文章发布系统。通过这样的实践,我不仅巩固了书中的知识,还学到了很多书本上没有直接提及的细节。而且,这本书的更新也非常及时,它涵盖了PHP 7和MySQL 5.7等较新版本的一些特性,这对于保持技能的不过时非常重要。在学习过程中,我遇到过一些与我正在使用的PHP版本不兼容的问题,但由于这本书的全面性,我能够相对容易地找到替代的解决方案。书中的代码风格也很规范,这对于培养良好的编程习惯非常有帮助。作者在代码注释方面也做得非常到位,清晰地解释了每一段代码的意图,让我能够更好地理解代码的逻辑。

评分

这本书的章节安排,在我看来是相当合理的。它循序渐进,从最基础的PHP语法,到更复杂的面向对象编程,再到与MySQL数据库的深度整合,整个学习路径清晰明了。我尤其赞赏作者在讲解每一个新概念时,都能够巧妙地将其与前一章的内容联系起来,使得整个知识体系能够融会贯通,而不是零散的碎片。例如,在介绍表单处理时,它不是简单地告诉我们如何获取用户输入,而是将其与数据库的插入和更新操作紧密结合,让我们理解了数据在Web应用中的生命周期。此外,书中对于错误处理和调试的讲解,也给了我很大的启发。在实际开发中,我们难免会遇到各种各样的问题,而这本书提供了多种有效的调试方法,帮助我们快速定位和解决问题。它不仅仅是教你如何写出“能跑”的代码,更是教你如何写出“健壮”的代码。我曾经在尝试实现一个用户注册功能时遇到了一个棘手的bug,通过书中关于断点调试和错误日志分析的指导,我最终成功地找到了问题所在,并修复了它。这种解决问题的能力,远比死记硬背代码更加宝贵。而且,书中还穿插了一些关于Web安全方面的知识,比如如何防止SQL注入和跨站脚本攻击,这些都是在实际项目中非常重要的考量因素。作者并没有把这些内容作为独立的章节来讲解,而是巧妙地融入到各个功能实现的讲解中,让我们在学习实现功能的同时,也潜移默化地掌握了安全意识。

评分

英文版语言非常啰嗦,中文版错误很多

评分

中文翻译各种错误,错版严重,内容整段缺失,不建议购买这版翻译本!

评分

书是好书,信息量大,逻辑清晰。两个问题:1.语句很拗口,读起来比较吃力,还有一些很低级的翻译错误,翻译水平有待提高。2.不是纯粹的入门书,如果一点编程基础没有的话可能看起来有些困难。

评分

已看四百多页,mysql 讲的很辣鸡,建议另找资料学,php 基础还不错,不繁琐,直接讲重点,但库函数讲的太少了,甚至示例代码中冷不丁冒出来个库函数,也不解释,很多时候把人看得人很迷,还有很重要的一点是居然不讲环境搭建,害我花了近一礼拜时间才自己折腾好,总之觉得没豆瓣上说的这么好,适合小白快速自学语法,不适合有几门语言功底的老手学,三星最高了

评分

书是好书,信息量大,逻辑清晰。两个问题:1.语句很拗口,读起来比较吃力,还有一些很低级的翻译错误,翻译水平有待提高。2.不是纯粹的入门书,如果一点编程基础没有的话可能看起来有些困难。

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 book.quotespace.org All Rights Reserved. 小美书屋 版权所有