php实用教程第二版电子书(PHP与MySQL动态网站开发)

一、书籍简介

php实用教程第二版电子书(PHP与MySQL动态网站开发)(1)

PHP与MySQL动态网站开发

作者: Luke Welling / Laura Thomson出版社: 机械工业出版社原作名: PHP and MySQL Web Development, Fourth Edition译者: 武欣出版年: 2009页数: 714装帧: 16开丛书: 开发人员专业技术丛书

二、获取方式

转发本文,私信发送:0111,获取下载地址;

三、书籍

读者反馈译者序前言作者简介第一篇 使用PHP第1章 PHP快速入门教程1.1 开始之前:了解PHP1.2 创建一个示例应用:Bob汽车零部件商店1.2.1 创建订单表单1.2.2 表单处理1.3 在HTML中嵌入PHP1.3.1 使用PHP标记1.3.2 PHP语句1.3.3 空格1.3.4 注释1.4 添加动态内容1.4.1 调用函数1.4.2 使用date()函数1.5 访问表单变量1.5.1 简短、中等以及长风格的表单变量1.5.2 字符串的连接1.5.3 变量和文本1.6 理解标识符1.7 检查变量类型1.7.1 PHP的数据类型1.7.2 类型强度1.7.3 类型转换1.7.4 可变变量1.8 声明和使用常量1.9 理解变量的作用域1.10 使用操作符1.10.1 算术操作符1.10.2 字符串操作符1.10.3 赋值操作符1.10.4 比较操作符1.10.5 逻辑操作符1.10.6 位操作符1.10.7 其他操作符1.11 计算表单总金额1.12 理解操作符的优先级和结合性:1.13 使用可变函数1.13.1 测试和设置变量类型1.13.2 测试变量状态1.13.3 变量的重解释1.14 根据条件进行决策1.14.1 if语句1.14.2 代码块1.14.3 else语句1.14.4 elseif语句1.14.5 switch语句1.14.6 比较不同的条件1.15 通过迭代实现重复动作1.15.1 while循环1.15.2 for和foreach循环1.15.3 do...while循环1.16 从控制结构或脚本中跳出1.17 使用可替换的控制结构语法1.18 使用declare1.19 下一章第2章 数据的存储与检索2.1 保存数据以便后期使用2.2 存储和检索Bob的订单2.3 文件处理2.4 打开文件2.4.1 选择文件模式2.4.2 使用fopen()打开文件2.4.3 通过FTP或HTTP打开文件2.4.4 解决打开文件时可能遇到的问题2.5 写文件2.5.1 fwrite()的参数2.5.2 文件格式2.6 关闭文件2.7 读文件2.7.1 以只读模式打开文件:fopen()2.7.2 知道何时读完文件:feof()2.7.3 每次读取一行数据:fgets()、fgetss()和fgetcsv()2.7.4 读取整个文件:readfile()、fpassthru()和file()2.7.5 读取一个字符:fgetc()2.7.6 读取任意长度:fread()2.8 使用其他有用的文件函数2.8.1 查看文件是否存在:file_exists()2.8.2 确定文件大小:filesize()2.8.3 删除一个文件:unlink()2.8.4 在文件中定位:rewind()、fseek()和ftell()2.9 文件锁定2.10 更好的方式:数据库管理系统2.10.1 使用普通文件的几个问题2.10.2 RDBMS是如何解决这些问题的2.11 进一步学习2.12 下一章第3章 使用数组3.1 什么是数组3.2 数字索引数组3.2.1 数字索引数组的初始化3.2.2 访问数组的内容3.2.3 使用循环访问数组3.3 使用不同索引的数组3.3.1 初始化相关数组3.3.2 访问数组元素3.3.3 使用循环语句3.4 数组操作符3.5 多维数组3.6 数组排序3.6.1 使用sort()函数3.6.2 使用asort()函数和ksort()函数对相关数组排序3.6.3 反向排序3.7 多维数组的排序3.7.1 用户定义排序3.7.2 反向用户排序3.8 对数组进行重新排序3.8.1 使用shuffle()函数3.8.2 使用array_reverse()函数3.9 从文件载入数组3.10 执行其他的数组操作3.10.1 在数组中浏览:each()、current()、reset()、end()、next()、pos()和prev()3.10.2 对数组的每一个元素应用任何函数:array_walk()3.10.3 统计数组元素个数:count()、sizeof()和array_count_values()3.10.4 将数组转换成标量变量:extract()3.11 进一步学习3.12 下一章第4章 字符串操作与正则表达式4.1 创建一个示例应用程序:智能表单邮件4.2 字符串的格式化4.2.1 字符串的整理:chop()、ltrim()和trim()4.2.2 格式化字符串以便显示4.2.3 格式化字符串以便存储:addslashes()和stripslashes()4.3 用字符串函数连接和分割字符串4.3.1 使用函数explode()、implode()和join()4.3.2 使用strtok()函数4.3.3 使用substr()函数4.4 字符串的比较4.4.1 字符串的排序:strcmp()、strcasecmp()和strnatcmp()4.4.2 使用strlen()函数测试字符串的长度4.5 使用字符串函数匹配和替换子字符串4.5.1 在字符串中查找字符串:strstr()、strchr()、strrchr()和stristr()4.5.2 查找子字符串的位置:strpos()、strrpos()4.5.3 替换子字符串:str_replace()、substr_replace()4.6 正则表达式的介绍4.6.1 基础知识4.6.2 字符集和类4.6.3 重复4.6.4 子表达式4.6.5 子表达式计数4.6.6 定位到字符串的开始或末尾4.6.7 分支4.6.8 匹配特殊字符4.6.9 特殊字符一览4.6.10 在智能表单中应用4.7 用正则表达式查找子字符串4.8 使用正则表达式分割字符串4.9 比较字符串函数和正则表达式函数4.10 进一步学习4.11 下一章第5章 代码重用与函数编写5.1 代码重用的好处5.1.1 成本5.1.2 可靠性5.1.3 一致性5.2 使用require()和include()函数5.2.1 文件扩展名和require()语句5.2.2 使用require()制作Web站点的模版5.2.3 使用auto_prepend_file和auto_append_file5.3 在PHP中使用函数5.3.1 调用函数5.3.2 调用未定义的函数5.3.3 理解字母大小写和函数名称5.4 理解为什么要定义自己的函数5.5 了解基本的函数结构5.5.1 函数命名5.6 使用参数5.7 理解作用域5.8 参数的引用传递和值传递5.9 使用Return关键字5.9.1 从函数返回一个值5.10 实现递归5.10.1 名称空间5.11 进一步学习5.12 下一章第6章 面向对象的PHP6.1 理解面向对象的概念6.1.1 类和对象6.1.2 多态性6.1.3 继承6.2 在PHP中创建类、属性和操作6.2.1 类的结构6.2.2 构造函数6.2.3 析构函数6.3 类的实例化6.4 使用类的属性6.5 使用private和public关键字控制访问6.6 类操作的调用6.7 在PHP中实现继承6.7.1 通过继承使用private和protected访问修饰符控制可见性6.7.2 重载6.7.3 使用final关键字禁止继承和重载6.7.4 理解多重继承6.7.5 实现接口6.8 类的设计6.9 编写类代码6.10 理解PHP面向对象新的高级功能6.10.1 使用Per-Class常量6.10.2 实现静态方法6.10.3 检查类的类型和类型提示6.10.4 克隆对象6.10.5 使用抽象类6.10.6 使用__call()重载方法6.10.7 使用__autoload()方法6.10.8 实现迭代器和迭代6.10.9 将类转换成字符串6.10.10 使用Reflection(反射)API6.11 下一章第7章 错误和 异常处理7.1 异常处理的概念7.2 Exception类7.3 用户自定义异常7.4 Bob的汽车零部件商店应用程序的异常7.5 异常和PHP的其他错误处理机制7.6 进一步学习7.7 下一章第二篇 使用MySQL第8章 设计Web数据库8.1 关系数据库的概念8.1.1 表格8.1.2 列8.1.3 行8.1.4 值8.1.5 键8.1.6 模式8.1.7 关系8.2 如何设计Web数据库8.2.1 考虑要建模的实际对象8.2.2 避免保存冗余数据8.2.3 使用原子列值8.2.4 选择有意义的键8.2.5 考虑需要询问数据库的问题8.2.6 避免多个空属性的设计8.2.7 表格类型的总结8.3 Web数据库架构8.4 进一步学习8.5 下一章第9章 创建Web数据库9.1 使用MySQL监视程序9.2 登录到MySQL9.3 创建数据库和用户9.4 设置用户与权限9.5 MySQL权限系统的介绍9.5.1 最少权限原则9.5.2 创建用户:GRANT命令9.5.3 权限的类型和级别9.5.4 REVOKE命令9.5.5 使用GRANT和REVOKE的例子9.6 创建一个Web用户9.7 使用正确的数据库9.8 创建数据库表9.8.1 理解其他关键字的意思9.8.2 理解列的类型9.8.3 用SHOW和DESCRIBE来查看数据库9.8.4 创建索引9.9 理解MySQL的标识符9.10 选择列数据类型9.10.1 数字类型9.10.2 日期和时间类型9.10.3 字符串类型9.11 进一步学习9.12 下一章第10章 使用MySQL数据库10.1 SQL是什么10.2 在数据库中插入数据10.3 从数据库中获取数据10.3.1 获取满足特定条件的数据10.3.2 从多个表中获取数据10.3.3 以特定的顺序获取数据10.3.4 分组与合计数据10.3.5 选择要返回的行10.3.6 使用子查询10.4 更新数据库记录10.5 创建后修改表10.6 删除数据库中的记录10.7 表的删除10.8 删除整个数据库10.9 进一步学习10.10 下一章第11章 使用PHP从Web访问MySQL数据库11.1 Web数据库架构的工作原理11.2 从Web查询数据库的基本步骤11.2.1 检查与过滤用户输入数据11.2.2 建立一个连接11.2.3 选择使用的数据库11.2.4 查询数据库11.2.5 检索查询结果11.2.6 从数据库断开连接11.3 将新信息放入数据库11.4 使用Prepared语句11.5 使用PHP与数据库交互的其他接口11.5.1 使用常规的数据库接口:PEAR MDB211.6 进一步学习11.7 下一章第12章 MySQL高级管理12.1 深入理解权限系统12.1.1 user表12.1.2 db表和host表12.1.3 tables_priv表,columns_priv表和procs_priv表12.1.4 访问控制:MySQL如何使用Grant表12.1.5 更新权限:修改什么时候生效12.2 提高MySQL数据库的安全性12.2.1 从操作系统角度来保护MySQL12.2.2 密码12.2.3 用户权限12.2.4 Web问题12.3 获取更多关于数据库的信息12.3.1 使用SHOW获取信息12.3.2 使用DESCRIBE获取关于列的信息12.3.3 用EXPLAIN理解查询操作的工作过程12.4 数据库的优化12.4.1 设计优化12.4.2 权限12.4.3 表的优化12.4.4 使用索引12.4.5 使用默认值12.4.6 其他技巧12.5 备份MySQL数据库12.6 恢复MySQL数据库12.7 实现复制12.7.1 设置主服务器12.7.2 执行初始的数据传输12.7.3 设置一个/多个从服务器12.8 进一步学习12.9 下一章第13章 MySQL高级编程13.1 LOAD DATA INFILE语句13.2 存储引擎13.3 事务13.3.1 理解事务的定义13.3.2 通过InnoDB使用事务13.4 外键13.5 存储过程13.5.1 基本示例13.5.2 局部变量13.5.3 游标和控制结构13.6 进一步学习13.7 下一章第三篇 电子商务与安全性第14章 运营一个电子商务网站14.1 我们要实现什么目标14.2 考虑电子商务网站的类型14.2.1 使用在线说明书公布信息14.2.2 接收产品或服务的订单14.2.3 提供服务和数字产品14.2.4 为产品或服务增值14.2.5 减少成本14.3 理解风险和威胁14.3.1 网络黑客14.3.2 不能招揽足够的生意14.3.3 计算机硬件故障14.3.4 电力、通信、网络或运输故障14.3.5 广泛的竞争14.3.6 软件错误14.3.7 不断变化的政府政策和税收14.3.8 系统容量限制14.4 选择一个策略14.5 下一章第15章 电子商务的安全问题15.1 信息的重要程度15.2 安全威胁15.2.1 机密数据的泄露15.2.2 数据丢失和数据破坏15.2.3 数据修改15.2.4 拒绝服务15.2.5 软件错误15.2.6 否认15.3 易用性,性能、成本和安全性15.4 建立一个安全政策15.5 身份验证原则15.6 加密技术基础15.6.1 私有密钥加密15.6.2 公有密钥加密15.6.3 数字签名15.7 数字证书15.8 安全的Web服务器15.9 审计与日志记录15.10 防火墙15.11 备份数据15.11.1 备份常规文件15.11.2 备份与恢复MySQL数据库15.12 自然环境安全15.13 下一章第16章 Web应用的安全16.1处理安全性问题的策略16.1.1 以正确心态为开始16.1.2 安全性和可用性之间的平衡16.1.3 安全监视16.1.4 基本方法16.2 识别所面临的威胁16.2.1 访问或修改敏感数据16.2.2 数据丢失或破坏16.2.3 拒绝服务16.2.4 恶意代码注入16.2.5 服务器被攻破16.3了解与我们“打交道”的用户16.3.1 破解人员16.3.2 受影响机器的未知情用户16.3.3 对公司不满的员工16.3.4 硬件被盗16.3.5 我们自身16.4 代码的安全性16.4.1 过滤用户输入16.4.2 转义输出16.4.3 代码组织16.4.4 代码自身的问题16.4.5 文件系统因素16.4.6 代码稳定性和缺陷16.4.7 执行引号和exec16.5 Web服务器和PHP的安全性16.5.1 保持软件的更新16.5.2 查看php.ini文件16.5.3 Web服务器配置16.5.4 Web应用的商业主机服务16.6 数据库服务器的安全性16.6.1 用户和权限系统16.6.2发送数据至服务器16.6.3 连接服务器16.6.4 运行服务器16.7 保护网络16.7.1 安装防火墙16.7.2使用隔离区域(DMZ)16.7.3应对DoS和DDoS攻击16.8 计算机和操作系统的安全性16.8.1 保持操作系统的更新16.8.2只运行必须的软件16.8.3 服务器的物理安全性16.9 灾难计划16.10 下一章第17章 使用PHP和MySQL实现身份验证17.1 识别访问者17.2 实现访问控制17.2.1 保存密码17.2.2 密码的加密17.2.3 保护多个网页17.3 使用基本身份验证17.4 在PHP中使用基本身份验证17.5 在Apache的.htaccess文件中使用基本身份验证17.6 使用mod_auth_mysql身份验证17.6.1 安装mod_auth_mysql17.6.2 使用mod_auth_mysql17.7 创建自定义身份验证17.8 进一步学习17.9 下一章第18章 使用PHP和MySQL实现安全事务18.1 提供安全的事务处理18.1.1 用户机器18.1.2 Internet18.1.3 我们的系统18.2 使用加密套接字层(SSL)18.3 屏蔽用户的输入18.4 提供安全存储18.5 存储信用卡号码18.6 在PHP中使用加密技术18.6.1 安装GPG18.6.2 测试GPG18.7 进一步学习18.8 下一章第四篇 PHP的高级技术第19章 与文件系统和服务器的交互19.1 文件上载19.1.1 文件上载的HTML代码19.1.2 编写处理文件的PHP19.1.3 避免常见上载问题19.2 使用目录函数19.2.1 从目录读取19.2.2 获得当前目录的信息19.2.3 创建和删除目录19.3 与文件系统的交互19.3.1 获取文件信息19.3.2 更改文件属性19.3.3 创建、删除和移动文件19.4 使用程序执行函数19.5 与环境变量交互:getenv()和putenv()19.6 进一步学习19.7 下一章第20章 使用网络函数和协议函数20.1 了解可供使用的协议20.2 发送和读取电子邮件20.3 使用其他Web站点的数据20.4 使用网络查找函数20.5 备份或镜像一个文件20.5.1 使用FTP备份或镜像一个文件20.5.2 上传文件20.5.3 避免超时20.5.4 使用其他的FTP函数20.6 进一步学习20.7 下一章第21章 日期和时间的管理21.1 在PHP中获取日期和时间21.1.1 使用date()函数21.1.2 使用UNIX时间戳21.1.3 使用getdate()函数21.1.4 使用checkdate()函数检验日期有效性21.1.5 格式化时间戳21.2 在PHP日期格式和MySQL日期格式之间进行转换21.3 在PHP中计算日期21.4 在MySQL中计算日期21.5 使用微秒21.6 使用日历函数21.7 进一步学习21.8 下一章第22章 创建图像22.1 在PHP中设置图像支持22.2 理解图像格式22.2.1 JPEG22.2.2 PNG22.2.3 WBMP22.2.4 GIF22.3 创建图像22.3.1 创建一个背景图像22.3.2 在图像上绘图或打印文本22.3.3 输出最终图形22.3.4 清理22.4 在其他页面中使用自动生成的图像22.5 使用文本和字体创建图像22.5.1 创建基本画布22.5.2 将文本调整到适合按钮22.5.3 放置文本22.5.4 将文本写到按钮上22.5.5 完成22.6 绘制图像与用图表描绘数据22.7 使用其他的图像函数22.8 进一步学习22.9 下一章第23章 在PHP中使用会话控制23.1 什么是会话控制23.2 理解基本的会话功能23.2.1 什么是cookie23.2.2 通过PHP设置cookie23.2.3 在会话中使用cookie23.2.4 存储会话 ID23.3 实现简单的会话23.3.1 开始一个会话23.3.2 注册一个会话变量23.3.3 使用会话变量23.3.4 注销变量与销毁会话23.4 创建一个简单的会话例子23.5 配置会话控制23.6 通过会话控制实现身份验证23.7 进一步学习23.8 下一章第24章 其他有用的特性24.1 使用eval()函数对字符串求值24.2 终止执行:die和exit24.3 序列化变量和对象24.4 获取PHP环境信息24.4.1 找到所加载的PHP扩展部件24.4.2 识别脚本所有者24.4.3 确定脚本最近修改时间24.5 暂时改变运行时环境24.6 源代码加亮24.7 在命令行中使用PHP24.8 下一章第五篇 创建实用的PHP和MySQL项目第25章 在大型项目中使用PHP和MySQL25.1 在Web开发中应用软件工程25.2 规划和运行Web应用程序项目25.3 重用代码25.4 编写可维护代码25.4.1 编码标准25.4.2 分解代码25.4.3 使用标准的目录结构25.4.4 文档化和共享内部函数25.5 实现版本控制25.6 选择一个开发环境25.7 项目的文档化25.8 建立原型25.9 将逻辑和内容分离25.10 优化代码25.10.1 使用简单优化25.10.2 使用Zend产品25.11 测试25.12 进一步学习25.13 下一章第26章 调试26.1 编程错误26.1.1 语法错误26.1.2 运行时错误26.1.3 逻辑错误26.2 使用变量帮助调试26.3 错误报告级别26.4 改变错误报告设置26.5 触发自定义错误26.6 巧妙地处理错误26.7 下一章第27章 建立用户身份验证机制和个性化设置27.1 解决方案的组成27.1.1 用户识别和个性化设置27.1.2 保存书签27.1.3 推荐书签27.2 解决方案概述27.3 实现数据库27.4 实现基本的网站27.5 实现用户身份验证27.5.1 注册27.5.2 登录27.5.3 登出27.5.4 修改密码27.5.5 重设遗忘的密码27.6 实现书签的存储和检索27.6.1 添加书签27.6.2 显示书签27.6.3 删除书签27.7 实现书签推荐27.8 考虑可能的扩展27.9 下一章第28章 创建一个购物车28.1 解决方案的组成28.1.1 创建一个在线目录28.1.2 在用户购买商品的时候记录购买行为28.1.3 实现一个付款系统28.1.4 创建一个管理界面28.2 解决方案概述28.3 实现数据库28.4 实现在线目录28.4.1 列出目录28.4.2 列出一个目录中的所有图书28.4.3 显示图书详细信息28.5 实现购物车28.5.1 使用show_cart.php脚本28.5.2 浏览购物车28.5.3 将物品添加到购物库28.5.4 保存更新后的购物车28.5.5 打印标题栏摘要28.5.6 结账28.6 实现付款28.7 实现一个管理界面28.8 扩展该项目28.9 使用一个已有系统28.10 下一章第29章 创建一个基于Web的电子邮件服务系统29.1 解决方案的组成29.1.1 电子邮件协议:POP3和IMAP29.1.2 PHP对POP3和IMAP的支持29.2 解决方案概述29.3 建立数据库29.4 了解脚本架构29.5 登录与登出29.6 建立账户29.6.1 创建一个新账户29.6.2 修改已有账户29.6.3 删除账户29.7 阅读邮件29.7.1 选择账户29.7.2 查看邮箱内容29.7.3 阅读邮件消息29.7.4 查看消息标题29.7.5 删除邮件29.8 发送邮件29.8.1 发送一则新消息29.8.2 回复或转发邮件29.9 扩展这个项目29.10 下一章第30章 创建一个邮件列表管理器30.1 解决方案的组成30.1.1 建立列表和订阅者数据库30.1.2 上载新闻信件30.1.3 发送带附件的邮件30.2 解决方案概述30.3 建立数据库30.4 定义脚本架构30.5 实现登录30.5.1 新账户的创建30.5.2 登录30.6 用户函数的实现30.6.1 查看列表30.6.2 查看邮件列表信息30.6.3 查看邮件列表存档30.6.4 订阅与取消订阅30.6.5 更改账户设置30.6.6 更改密码30.6.7 登出30.7 管理功能的实现30.7.1 创建新的邮件列表30.7.2 上载新的新闻信件30.7.3 多文件上载的处理30.7.4 预览新闻信件30.7.5 发送邮件30.8 扩展这个项目30.9 下一章第31章 创建一个Web论坛31.1 理解流程31.2 解决方案的组成31.3 解决方案概述31.4 数据库的设计31.5 查看文章的树型结构31.5.1 展开和折叠31.5.2 显示文章31.5.3 使用treenode类31.6 查看单个的文章31.7 添加新文章31.8 添加扩充31.9 使用一个已有的系统31.10 下一章第32章 生成PDF格式的个性化文档32.1 项目概述32.1.1 评估文档格式32.2 解决方案的组成32.2.1 问题与回答系统32.2.2 文档生成软件32.3 解决方案概述32.3.1 提问32.3.2 给答题评分32.3.3 生成RTF证书32.3.4 从模板生成PDF证书32.3.5 使用PDFlib生成PDF文档32.3.6 使用PDFlib的一个“Hello World”程序32.3.7 用PDFlib生成证书32.4 处理标题的问题32.5 扩展该项目32.6 下一章第33章 使用XML和SOAP来连接Web服务33.1 项目概述:使用XML和Web服务33.1.1 理解XML33.1.2 理解Web服务33.2 解决方案的组成33.2.1 使用Amazon的Web服务接口33.2.2 XML的解析:REST响应33.2.3 在PHP中使用SOAP33.2.4 缓存33.3 解决方案概述33.3.1 核心应用程序33.3.2 显示特定种类的图书33.3.3 获得一个AmazonResultSet类33.3.4 使用REST发送和接收请求33.3.5 使用SOAP发送和接收请求33.3.6 缓存请求返回的数据33.3.7 创建购物车33.3.8 到Amazon付账33.4 安装项目代码33.5 扩展这个项目33.6 进一步学习第34 章使用Ajax构建Web 2.0应用34.1 Ajax 是什么?34.1.1 HTTP请求和响应34.1. 2 DHTML和XHTML34.1.3 级联样式单(CSS)34.1.4 客户端编程34.1.5 服务器端编程34.1.6 XML和XSLT34.2 Ajax基础34.2.1 XMLHTTPRequest对象34.2.2 与服务器通信34.2.3 处理服务器响应34.2.4 整合应用34.3 在以前的项目添加Ajax元素34.3.1在PHPBookmark应用中添加Ajax元素34.4 进一步学习34.4.1 进一步了解文档对象模型(DOM)34.4.2 Ajax应用可用的JavaScript函数库34.4.3 Ajax开发人员网站第六篇 附录附录A 安装PHP及MySQL附录B Web资源第1章 PHP快速入门教程第2章 数据的存储与检索第3章 使用数组第4章 字符串操作与正则表达式第5章 代码重用与函数编写第6章 面向对象的PHP第7章 错误和异常处理

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。