书籍详情
PHP 4宝典
作者:(美)Tim Converse,(美)Joyce Park著;马云,耿睿等译;马云译
出版社:电子工业出版社
出版时间:2001-02-01
ISBN:9787505365261
定价:¥49.00
购买这本书可以去
内容简介
PHP是最流行的web脚本语言之一,功能强大并内置了访问数据库的能力。它能够作为Apache Web服务器的模块执行,因此执行效率要高于普通CGI程序,再加上它自由软件的身份,更成为许多Web程序员的首选脚本语言。全书是PHP 4的权威宝典,共分三部分,第一部分讲解PHP基础知识、编程风格以及常见问题的解答。第二部分关注数据库应用,讲解了PHP数据库编程基本知识、MySQL数据库等,给出了大量实例,并就有关数据库的常见问题进行了疑难解答。第三部分重点讲解高级技术,如PHP 4新增的会话函数、cookie的使用、Javascript代码的生成、邮件程序、XML支持、面向对象编程、安全性以及配置选项等。书中还在许多地方专门讲解了C程序员在学习PHP时需要注意的问题。本书通过具有实用价值的大量例子深入浅出地讲解PHP语言及Web编程方方面面的知识,不仅适合Web编程的入门者,也非常适合具有一定经验的Web程序员提高PHP应用水平。
作者简介
暂缺《PHP 4宝典》作者简介
目录
第1部分 PHP基础知识
第1章 为什么使用PHP
1.1 什么是PHP
1.2 PHP的历史
1.3 PHP受欢迎的原因
1.3.1 PHP是免费的
1.3.2 PHP易学易用
1.3.3 PHP是内嵌的
1.3.4 PHP的交叉平台特性
1.3.5 PHP并不基于标记
1.3.6 PHP的稳定性
1.3.7 PHP非常迅速
1.3.8 PHP是开放的
1.3.9 PHP的合作能力很强
1.3.10 PHP十分流行并在逐渐成长
1.3.11 PHP不属于任何人
1.3.12 PHP团体
1.4 小结
第2章 服务器端Web脚本编制
2.1 静态HTML
2.2 客户端技术
2.3 服务器端脚本编制
2.4 服务器端脚本擅长之处
2.5 小结
第3章 PHP起步
3.1 虚拟主机和DIY的对比
3.1.1 ISP选项
3.1.2 选择自建主机的各项细则
3.1.3 折衷解决方案
3.2 安装PHP
3.2.1 开始之前的准备
3.2.2 安装过程
3.2.3 开发工具
3.3 小结
第4章 在HTML-中添加PHP
4.1 HTML是兼容PHP的
4.2 从HTML转入PHP模式
4.2.1 规范的PHP标记
4.2.2 简短开始(SGML风格)标记
4.2.3 Hello World
4.2.4 进出PHP模式
4.2.5 包含文件
4.3 小结
第5章 语法、变量和输出
5.1 PHP的宽松风格
5.2 HTML不是PHP
5.3 PHP的C风格语法
5.3.1 PHP对空白不敏感
5.3.2 PHP有时区分大小写
5.3.3 语句是以分号结尾的表达式
5.3.4 花括号的使用
5.4 注释
5.4.1 C风格的多行注释
5.4.2 单行注释:4和//
5.5 变量
5.5.1 PHP变量是Perl风格的
5.5.2 声明变量
5.5.3 变量赋值
5.5.4 变量重新赋值
5.5.5 未赋值的变量
5.5.6 变量作用域
5.5.7 模式的切换
5.6 输出
5.6.1 回显和打印
5.6.2 变量和字符串
5.7 小结
第6章 PHP中的类型
6.1 首要原则是放松
6.1.1 没有变量类型声明
6.1.2 自动类型转换
6.1.3 根据上下文分配的类型
6.2 类型小结
6.3 简单类型
6.3.1 整型
6.3.2 双精度型
6.3.3 布尔型
6.3.4 示例
6.3.5 字符串型
6.4 数组
6.4.1 数组实现
6.4.2 字符串作为数组索引
6.4.3 结构类型
6.4.4 其他数组特性
6.5 对象
6.5.1 OOP概述
6.5.2 PHP的OOP
6.5.3 在PHP中定义类
6.5.4 创建对象
6.6 类型测试
6.7 赋值和强制转换
6.7.1 类型转换行为
6.7.2 显式转换
6.7.3 转换示例
6.7.4 其他有用的类型转换
6.7.5 整数溢出
6.7.6 补充内容:查找最大整数
6.8 小结
第7章 控制
7.1 布尔表达式
7.1.1 布尔常量
7.1.2 逻辑运算符
7.1.3 比较运算符
7.1.4 三元运算符
7.2 分支结构
7.2.1 if-else结构
7.2.2 switch
7.3 循环
7.3.1 有界循环和无界循环
7.3.2 While
7.3.3 do-while
7.3.4 for
7.3.5 循环示例
7.3.6 break和continue
7.3.7 关于无限循环的注意事项
7.4 可替换的控制语法
7.5 终止执行
7.6 小结
第8章 使用和定义函数
8.1 使用函数
8.1.1 返回值与副作用
8.2 函数文档
8.2.1 文档的首部
8.2.2 查找函数文档
8.3 定义自己的函数
8.3.1 什么是函数
8.3.2 函数定义语法
8.3.3 函数定义示例
8.3.4 形参与实参的对比
8.3.5 参数数目不匹配
8.4 函数和变量作用域
8.4.1 全局变量与局部变量
8.4.2 静态变量
8.5 函数作用域
8.5.1 include和reguire
8.5.2 递归
8.6 高级函数技巧
8.6.1 可变的参数个数
8.6.2 按值调用和按引用调用
8.6.3 按引用调用
8.6.4 可变函数名
8.6.5 进一步扩展的示例
8.7 小结
第9章 字符串和字符串函数
9.1 PHP中的字符串
9.1.1 字符和字符串索引
9.1.2 字符串运算符
9.1.3 连接和赋值
9.2 字符串函数
9.2.1 检查字符串
9.2.2 查找字符和子串
9.2.3 比较和搜索
9.2.4 搜索
9.2.5 选定子串
9.2.6 字符串清理函数
9.2.7 字符串替换
9.2.8 字符串集合和字符集合
9.2.9 解析函数
9.2.10 大小写函数
9.2.11 转义函数
9.2.12 打印和输出
9.3 高级字符串特性
9.3.1 正则表达式
9.3.2 HTML函数
9.4 小结
第10章 数学运算
10.1 数字类型
10.2 数学运算符
10.2.1 算术运算符
10.2.2 算术运算符和类型
lO.2.3 增1运算符
10.2.4 赋值运算符
10.2.5 比较运算符
10.2.6 优先级和括号
10.3 简单数学函数
10.4 基数转换
10.5 指数和对数
10.6 三角学
10.7 随机数
10.7.1 给发生器指定种子
10.7.2 示例:进行随机选择
10.8 任意精度(BC)
10.8.1 任意精度示例
10.8.2 把代码转化为任意精度
10.9 小结
第11章 数组和数组函数
11.1 数组的用法
11.2 PHP数组是什么
11.3 创建数组
11.3.1 直接赋值
11.3.2 array()结构
11.3.3 使用array()指定索引
11.3.4 返回数组的函数
11.4 检索值
11.4.1 用索引进行检索
11.4.2 1ist()结构
11.5 多维数组
11.6 检查数组
11.7 从数组中删除元素
11.8 遍历
11.8.1 使用遍历函数
11.8.2 用current()和next()进行遍历
11.8.3 用reset()重新开始
11.8.4 使用end()和prev()颠倒次序
11.8.5 使用key()提取键
11.8.6 空值和each()函数
11.8.7 使用array-walk()
11.9 堆栈和队列
11.10 数组的变换
11.10.1 检索键和值
11.10.2 翻 转、颠倒、混乱
11.11 变量和数组之间的变换函数
11.12 排序
11.13 小结
第12章 页面间的信息传递
12.1 HTTP是无状态的
12.2 GET参数
12.3 GET风格的URL的更好用法
12.4 POST参数
12.5 在PHP中处理变量
12.6 小结
第13章 文件系统和系统函数
13.1 文件读写函数
13.1.1 打开文件
13.1.2 读文件
13.1.3 写文件
13.1.4 关闭文件
13.2 文件系统和目录函数
13.2.1 feof
13.2.2 fi1e exists
13.2.3 fi1esize
13.3 网络函数
13.3.1 syslog函数
13.3.2 DNS函数
13.3.3 套接字函数
13.4 日期和时间函数
13.4.1 如果不知道日期或时间
13.4.2 如果已经确定了日期/时间/时间戳
13.5 历法转换函数
13.6 小结
第14章 PHP风格
14.1 风格的运用
14.2 易读性
14.2.1 注释
14.2.2 文件和变量名
14.3 可维护性
14.3.1 避免魔术数字
14.3.2 函数
14.3.3 包含文件
14.3.4 对象包装器
14.4 强健性
14.4.1 不可使用的服务
14.4.2 不是预期的变量类型
14.5 简明性和效率
14.5.1 效率:只是算法问题
14.5.2 效率优化技巧
14.5.3 简明性:最后阶段
14.5.4 简明性提示
14.6 使用HTML还是使用PHP模式
14.7 从设计中分离代码
14.7.1 函数
14.7.2 PHP中的层叠式样式表
14.7.3 模板和页面一致性
14.8 小结
第15章 基本的PHP错误
15.1 和安装有关的问题
15.1.1 现象:文件内容显示在浏览器窗口上
15.1.2 现象:HTTP不显示文本或浏览器提示保存文件或访问外部文件库
15.1.3 现象:没有找到服务器或主机/页面无法显示
15.2 显示问题
15.2.1 现象:完全为空的页面
15.2.2 现象:不完整或不是预期的页面
15.2.3 现象:PHP代码显示在Web浏览器中
15.3 载入页面失败
15.3.1 现象:不能找到文件
15.3.2 现象:打开被包含的文件失败
15.4 解析错误
15.4.1 现象:解析错误消息
15.4.2 缺少分号
15.4.3 没有8号
15.4.4 模式问题
15.4.5 被转义的引号
15.4.6 其他解析错误的原因
15.5 文件权限
15.5.1 现象:HTTP error 403
15.6 缺少包含文件
15.6.l 现象:有关包含文件的警告
15.7 未被设定的变量
15.7.1 现象:变量没有出现在打印字符串中
15.7.2 现象:数字变量出乎意料为0
15.7.3 未被设定的变量有何作用
15.7.4 大小写问题
15.7.5 范围问题
15.8 函数问题
15.8.1 现象:调用未定义的函数my-function()
15.8.2 现象:调用未定义的函数
15.8.3 现象:不能重新声明my-function()
15.8.4 现象:错误的参数数目
15.9 数学问题
15.9.1 现象:被0除
15.9.2 现象:不是预期的运算结果
15.9.3 现象:NaN(或NAN)
15.10 超时
15.11 小结
第2部分 PHP和数据库
第16章 为PHP选择适合的数据库
16.1 为什么需要使用数据库
16.1.1 避免冗余
16.1.2 避免笨拙的编程
16.1.3 搜索
16.1.4 安全问题
16.1.5 N层体系结构
16.2 选择数据库
16.2.1 不必选择
16.2.2 平面文件、关系数据库、对象关系数据库
16.2.3 0DBC/JDBC与本地API
16.2.4 可交换的数据库
16.3 展望高级性能
16.3.1 图形用户界面
16.3.2 子查询
16.3.3 复杂联结
16.3.4 线程和锁定
16.3.5 事务
16.3.6 过程与触发器
16.3.7 外键和完整性约束
16.3.8 数据库的复制
16.4 支持PHP的数据库
16.4.1 本书重点:MySQL
16.5 小结
第17章 SQL指南
17.1 SQL标准
17.2 SQL骨干
17.2.1 SELECT
17.2.2 INSERT
17.2.3 UPDATE
17.2.4 DELETE
17.3 数据库设计
17.4 数据库连接
17.5 权限与安全性
17.5.1 设置权限
17.5.2 在不同的位置存储数据库口令
17.5.3 使用PHP表单检查口令
17.5.4 学会备份
17.6 小结
第18章 PHP/MySQL函数
18.1 连接MySQL
18.2 建立MySQL查询
18.3 提取数据集
18.4 获取有关数据的数据
18.5 多个连接
18.6 建立错误检查
18.7 用PHP创建MySQL数据库
18.8 My5QL函数
18.9 小结
第19章 在表中显示查询
19.1 HTML表和数据库表
19.1.1 一对一映射
19.1.2 例子:单表显示程序
19.1.3 范例表
19.1.4 改善显示程序
19.2 复杂映射
19.2.1 多重查询与复杂打印
19.2.2 多重查询的例子
19.2.3 复杂的打印例子
19.3 创建范例表
19.4 小结
第20章 建立由查询语句得到的表单
20.1 HTML表单
20.2 自提交
20.3 处理表单提交
20.4 依赖于变量的表单
20.4.1 TEXT和TEXTAREA
20.4.2 CHECKB0X
20.4.3 RADI0
20.4.4 SELECT
20.5 依赖于查询的表单
20.6 小结
第21章 Weblog
21.1 为什么需要Weblog
21.2 最简单的Weblog
21.3 通过HTTP输入信息
21.4 添加数据库连接
21.5 潜在的附加功能
21.6 小结
第22章 用户评估系统
22.1 系统做什么
22.1.1 系统的目标
22.1.2 结构
22.1.3 数据库支持
22.2 收集选票
22.2.1 DisplayRatings()
22.2.2 GetFeedback()
22.2.3 HandleRatings()
22.3 显示总体结果
22.3.1 乱投的选票和规模
22.4 小结
第23章 PHP/数据库的效率和风格
23.1 减少连接次数和重用连接
23.1.1 不好的例子:每条语句有一个连接
23.1.2 多个结果不需要多个连接
23.1.3 永久的连接
23.2 使用数据库提供的功能
23.2.1 很可能比自己的方案快
23.2.2 一个坏例子:用了循环却没有限制它
23.2.3 创建日期和时间字段
23.2.4 寻找最后插入的记录
23.3 小结
第24章 PHP/数据库常见问题
24.1 没有连接
24.2 权限问题
24.3 未转义的引号
24.4 中断的SQL语句
24.4.1 拼写错误的名称
24.4.2 逗号引起的错误
24.4.3 未被引号引起来的字符串参数
24.4.4 未被设定的变量
24.5 数据太少或太多
24.6 清楚的检查
24.7 小结
第3部分 高级技术
第25章 会话
25.1 什么是会话
25.1.1 问题是什么
25.1.2 为什么关注这一点
25.2 相关内容
25.2.1 IP地址
25.2.2 隐藏变量
25.2.3 cookie
25.3 会话在PHP中是如何工作的
25.3.1 使PHP知晓用户会话
25.3.2 在会话中注册变量
25.3.3 数据的实际存储位置
25.4 会话函数
25.5 会话代码示例
25.6 配置问题
25.7 常见问题和解决方案
25.8 小结
第26章 cookie和HTTP
26.1 cookie
26.1.1 setcookie()函数
26.1.2 示例
26.1.3 删除cookie
26.1.4 读取cookie
26.1.5 GET、P0ST和cookie变量
26.1.6 cookie的缺陷
26.2 发送HTrP header
26.2.1 重定向示例
26.2.2 HTTP认证示例
26.2.3 有关header的常见问题
26.3 小结
第27章 PHP和JavaScript
27.1 用PHP输出JavaScript
27.1.1 关于对象的冲突
27.1.2 PHP不关心其输出
27.1.3 在何处使用JavaScrript
27.2 PHP作为JavaScript的后备
27.3 静态JavaScript与动态JavaScript
27.3.1 动态生成表单
27.3.2 将数据从JavaScript传回PHP
27.4 小结
第28章 电子邮件
28.1 了解E-mail
28.1.1 E-mail系统模型
28.2 用PHP接收E-mail
28.2.1 拒绝开发
28.2.2 在指导下进行开发
28.2.3 添加补充内容
28.3 用PHP发送E-mail
28.3.1 Windows配置
28.3.2 UNIX配置
28.3.3 和邮件有关的函数
28.4 PHP的更多电子邮件功能
28.4.1 从表单发送邮件
28.4.2 从数据库发送邮件
28.4.3 自定义的PHP邮件应用程序
28.5 小结
第29章 PHP和XML
29.1 什么是XML
29.2 使用XML
29.3 文档和DTD
29.3.1 DTD的结构
29.3.2 合法性与非合法性解析器
29.4 SAX和DOM的比较
29.4.1 SAX
29.4.2 DoM
29.5 PHP的DOM函数
29.5.1 SAX
29.5.2 使用SAX
29.5.3 SAx选项
29.6 针对SAx的PHP函数
29.7 自定义的SAX应用程序
29.8 常见问题及解答
29.9 小结
第30章 使用面向对象编程技术
30.1 面向对象编程擅长于什么
30.1.1 面向对象技术
30.1.2 PHP中的对象、类和类型
30.1.3 属性
30.1.4 函数
30.1.5 构造函数
30.6 继承
30.1.7 覆盖
30.1.8 重载
30.1.9 作用域
30.1.10 赋值、别名和引用
30.1.11 显示和打印对象
30.1.12 自检
30.2 类型和类自检函数
30.3 对象序列化
30.4 扩展接口:COM、DCOM、Java和CORBA
30.4.1 COM和DCOM
30.5 面向对象应用程序示例
30.6 小结
第31章 安全性和密码学
31.1 可能遭受的攻击
31.1.1 站点毁损
31.1.2 访问源代码
31.1.3 阅读任意的文件
31.1.4 运行任意的程序
31.1.5 病毒和其他电子恶意代码
31.1.6 E-mail安全
31.2 加密
31.2.1 公开密钥加密
31.2.2 单密钥加密
31.2.3 为cookie加密
31.2.4 散列法
31.2.5 数字签名文件
31.2.6 安全服务器层
31.3 FYI:安全Web站点
31.4小结
第32章 配置和调整
32.1 了解环境变量
32.2 理解PHP配置
32.2.1 编译时选项
32.2.2 CGI编译时选项
32.2.3 Apache配置文件
32.2.4 Php.ini文件
32.3 改善PHP性能
32.4 小结
附录A C程序员关心的内容
附录B ASP程序员关心的内容
附录C HTML程序员关心的内容
附录D PHP资源
名词解释
第1章 为什么使用PHP
1.1 什么是PHP
1.2 PHP的历史
1.3 PHP受欢迎的原因
1.3.1 PHP是免费的
1.3.2 PHP易学易用
1.3.3 PHP是内嵌的
1.3.4 PHP的交叉平台特性
1.3.5 PHP并不基于标记
1.3.6 PHP的稳定性
1.3.7 PHP非常迅速
1.3.8 PHP是开放的
1.3.9 PHP的合作能力很强
1.3.10 PHP十分流行并在逐渐成长
1.3.11 PHP不属于任何人
1.3.12 PHP团体
1.4 小结
第2章 服务器端Web脚本编制
2.1 静态HTML
2.2 客户端技术
2.3 服务器端脚本编制
2.4 服务器端脚本擅长之处
2.5 小结
第3章 PHP起步
3.1 虚拟主机和DIY的对比
3.1.1 ISP选项
3.1.2 选择自建主机的各项细则
3.1.3 折衷解决方案
3.2 安装PHP
3.2.1 开始之前的准备
3.2.2 安装过程
3.2.3 开发工具
3.3 小结
第4章 在HTML-中添加PHP
4.1 HTML是兼容PHP的
4.2 从HTML转入PHP模式
4.2.1 规范的PHP标记
4.2.2 简短开始(SGML风格)标记
4.2.3 Hello World
4.2.4 进出PHP模式
4.2.5 包含文件
4.3 小结
第5章 语法、变量和输出
5.1 PHP的宽松风格
5.2 HTML不是PHP
5.3 PHP的C风格语法
5.3.1 PHP对空白不敏感
5.3.2 PHP有时区分大小写
5.3.3 语句是以分号结尾的表达式
5.3.4 花括号的使用
5.4 注释
5.4.1 C风格的多行注释
5.4.2 单行注释:4和//
5.5 变量
5.5.1 PHP变量是Perl风格的
5.5.2 声明变量
5.5.3 变量赋值
5.5.4 变量重新赋值
5.5.5 未赋值的变量
5.5.6 变量作用域
5.5.7 模式的切换
5.6 输出
5.6.1 回显和打印
5.6.2 变量和字符串
5.7 小结
第6章 PHP中的类型
6.1 首要原则是放松
6.1.1 没有变量类型声明
6.1.2 自动类型转换
6.1.3 根据上下文分配的类型
6.2 类型小结
6.3 简单类型
6.3.1 整型
6.3.2 双精度型
6.3.3 布尔型
6.3.4 示例
6.3.5 字符串型
6.4 数组
6.4.1 数组实现
6.4.2 字符串作为数组索引
6.4.3 结构类型
6.4.4 其他数组特性
6.5 对象
6.5.1 OOP概述
6.5.2 PHP的OOP
6.5.3 在PHP中定义类
6.5.4 创建对象
6.6 类型测试
6.7 赋值和强制转换
6.7.1 类型转换行为
6.7.2 显式转换
6.7.3 转换示例
6.7.4 其他有用的类型转换
6.7.5 整数溢出
6.7.6 补充内容:查找最大整数
6.8 小结
第7章 控制
7.1 布尔表达式
7.1.1 布尔常量
7.1.2 逻辑运算符
7.1.3 比较运算符
7.1.4 三元运算符
7.2 分支结构
7.2.1 if-else结构
7.2.2 switch
7.3 循环
7.3.1 有界循环和无界循环
7.3.2 While
7.3.3 do-while
7.3.4 for
7.3.5 循环示例
7.3.6 break和continue
7.3.7 关于无限循环的注意事项
7.4 可替换的控制语法
7.5 终止执行
7.6 小结
第8章 使用和定义函数
8.1 使用函数
8.1.1 返回值与副作用
8.2 函数文档
8.2.1 文档的首部
8.2.2 查找函数文档
8.3 定义自己的函数
8.3.1 什么是函数
8.3.2 函数定义语法
8.3.3 函数定义示例
8.3.4 形参与实参的对比
8.3.5 参数数目不匹配
8.4 函数和变量作用域
8.4.1 全局变量与局部变量
8.4.2 静态变量
8.5 函数作用域
8.5.1 include和reguire
8.5.2 递归
8.6 高级函数技巧
8.6.1 可变的参数个数
8.6.2 按值调用和按引用调用
8.6.3 按引用调用
8.6.4 可变函数名
8.6.5 进一步扩展的示例
8.7 小结
第9章 字符串和字符串函数
9.1 PHP中的字符串
9.1.1 字符和字符串索引
9.1.2 字符串运算符
9.1.3 连接和赋值
9.2 字符串函数
9.2.1 检查字符串
9.2.2 查找字符和子串
9.2.3 比较和搜索
9.2.4 搜索
9.2.5 选定子串
9.2.6 字符串清理函数
9.2.7 字符串替换
9.2.8 字符串集合和字符集合
9.2.9 解析函数
9.2.10 大小写函数
9.2.11 转义函数
9.2.12 打印和输出
9.3 高级字符串特性
9.3.1 正则表达式
9.3.2 HTML函数
9.4 小结
第10章 数学运算
10.1 数字类型
10.2 数学运算符
10.2.1 算术运算符
10.2.2 算术运算符和类型
lO.2.3 增1运算符
10.2.4 赋值运算符
10.2.5 比较运算符
10.2.6 优先级和括号
10.3 简单数学函数
10.4 基数转换
10.5 指数和对数
10.6 三角学
10.7 随机数
10.7.1 给发生器指定种子
10.7.2 示例:进行随机选择
10.8 任意精度(BC)
10.8.1 任意精度示例
10.8.2 把代码转化为任意精度
10.9 小结
第11章 数组和数组函数
11.1 数组的用法
11.2 PHP数组是什么
11.3 创建数组
11.3.1 直接赋值
11.3.2 array()结构
11.3.3 使用array()指定索引
11.3.4 返回数组的函数
11.4 检索值
11.4.1 用索引进行检索
11.4.2 1ist()结构
11.5 多维数组
11.6 检查数组
11.7 从数组中删除元素
11.8 遍历
11.8.1 使用遍历函数
11.8.2 用current()和next()进行遍历
11.8.3 用reset()重新开始
11.8.4 使用end()和prev()颠倒次序
11.8.5 使用key()提取键
11.8.6 空值和each()函数
11.8.7 使用array-walk()
11.9 堆栈和队列
11.10 数组的变换
11.10.1 检索键和值
11.10.2 翻 转、颠倒、混乱
11.11 变量和数组之间的变换函数
11.12 排序
11.13 小结
第12章 页面间的信息传递
12.1 HTTP是无状态的
12.2 GET参数
12.3 GET风格的URL的更好用法
12.4 POST参数
12.5 在PHP中处理变量
12.6 小结
第13章 文件系统和系统函数
13.1 文件读写函数
13.1.1 打开文件
13.1.2 读文件
13.1.3 写文件
13.1.4 关闭文件
13.2 文件系统和目录函数
13.2.1 feof
13.2.2 fi1e exists
13.2.3 fi1esize
13.3 网络函数
13.3.1 syslog函数
13.3.2 DNS函数
13.3.3 套接字函数
13.4 日期和时间函数
13.4.1 如果不知道日期或时间
13.4.2 如果已经确定了日期/时间/时间戳
13.5 历法转换函数
13.6 小结
第14章 PHP风格
14.1 风格的运用
14.2 易读性
14.2.1 注释
14.2.2 文件和变量名
14.3 可维护性
14.3.1 避免魔术数字
14.3.2 函数
14.3.3 包含文件
14.3.4 对象包装器
14.4 强健性
14.4.1 不可使用的服务
14.4.2 不是预期的变量类型
14.5 简明性和效率
14.5.1 效率:只是算法问题
14.5.2 效率优化技巧
14.5.3 简明性:最后阶段
14.5.4 简明性提示
14.6 使用HTML还是使用PHP模式
14.7 从设计中分离代码
14.7.1 函数
14.7.2 PHP中的层叠式样式表
14.7.3 模板和页面一致性
14.8 小结
第15章 基本的PHP错误
15.1 和安装有关的问题
15.1.1 现象:文件内容显示在浏览器窗口上
15.1.2 现象:HTTP不显示文本或浏览器提示保存文件或访问外部文件库
15.1.3 现象:没有找到服务器或主机/页面无法显示
15.2 显示问题
15.2.1 现象:完全为空的页面
15.2.2 现象:不完整或不是预期的页面
15.2.3 现象:PHP代码显示在Web浏览器中
15.3 载入页面失败
15.3.1 现象:不能找到文件
15.3.2 现象:打开被包含的文件失败
15.4 解析错误
15.4.1 现象:解析错误消息
15.4.2 缺少分号
15.4.3 没有8号
15.4.4 模式问题
15.4.5 被转义的引号
15.4.6 其他解析错误的原因
15.5 文件权限
15.5.1 现象:HTTP error 403
15.6 缺少包含文件
15.6.l 现象:有关包含文件的警告
15.7 未被设定的变量
15.7.1 现象:变量没有出现在打印字符串中
15.7.2 现象:数字变量出乎意料为0
15.7.3 未被设定的变量有何作用
15.7.4 大小写问题
15.7.5 范围问题
15.8 函数问题
15.8.1 现象:调用未定义的函数my-function()
15.8.2 现象:调用未定义的函数
15.8.3 现象:不能重新声明my-function()
15.8.4 现象:错误的参数数目
15.9 数学问题
15.9.1 现象:被0除
15.9.2 现象:不是预期的运算结果
15.9.3 现象:NaN(或NAN)
15.10 超时
15.11 小结
第2部分 PHP和数据库
第16章 为PHP选择适合的数据库
16.1 为什么需要使用数据库
16.1.1 避免冗余
16.1.2 避免笨拙的编程
16.1.3 搜索
16.1.4 安全问题
16.1.5 N层体系结构
16.2 选择数据库
16.2.1 不必选择
16.2.2 平面文件、关系数据库、对象关系数据库
16.2.3 0DBC/JDBC与本地API
16.2.4 可交换的数据库
16.3 展望高级性能
16.3.1 图形用户界面
16.3.2 子查询
16.3.3 复杂联结
16.3.4 线程和锁定
16.3.5 事务
16.3.6 过程与触发器
16.3.7 外键和完整性约束
16.3.8 数据库的复制
16.4 支持PHP的数据库
16.4.1 本书重点:MySQL
16.5 小结
第17章 SQL指南
17.1 SQL标准
17.2 SQL骨干
17.2.1 SELECT
17.2.2 INSERT
17.2.3 UPDATE
17.2.4 DELETE
17.3 数据库设计
17.4 数据库连接
17.5 权限与安全性
17.5.1 设置权限
17.5.2 在不同的位置存储数据库口令
17.5.3 使用PHP表单检查口令
17.5.4 学会备份
17.6 小结
第18章 PHP/MySQL函数
18.1 连接MySQL
18.2 建立MySQL查询
18.3 提取数据集
18.4 获取有关数据的数据
18.5 多个连接
18.6 建立错误检查
18.7 用PHP创建MySQL数据库
18.8 My5QL函数
18.9 小结
第19章 在表中显示查询
19.1 HTML表和数据库表
19.1.1 一对一映射
19.1.2 例子:单表显示程序
19.1.3 范例表
19.1.4 改善显示程序
19.2 复杂映射
19.2.1 多重查询与复杂打印
19.2.2 多重查询的例子
19.2.3 复杂的打印例子
19.3 创建范例表
19.4 小结
第20章 建立由查询语句得到的表单
20.1 HTML表单
20.2 自提交
20.3 处理表单提交
20.4 依赖于变量的表单
20.4.1 TEXT和TEXTAREA
20.4.2 CHECKB0X
20.4.3 RADI0
20.4.4 SELECT
20.5 依赖于查询的表单
20.6 小结
第21章 Weblog
21.1 为什么需要Weblog
21.2 最简单的Weblog
21.3 通过HTTP输入信息
21.4 添加数据库连接
21.5 潜在的附加功能
21.6 小结
第22章 用户评估系统
22.1 系统做什么
22.1.1 系统的目标
22.1.2 结构
22.1.3 数据库支持
22.2 收集选票
22.2.1 DisplayRatings()
22.2.2 GetFeedback()
22.2.3 HandleRatings()
22.3 显示总体结果
22.3.1 乱投的选票和规模
22.4 小结
第23章 PHP/数据库的效率和风格
23.1 减少连接次数和重用连接
23.1.1 不好的例子:每条语句有一个连接
23.1.2 多个结果不需要多个连接
23.1.3 永久的连接
23.2 使用数据库提供的功能
23.2.1 很可能比自己的方案快
23.2.2 一个坏例子:用了循环却没有限制它
23.2.3 创建日期和时间字段
23.2.4 寻找最后插入的记录
23.3 小结
第24章 PHP/数据库常见问题
24.1 没有连接
24.2 权限问题
24.3 未转义的引号
24.4 中断的SQL语句
24.4.1 拼写错误的名称
24.4.2 逗号引起的错误
24.4.3 未被引号引起来的字符串参数
24.4.4 未被设定的变量
24.5 数据太少或太多
24.6 清楚的检查
24.7 小结
第3部分 高级技术
第25章 会话
25.1 什么是会话
25.1.1 问题是什么
25.1.2 为什么关注这一点
25.2 相关内容
25.2.1 IP地址
25.2.2 隐藏变量
25.2.3 cookie
25.3 会话在PHP中是如何工作的
25.3.1 使PHP知晓用户会话
25.3.2 在会话中注册变量
25.3.3 数据的实际存储位置
25.4 会话函数
25.5 会话代码示例
25.6 配置问题
25.7 常见问题和解决方案
25.8 小结
第26章 cookie和HTTP
26.1 cookie
26.1.1 setcookie()函数
26.1.2 示例
26.1.3 删除cookie
26.1.4 读取cookie
26.1.5 GET、P0ST和cookie变量
26.1.6 cookie的缺陷
26.2 发送HTrP header
26.2.1 重定向示例
26.2.2 HTTP认证示例
26.2.3 有关header的常见问题
26.3 小结
第27章 PHP和JavaScript
27.1 用PHP输出JavaScript
27.1.1 关于对象的冲突
27.1.2 PHP不关心其输出
27.1.3 在何处使用JavaScrript
27.2 PHP作为JavaScript的后备
27.3 静态JavaScript与动态JavaScript
27.3.1 动态生成表单
27.3.2 将数据从JavaScript传回PHP
27.4 小结
第28章 电子邮件
28.1 了解E-mail
28.1.1 E-mail系统模型
28.2 用PHP接收E-mail
28.2.1 拒绝开发
28.2.2 在指导下进行开发
28.2.3 添加补充内容
28.3 用PHP发送E-mail
28.3.1 Windows配置
28.3.2 UNIX配置
28.3.3 和邮件有关的函数
28.4 PHP的更多电子邮件功能
28.4.1 从表单发送邮件
28.4.2 从数据库发送邮件
28.4.3 自定义的PHP邮件应用程序
28.5 小结
第29章 PHP和XML
29.1 什么是XML
29.2 使用XML
29.3 文档和DTD
29.3.1 DTD的结构
29.3.2 合法性与非合法性解析器
29.4 SAX和DOM的比较
29.4.1 SAX
29.4.2 DoM
29.5 PHP的DOM函数
29.5.1 SAX
29.5.2 使用SAX
29.5.3 SAx选项
29.6 针对SAx的PHP函数
29.7 自定义的SAX应用程序
29.8 常见问题及解答
29.9 小结
第30章 使用面向对象编程技术
30.1 面向对象编程擅长于什么
30.1.1 面向对象技术
30.1.2 PHP中的对象、类和类型
30.1.3 属性
30.1.4 函数
30.1.5 构造函数
30.6 继承
30.1.7 覆盖
30.1.8 重载
30.1.9 作用域
30.1.10 赋值、别名和引用
30.1.11 显示和打印对象
30.1.12 自检
30.2 类型和类自检函数
30.3 对象序列化
30.4 扩展接口:COM、DCOM、Java和CORBA
30.4.1 COM和DCOM
30.5 面向对象应用程序示例
30.6 小结
第31章 安全性和密码学
31.1 可能遭受的攻击
31.1.1 站点毁损
31.1.2 访问源代码
31.1.3 阅读任意的文件
31.1.4 运行任意的程序
31.1.5 病毒和其他电子恶意代码
31.1.6 E-mail安全
31.2 加密
31.2.1 公开密钥加密
31.2.2 单密钥加密
31.2.3 为cookie加密
31.2.4 散列法
31.2.5 数字签名文件
31.2.6 安全服务器层
31.3 FYI:安全Web站点
31.4小结
第32章 配置和调整
32.1 了解环境变量
32.2 理解PHP配置
32.2.1 编译时选项
32.2.2 CGI编译时选项
32.2.3 Apache配置文件
32.2.4 Php.ini文件
32.3 改善PHP性能
32.4 小结
附录A C程序员关心的内容
附录B ASP程序员关心的内容
附录C HTML程序员关心的内容
附录D PHP资源
名词解释
猜您喜欢