译者序
作者介绍
前言
第1章 什么是PHP
1.1 PHP简介
1.1.1 PHP的发展历程
1.1.2 PHP的现状
1.2 本书的风格和编排
1.3 小结
1.4 一些有用的网站
第2章 安装和配置PHP
2.1 安装
2.1.1 平台和Web服务器
2.1.2 PHP的模块
2.1.3 CGI解释器和Apache模块
2.1.4 获得PHP
2.1.5 在UNIX下建立和安装PHP
2.1.6 测试和基准测试
2.1.7 在Windows下安装PHP
2.1.8 在microsoft pws下安装php
2.1.9 在omnihttpd下安装php
2.1.10 在microsoft Ⅱs 5.0下安装php
2.2 配置
2.2.1 在编译时进行配置
2.2.2 用Apache命令进行配置
2.2.3 利用php.ini文件进行配置
2.3 MySQL
2.3.1 安装MySQL
2.3.2 配置系统的访问权限
2.4 Boutell的GD库:支持创建GIF图片
2.5 Expat:XML分析支持
2.6 小结
2.7 建议读物
第3章 在Web环境下编程
3.1 为什么用PHP
3.2 Web方面的技术
3.2.1 静态发布
3.2.2 动态站点
3.3 编写PHP页面
3.3.1 PHP和客户端代码
3.3.2 PHP变量
3.3.3 与用户交互
3.3.4 处理表单数据
3.4 一个工作申请表
3.4.1 URL编码的介绍
3.4.2 注释代码
3.4.3 字符转义
3.5 小结
第4章 变量、常量和数据类型
4.1 数据类型
4.2 数据的值
4.3 常量
4.3.1 定义常量
4.3.2 内置常量
4.4 变量的声明和初始化
4.5 类型转变和类型强制
4.5.1 字符转变和类型转变
4.5.2 类型强制
4.6 变量的变量
4.7 关于变量的一些有用函数
4.8 建立一个在线工作申请表
4.9 小结
第5章 操作符
5.1 算术运算符
5.2 赋值符号
5.3 比较符号
5.4 逻辑操作符
5.5 字符串连接符号
5.6 三元操作符
5.7 位运算符
5.8 变量赋值的简洁方式
5.9 其他类型操作符
5.9.1 变量操作符
5.9.2 对象操作符
5.9.3 错误抑制符号
5.10 操作符的优先级和组合
5.11 建立一个在线的工作申请表
5.12 小结
第6章 语句
6.1 条件语句
6.1.1 if语句
6.1.2 分支条件语句
6.1.3 switch语句
6.2 循环
6.2.1 while循环
6.2.2 do...while循环
6.2.3 for循环
6.2.4 foreach语句
6.3 在PHP脚本中包含文件
6.4 从PHP脚本中退出
6.5 建立一个在线工作申请表
6.6 小结
第7章 函数
7.1 函数如何工作
7.2 变量的作用范围和生命周期
7.3 函数的嵌套和递归
7.4 把函数赋给一个变量
7.5 建立一个在线工作申请表
7.6 小结
第8章 数组
8.1 简单数组
8.1.1 初始化数组
8.1.2 数组的遍历
8.2 字符串索引的数组
8.3 多维数组
8.4 排序函数
8.5 在表单元素中使用数组
8.6 小结
第9章 面向对象的编程
9.1 什么是面向对象的编程
9.1.1 分类
9.1.2 实例化
9.2 继承
9.3 小结
第10章 字符串处理和正规表达式
10.1 基本的字符串函数
10.2 正规表达式
10.2.1 基本模式匹配
10.2.2 正规表达式函数
10.3 建立在线工作申请表
10.4 小结
第11章 文件处理与数据存储
11.1 文件处理
11.1.1 打开文件
11.1.2 关闭文件
11.1.3 显示文件内容
11.1.4 从文件中读取内容
11.1.5 把数据写入文件
11.1.6 文件的遍历
11.1.7 拷贝、删除和重命名文件
11.1.8 决定文件的属性
11.1.9 目录的处理
11.2 从客户端上载文件
11.2.1 处理上载文件
11.2.2 确定文件有效
11.3 完善工作申请表
11.4 非关系型数据库
11.4.1 程序说明
11.4.2 地址簿的用户界面
11.4.3 设计总体查看的表单
11.4.4 数据库查询
11.4.5 删除条目
11.4.6 显示条目
11.4.7 编辑地址簿
11.4.8 更新数据库
11.4.9 增加新条目
11.4.10 从CSV文件输入数据
11.4.11 综合起来
11.5 小结
第12章 PHP与SQL数据库
12.1 为何要使用数据库
12.2 结构化查询语言
12.2.1 PHP写的SQL代码测试器
12.2.2 SQL语言参考
12.3 PHP对数据库连接的支持
12.3.1 MySQL数据库
12.3.2 PHP中对MySQL支持的函数
12.4 一个PHP和MySQL应用程序的例子
12.5 小结
第13章 PHP与LDAP
13.1 目录服务与LDAP
13.1.1 ldap特性
13.1.2 ldap与大规模数据库
13.2 LDAP的工作
13.2.1 ldap组件
13.2.2 ldap的数据组织
13.2.3 ldap说明
13.2.4 目录与数据库
13.2.5 ldap的操作
13.2.6 ldap的方言-ldif
13.2.7 ldap的一些高级特性
13.3 LDAP软件
13.3.1 ldap软件的选择
13.3.2 安装与配置ldap服务器
13.3.3 运行slapd服务器
13.4 PHP对LDAP的支持
13.4.1 PHP提供的LDAP API
13.4.2 连接函数
13.4.3 查询函数
13.4.4 修改函数
13.4.5 PHP的ldap应用程序
13.5 小结
第14章 XML
14.1 什么是XML
14.2 XML语言
14.2.1 XML文档的结构
14.2.2 文档类型定义
14.3 PHP对XML的支持
14.4 PHP的XML函数
14.4.1 生成XML解析器
14.4.2 注册回调函数
14.4.3 解析XML文档
14.4.4 释放解析器
14.4.5 解析器选项
14.4.6 实用函数
14.5 PHP的XML应用程序
14.5.1 支持Web的企业级应用程序
14.5.2 聪明的检索
14.5.3 转换XML到HTML
14.5.4 相同数据的不同外观
14.6 PHP XML应用程序示例
14.7 小结
第15章 图像生成和处理
15.1 图像和服务器端脚本
15.2 PHP中的图像处理
15.2.1 安装具有图像支持的PHP
15.2.2 PHP的图像函数
15.3 使用图像函数的应用程序
15.3.1 使用PHP的示例图像应用
15.3.2 显示计数器的页面
15.3.3 记录点击次数
15.3.4 生成图像
15.4 小结
第16章 网络连接
16.1 客户和服务器
16.2 使用TCP
16.3 whois 函数
16.4 前台的界面
16.5 扩展前台界面
16.6 我的域名仍然可用吗
16.7 Web客户端
16.8 小结
第17章 发送和接收电子邮件
17.1 发送电子邮件
17.1.1 mail() 命令
17.1.2 mime_mail 类
17.1.3 使用SMTP
17.2 接收电子邮件
17.3 小结
第18章 cookie
18.1 什么是cookie
18.2 cookie的限制
18.3 PHP中的cookie
18.3.1 开始
18.3.2 你的名字是什么
18.4 存取一个cookie
18.5 设置一个cookie
18.5.1 多值cookie
18.5.2 设置失效日期
18.5.3 限制cookie的范围
18.6 删除一个cookie
18.7 一般未知危险
18.8 发送HTTP头
18.9 小结
第19章 调试及错误处理
19.1 错误的类型
19.1.1 语法错误
19.1.2 语义错误
19.1.3 逻辑错误
19.1.4 环境错误
19.2 php的出错信息
19.2.1 php的错误级别
19.2.2 设置错误报告的级别
19.3 错误处理
19.3.1 抑制错误信息
19.3.2 错误之后的完美恢复
19.3.3 错误检查的定制
19.4 记录错误
19.5 一些常见的错误
19.5.1 已发送头信息
19.5.2 未定义函数
19.5.3 字符转义错误
19.5.4 最大执行时间
19.6 小结
第20章 安全问题
20.1 安全的重要性
20.2 从头开始
20.3 保护Web服务器
20.4 使PHP更为安全
20.5 使用安全模式
20.6 用户识别和验证
20.7 使用加密技术
20.8 使用SSL
20.8.1 下载OpenSSL和ModSSL
20.8.2 编译和安装OpenSSL库
20.8.3 编译和安装mod_ssl
20.8.4 SSL基本配置
20.8.5 安装专用密钥
20.8.6 创建证书请求和临时证书
20.8.7 取得签名证书
20.9 使用Apache的suEXEC机制
20.10 创建安全的php脚本
20.11 小结
第21章 字符的自动转义
21.1 问题所在
21.1.1 转换过程
21.1.2 定义使用范围
21.2 使用自动转义
21.3 两个有用的函数
21.4 可选方式
21.5 小结
第22章 模板
22.1 通用的模板技术
22.2 在应用程序中使用模板
22.2.1 内嵌PHP
22.2.2 分离通用部分的代码
22.2.3 快速模板
22.2.4 网站框架
22.3 现有代码与快速模板
22.4 小结
第23章 案例1-购物车应用程序
23.1 需求分析
23.2 选择应用程序所需的软件
23.3 最终用户和购物车应用程序的交互
23.4 设计购物车应用程序
23.4.1 数据库设计
23.4.2 中间层的设计
23.5 最终用户特性的实现
23.6 应用程序代码
23.7 管理界面的实现
23.8 小结
第24章 案例2-Phorum论坛程序
24.1 为什么使用PHP
24.1.1 数据库支持
24.1.2 在HTML中内嵌PHP
24.1.3 异常错误的处理
24.2 Phorum怎样运行
24.3 代码研究
24.3.1 代码重用
24.3.2 数据库的抽象层
24.3.3 动态生成PHP代码
24.3.4 在cookie中存放用户数据
24.3.5 核心文件forums.inf
24.3.6 论坛列表
24.3.7 列出消息
24.3.8 阅读消息
24.3.9 张贴消息
24.3.10 搜索
24.4 小结
第25章 案例3-电子邮件程序
25.1 程序功能
25.2 程序实现
25.3 小结
第26章 案例4-数据库浏览器
26.1 设计应用程序
26.2 数据库图解
26.2.1 Protein表
26.2.2 位置表
26.3 脚本的整体设计
26.4 简单SQL查询脚本
26.5 包含外部函数模块
26.5.1 生成SQL语句
26.5.2 数据中间层脚本
26.5.3 显示结果
26.6 查询标识字段
26.7 扩展查询界面
26.8 一些想法
26.9 小结
第27章 案例5-session应用程序
27.1 关于session
27.2 在php3中实现session
27.2.1 安装和初始化
27.2.2 基本使用方法
27.2.3 实地演习
27.3 php4中的session
27.3.1 从这里开始
27.3.2 与session相关的php.ini配置
27.3.3 php4中的session函数
27.4 session的定制
27.5 小结
附录A PHP函数
附录B 关于PHP的10个常见问题
附录C 关于PHP的10个技巧
附录D 关于PHP的10篇文章