首页>参考读物>计算机科学与技术>软件与程序设计

PHP完全自学手册
作者 : 宫垂刚 韦一 张华丰
丛书名 : 编程红宝书
出版日期 : 2008-10-08
ISBN : 7-111-24259-8
定价 : 69.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 516
开本 : 16开
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书涵盖主题
  ◎以Apache和PHP搭建起的开发平台
  ◎使用Eclipse作为开发工具
  ◎PHP语法基础
  ◎数组、目录、文件、路径与磁盘函数
  ◎COOKIE和SESSION、字符串、正则表达式、图形处理函数
  ◎函数、类与对象之间的关系
  ◎MySQL数据库的安装、配置与管理
  ◎ADODB、Smarty的配置与使用方法
  ◎项目规划
  ◎安全问题及解决方法
  ◎PHP与Ajax的交换过程
  ◎扩展SAJAX开发框架支持中文编码的Ajax编程
  ◎用户管理案例
  ◎内容管理系统
  ◎基于Ajax的用户管理系统

图书特色

图书前言

网络开发语言很多,但对于初学者来说,学习一种开发语言,不仅要“易学”,还要“易用”,更重要的是,学习这种语言还要有可发展的空间。
PHP“易学”,对于有网络语言基础的读者来说,一周内就能轻松地使用PHP进行程序开发。而对于新手来说,2~3周的时间,也足以让其了解PHP的大概,并使用PHP开发一些诸如留言板、计数器、动态网站等小型程序。
PHP“易用”,要开发或运行一个PHP程序,只需要架设一台支持PHP的网络服务器。而支持PHP的网络服务器与操作系统有很多,这使开发人员有更多的选择,以使PHP程序运行在更多的平台上。
PHP容易学习、容易使用,这使得PHP的入门很轻松。PHP从诞生至今,已经推出了5个版本,可以看出PHP的发展势头相当好。最重要的是,PHP作为一种网络开发语言,已经被应用在各种网站、软件的开发中,只有经过实践检验的开发语言,才能得到众多开发人员的推荐与使用。
本书的内容
本书共分为六篇。从PHP的语法开始,介绍了PHP语言的诸多特性,同时对于与PHP相关的知识,例如:开发环境、开发工具、数据库、开发模式、开发流程等也进行了深入浅出的介绍。
第一篇(第1章至第3章)主要是PHP入门的基础知识,对于语言学习中的专业术语,使用简单的语言进行了介绍。同时对于PHP的语法,以及类与对象的概念,也进行了深入浅出的介绍。
第二篇(第4章至第9章)分章节介绍了PHP编程经常使用到的函数,并以实例代码的方式,显示了函数的使用方法,以及使用文字的方式,提出了需要注意的问题。本篇列出了关于数组、目录与文件、Cookie与Session、字符串、正则表达式、图形处理相关的大部分函数,这些函数可以满足大部分编程人员的编程要求。
第三篇(第10章至第11章)介绍与MySQL数据相关的知识,通过本篇中的章节,可以了解通过PHP如何访问和操作MySQL数据库。
第四篇(第12章至第14章)从基础知识开始,介绍了项目规划、代码安全、版本管理等方面的知识,可以帮助PHP初学者快速进入状态。
第五篇(第15章至第17章)用了3个章节,详细地介绍了使用PHP开发用户管理系统,以及内容管理系统的过程。并在开发过后介绍了应用程序异常及调试的技巧,让开发和调试变得更加轻松。
第六篇(第18章至第19章)介绍关于PHP与Ajax的内容,读者可以从本篇的章节中,了解到Ajax支持的原理,以及使用Ajax开发程序的方法。对于想更深入了解Ajax的读者来说,本篇还介绍了SAjax开发框架的使用方法,这些知识都可以帮助PHP初学者快速地了解Ajax和进行Ajax程序的开发状态。
本书的学习流程
PHP是一种优秀的网络开发语言,其在网络程序开发中,得到了广泛的应用。希望通过本书的介绍,可以帮助希望了解PHP的读者,真正地了解与应用PHP。读者可以遵循本书的写作顺序,参考以下流程图阅读本书。
本书配套光盘内容
q 本书源代码;
q 本书电子教案(PPT);
q 1200余页编程技术文档(免费赠送);
q 45个编程专题视频讲座(免费赠送);
本书适合的读者
q PHP初学者。
q Ajax初学者。
q MySQL数据库初学者。
q 使用PHP开发网站的人员。
q 使用PHP开发网络软件的开发人员。
q 想了解Smarty模板系统的初学者及开发人员。
q 想了解SAJAX框架的初学者及开发人员。
本书的作者
本书由宫垂刚组织编写,参与编写和资料整理的还有韦一,张华丰,冯彬、刘兰军、刘明、刘长江、吝晓宁、多召英、张士强、张洪福、方中纯、方成林、李宽、江宽、汪洋、陈冠军、沙金、王建超、班晓娟、白广元、蔡念光、贾旭、邓薇、郑雪峰、陈科、陈辉、高会东、黄丽莉。

编 者

封底文字

本书涵盖主题
  ◎以Apache和PHP搭建起的开发平台
  ◎使用Eclipse作为开发工具
  ◎PHP语法基础
  ◎数组、目录、文件、路径与磁盘函数
  ◎COOKIE和SESSION、字符串、正则表达式、图形处理函数
  ◎函数、类与对象之间的关系
  ◎MySQL数据库的安装、配置与管理
  ◎ADODB、Smarty的配置与使用方法
  ◎项目规划
  ◎安全问题及解决方法
  ◎PHP与Ajax的交换过程
  ◎扩展SAJAX开发框架支持中文编码的Ajax编程
  ◎用户管理案例
  ◎内容管理系统
  ◎基于Ajax的用户管理系统

作者简介

宫垂刚 韦一 张华丰:暂无简介

图书目录

目   录
写给自学编程的人员
前言
第一篇  PHP基础知识
第1章  相关知识 1
1.1  PHP及相关术语 1
1.1.1  软件系统相关术语 1
1.1.2  PHP语言相关术语 3
1.2  PHP的运行及开发环境 5
1.2.1  运行环境 5
1.2.2  运行平台的选择 5
1.2.3  Apache对客户端与服务器端通信的作用 5
1.2.4  准备工作 6
1.2.5  安装Apache 6
1.2.6  确认Apache安装成功 8
1.2.7  PHP安装准备 9
1.2.8  安装PHP 10
1.2.9  确认PHP安装成功 12
1.2.10  Apache与PHP的相关配置 12
1.2.11  开发工具 14
1.2.12  Eclipse的下载、安装及配置 15
1.3  第1个PHP程序 17
1.3.1  使用Eclipse编写源程序 17
1.3.2  发布和运行PHP程序 20
1.4  常见问题 21
1.4.1  Apache安装常见问题 21
1.4.2  MySQL安装常见问题 22
1.4.3  PHP安装常见问题 22
1.4.4  关于Eclipse的问题 22
第2章  语法 24
2.1  语法基础 24
2.1.1  使用PHP输出HTML 24
2.1.2  使用显示函数输出HTML 25
2.1.3  使用开始符、结束符嵌套HTML 26
2.1.4  使用定界符显示HTML 26
2.1.5  把PHP嵌入HTML 27
2.1.6  PHP与JavaScript的交互 28
2.1.7  使用PHP生成JavaScript 28
2.1.8  在PHP与JavaScript中使用Cookie传递变量 29
2.1.9  使用临时文件进行数据交换 31
2.1.10  使用注释 33
2.2  类型 34
2.2.1  布尔型 34
2.2.2  布尔型的类型转换 35
2.2.3  整型 36
2.2.4  整型的类型转换 36
2.2.5  浮点型 38
2.2.6  浮点型的类型转换 38
2.2.7  字符串 38
2.2.8  字符串与双引号 39
2.2.9  字符串与定界符 40
2.2.10  简单语法与复杂语法 41
2.2.11  字符串型的类型转换 41
2.2.12  数组 43
2.2.13  简单的数组操作 44
2.2.14  遍历数组 46
2.2.15  数组的类型转换 46
2.2.16  多维数组 48
2.2.17  对象 48
2.2.18  对象的类型转换 49
2.2.19  资源 49
2.2.20  NULL 50
2.2.21  变量类型之间的转换 51
2.3  变量 51
2.3.1  命名规则 51
2.3.2  变量类型 52
2.3.3  变量范围 53
2.3.4  全局与超全局变量 53
2.3.5  静态变量 54
2.3.6  可变变量 55
2.3.7  外部变量 56
2.4  预定义变量 58
2.4.1  服务器变量:$_SERVER 58
2.4.2  环境变量:$_ENV 59
2.4.3  HTTP Cookies变量:$_Cookie 60
2.4.4  HTTP GET变量:$_GET 60
2.4.5  HTTP POST变量:$_POST 60
2.4.6  HTTP文件上传变量:$_FILES 60
2.4.7  Request变量:$_REQUEST 61
2.4.8  Session变量:$_SESSION 61
2.4.9  Global变量:$GLOBALS 62
2.5  常量 62
2.5.1  定义和使用常量 62
2.5.2  预定义常量 63
2.6  表达式与运算符 64
2.6.1  表达式的组成 64
2.6.2  运算符优先级 64
2.6.3  算术运算符 66
2.6.4  赋值运算符 66
2.6.5  位运算符 66
2.6.6  比较运算符 67
2.6.7  错误控制运算符 68
2.6.8  执行运算符 68
2.6.9  递增/递减运算符 69
2.6.10  逻辑运算符 69
2.6.11  字符串运算符 70
2.6.12  数组运算符 70
2.6.13  类型运算符 70
2.7  程序流程控制 71
2.7.1  if else elseif分支控制 71
2.7.2  while do-while循环控制 72
2.7.3  for foreach循环控制 73
2.7.4  switch case开关控制 75
2.7.5  break控制符 76
2.7.6  continue控制符 78
2.7.7  return控制符 80
2.7.8  流程控制的替代语法 82
2.7.9  包含运行文件操作 83
2.8  引用 84
2.8.1  建立引用 84
2.8.2  引用的应用 84
2.8.3  取消引用 85
2.9  常见问题 85
2.9.1  嵌套问题 85
2.9.2  数组问题 85
2.9.3  关于变量范围 86
2.9.4  关于表单变量 86
第3章  函数、类与对象 87
3.1  函数 87
3.1.1  用户自定义函数 87
3.1.2  函数的其他定义方式 88
3.1.3  递归函数 89
3.1.4  函数的参数 89
3.1.5  函数的返回值 91
3.1.6  变量函数 92
3.1.7  系统函数 93
3.2  类的实现与应用 93
3.2.1  类的创建 93
3.2.2  类的实例化与访问 94
3.2.3  类的继承 95
3.2.4  子类访问基类的方法 97
3.2.5  方法的重载 98
3.2.6  静态属性、方法与范围解析符 99
3.2.7  静态属性、方法与类继承 100
3.2.8  类与常量 101
3.3  类的其他特性 102
3.3.1  构造函数和析构函数 102
3.3.2 带有参数的类 103
3.3.3  类的访问控制 104
3.3.4  克隆对象 106
3.3.5  自动加载对象 107
3.3.6  对象序列化 108
3.3.7  魔术方法_sleep()和_wakeup() 109
3.3.8  final关键字 111
3.3.9  抽象方法与抽象类 111
3.3.10  接口技术 112
3.4  常见问题 115
3.4.1  带有默认参数函数的使用方法 115
3.4.2  静态方法与类的继承与重载 116
3.4.3  类的封装与抽象类 116
第二篇  数 据 处 理
第4章  数组 117
4.1  创建数组的几种方法 117
4.1.1  新建一个数组 117
4.1.2  使用变量建立数组 118
4.1.3  使用两个数组创建一个数组 118
4.1.4  建立指定范围单元的数组 119
4.2  数组中键名和值的操作 120
4.2.1  检查数组中是否存在某个键名或值 120
4.2.2  取得数组当前单元的键名 121
4.2.3  把数组中的值赋予指定变量 121
4.2.4  用给定的值填充数组单元 122
4.2.5  交换数组中的键名和值 123
4.2.6  返回数组中所有的键名或值 124
4.2.7  用值将数组填补到指定长度 125
4.2.8  删除、取代数组中现有值 126
4.2.9  移除数组中重复的值 127
4.2.10  在数组中搜索给定的值 127
4.3  遍历数组的3种方法 128
4.3.1  使用while、list与each访问数组 128
4.3.2  使用for、foreach 访问数组 129
4.4  数组的排序 130
4.4.1  对数组排序 130
4.4.2  对数组逆向排序 130
4.4.3  对多个数组或多维数组进行排序 131
4.4.4  将数组顺序打乱 132
4.4.5  对数组排序并保持索引关系 133
4.4.6  对数组按照键名排序 133
4.4.7  用“自然排序”算法对数组排序 134
4.4.8  返回一个单元顺序相反的数组 135
4.5  数组的栈操作 136
4.5.1  出栈操作 136
4.5.2  入栈操作 136
4.5.3  将数组开头的单元移出数组 136
4.5.4  在数组开头插入一个或多个单元 137
4.5.5  数组的指针操作 137
4.5.6  获取数组中的当前单元 138
4.6  数组的计算 139
4.6.1  计算数组单元数目 139
4.6.2  统计数组中所有的值出现的次数 140
4.6.3  计算数组的差集 140
4.6.4  计算数组的交集 141
4.6.5  计算数组中所有值的乘积、和 142
4.7  其他数组函数 143
4.7.1  数组与变量之间的转换 143
4.7.2  合并数组 144
4.7.3  从数组中随机取出单元 145
4.8  常见问题 145
4.8.1  数组的键名 145
4.8.2  数组函数的参数 145
第5章  目录与文件 146
5.1  操作目录 146
5.1.1  打开目录句柄 146
5.1.2  新建目录 146
5.1.3  删除目录 147
5.1.4  取得当前工作目录 147
5.1.5  改变当前目录 148
5.1.6  从目录句柄中读取条目 148
5.1.7  列出指定路径中的文件和目录 149
5.1.8  关闭目录句柄 149
5.1.9  directory类 150
5.2  操作文件的一般方法 150
5.2.1  打开文件 150
5.2.2  读取文件 151
5.2.3  写入文件 152
5.2.4  关闭文件 154
5.3  文件的基本操作 154
5.3.1  在当前目录新建文件 154
5.3.2  新建临时文件 154
5.3.3  新建具有唯一文件名的文件 155
5.3.4  删除文件 155
5.3.5  复制文件 156
5.3.6  移动、重命名文件或目录 156
5.4  写入文件 157
5.4.1  fwrite()函数 157
5.4.2  CSV文件格式与文件存储 157
5.4.3  将字符串写入文件 158
5.5  文件的读取与指针 159
5.5.1  把整个文件读入到数组中 159
5.5.2  将文件读取到字符串 160
5.5.3  使用指定格式读取文件 160
5.5.4  解析一个配置文件 161
5.5.5  获取、设置文件内部指针位置 162
5.5.6  从文件指针处读取字符 163
5.5.7  从文件指针处读取数据 163
5.5.8  CSV文件格式与文件读取 164
5.5.9  从文件指针处读取数据并过滤HTML 165
5.5.10  重置文件指针的位置 165
5.5.11  文件尾部指针测试 166
5.6  文件的上传与下载 166
5.6.1  处理上传文件 166
5.6.2  读取文件到输出缓冲区 167
5.6.3  将文件输出到缓冲区 168
5.6.4  实现文件下载 168
5.7  文件属性的操作 169
5.7.1  获取文件统计信息 169
5.7.2  通过文件句柄获取文件统计信息 170
5.7.3  获取文件相关信息 171
5.7.4  修改文件访问和修改时间 172
5.7.5  改变文件所属的组 173
5.7.6  改变文件所有者 173
5.7.7  改变文件权限 173
5.8  文件操作的错误处理 174
5.8.1  判断给定文件名是否是目录 174
5.8.2  判断给定文件名是否可执行 175
5.8.3  判断给定文件名是否是文件 175
5.8.4  判断指定文件是否可读 176
5.8.5  判断文件是否是通过HTTP POST上传的 177
5.8.6  判断给定的文件名是否可写 178
5.8.7  检查文件或目录是否存在 178
5.9  路径与磁盘操作 179
5.9.1  获取文件路径的信息 179
5.9.2  获取路径中的文件名部分 180
5.9.3  获取路径中的目录部分 180
5.9.4  寻找与模式匹配的文件路径 181
5.9.5  获取目录中的可用空间 181
5.9.6  获取一个目录的磁盘总大小 181
5.10  常见问题 182
5.10.1  关于文件读取 182
5.10.2  文件系统函数的错误信息 182
第6章  COOKIE和SESSION的常用函数及应用 183
6.1  COOKIE的相关函数及应用 183
6.1.1  使用函数创建COOKIE 183
6.1.2  创建COOKIE的其他方法 184
6.1.3  使用COOKIE 185
6.1.4  删除COOKIE 185
6.1.5  COOKIE的简单应用 186
6.2  SESSION的相关函数 191
6.2.1  SESSION的设置函数 191
6.2.2  注册SESSION变量 191
6.2.3  访问SESSION变量 192
6.2.4  删除SESSION变量 192
6.2.5  设置SESSION 标识 193
6.2.6  设置SESSION名称 194
6.2.7  SESSION的缓冲控制方式 194
6.2.8  SESSION的编码 195
6.2.9  SESSION的COOKIE参数 196
6.3  SESSION的应用 197
6.3.1  SESSION的错误处理 197
6.3.2  SESSION应用示例 198
6.4  常见问题 202
6.4.1  COOKIE失效 202
6.4.2  SESSION的跨页传递 203
第7章  字符串 204
7.1  字符串显示函数 204
7.1.1  输出字符串到屏幕 204
7.1.2  字符串与文件 205
7.2  字符串与数组 206
7.2.1  将字符串分割成小块 206
7.2.2  在字符串中插入字符串 207
7.2.3  字符串转化为数组 208
7.2.4  数组转化为字符串 209
7.3  字符串与空格 210
7.3.1  去掉字符串左边的字符 210
7.3.2  去掉字符串右边的字符 211
7.3.3  去掉字符串两边的字符 212
7.4  字符串的比较 213
7.4.1  字符串比较 213
7.4.2  使用函数比较字符串 214
7.5  字符串的替换与插入 215
7.5.1  替换当前字符串中的字符 215
7.5.2  在指定位置插入字符串 216
7.5.3  字符串替换函数与模板 217
7.6  字符串与HTML 218
7.6.1  把字符转化为HTML实体形式 218
7.6.2  把HTML实体转化为特殊字符 220
7.6.3  换行符的转换 220
7.7  字符串与加密 221
7.7.1  使用MIME base64编码加密和解密数据 221
7.7.2  编码和解码URL 222
7.7.3  字符串与MD5 223
7.8  其他字符串函数 223
7.8.1  计算字符串长度 223
7.8.2  二进制数据转换成十六进制 224
7.8.3  ASCII码与字符串 224
7.8.4  HTML的标签控制 224
7.8.5  解析URL 225
7.8.6  字母大小写的转换 225
7.9  常见问题 226
7.9.1  关于模板应用的问题 226
7.9.2  关于HTML编码的问题 226
第8章  正则表达式 227
8.1  POSIX扩展正则表达式函数 227
8.1.1  正则表达式基础 227
8.1.2  正则表达式替换 229
8.1.3  正则表达式匹配 230
8.1.4  不区分大小写的正则表达式替换 231
8.1.5  不区分大小写的正则表达式匹配 231
8.1.6  使用正则表达式分割数组 232
8.1.7  用正则表达式不区分大小写将字符串分割到数组中 233
8.1.8  产生不区分大小写匹配的正则表达式 233
8.2  PERL兼容正则表达式函数 234
8.2.1  返回与模式匹配的数组单元 235
8.2.2  正则表达式匹配 235
8.2.3  全局正则表达式匹配 236
8.2.4  转义正则表达式字符 237
8.2.5  正则表达式的搜索和替换 238
8.2.6  用正则表达式分割字符串 239
8.3  正则表达式应用实例 240
8.3.1  正则表达式的应用 241
8.3.2  匹配特定数字 242
8.3.3  匹配特定字符串 242
8.3.4  常用正则表达式 243
8.4  常见问题 243
8.4.1  关于正则表达式的语法 243
8.4.2  关于字符串替换 244
8.4.3  关于正则表达式的选择 244
第9章  图形处理 245
9.1  创建和销毁图形 245
9.1.1  创建和销毁图形的方法 245
9.1.2  新建一个真彩色图形 246
9.1.3  使用已有图片创建新图形 246
9.2  几何图形与图形填充 247
9.2.1  画一个单一像素 247
9.2.2  画一条线段 248
9.2.3  画椭圆弧 249
9.2.4  画椭圆 250
9.2.5  画一个矩形 251
9.2.6  画一个多边形 252
9.2.7  区域填充 253
9.2.8  画一道椭圆弧且填充 255
9.2.9  画一个椭圆并填充 256
9.2.10  画一个矩形并填充 257
9.2.11  画一个多边形并填充 258
9.2.12  区域填充到指定颜色的边界为止 259
9.3  获取图形信息 261
9.3.1  取得当前安装的GD库的信息 261
9.3.2  取得图形文件信息 261
9.3.3  取得图形宽度与高度 262
9.3.4  取得图形类型的MIME类型 263
9.4  图形与颜色 263
9.4.1  为图形分配颜色 264
9.4.2  定义透明色 264
9.4.3  颜色与索引 265
9.5  图形的处理 266
9.5.1  复制图形的一部分 266
9.5.2  复制图形并调整大小 267
9.5.3  实现高清晰度缩略图 268
9.5.4  对图形使用过滤器 269
9.5.5  用给定角度旋转图形 271
9.5.6  设定画线的风格 271
9.5.7  设定画线用的画笔图形 272
9.5.8  设定画线的宽度 273
9.5.9  将某个颜色定义为透明色 274
9.5.10  设定用于填充的贴图 274
9.6  图形与字体 275
9.6.1  输出一个字符 275
9.6.2  输出字符串 276
9.6.3  在图形中使用指定字体 277
9.6.4  输出中文字符 278
9.7  图形的输出 279
9.7.1  将图形以PNG格式输出到浏览器或文件 279
9.7.2  将图形以JPEG格式输出到浏览器或文件 280
9.7.3  将图形以GIF格式输出到浏览器或文件 281
9.8  其他图形函数 282
9.8.1  取得服务器支持的图形类型 282
9.8.2  检查图形是否为真彩色图形 283
9.9  常见问题 283
9.9.1  关于分配颜色 283
9.9.2  关于图形格式 283
9.9.3  关于中文字符 284
9.9.4  关于函数参数 284
第三篇  数据库开发及应用
第10章  数据库的选择、创建及管理 285
10.1  常用数据库简介 285
10.1.1  小型关系型数据库MySQL 285
10.1.2  开放源代码的数据库PostgreSQL 286
10.1.3  轻量级数据库SQLite 286
10.2  MySQL的安装配置与管理 286
10.2.1  安装MySQL前的准备 286
10.2.2  安装MySQL 287
10.2.3  配置MySQL 288
10.2.4  管理工具 293
10.2.5  PHP配置文件与MySQL访问 293
10.2.6  安装phpMyAdmin 294
10.2.7  配置phpMyAdmin 294
10.2.8  运行phpMyAdmin 298
10.3  数据库的创建与管理 298
10.3.1  创建及管理数据库 299
10.3.2  备份和恢复数据库 300
10.4  表的创建与管理 300
10.4.1  MySQL字段类型 300
10.4.2  创建表 302
10.4.3  添加字段 305
10.4.4  修改字段 308
10.4.5  运行SQL语句 308
10.5  SQL语法 310
10.5.1  新建数据项 310
10.5.2  查询数据 311
10.5.3  更新数据 311
10.5.4  删除数据 312
10.6  常见问题 313
10.6.1  字段原则 313
10.6.2  SQL语法 313
第11章  PHP访问MySQL数据库 314
11.1  使用PHP访问MySQL 314
11.1.1  建立与关闭链接 314
11.1.2  选择数据库 315
11.1.3  运行SQL语句 316
11.1.4  数据库编码 317
11.1.5  以数字作为键名处理一行返回结果 317
11.1.6  以字段作为键名处理一行返回结果 318
11.1.7  更灵活的结果处理函数 319
11.1.8  对象与结果集 321
11.1.9  错误信息的处理 321
11.1.10  其他MySQL函数 323
11.2  使用自建类对MySQL进行访问 324
11.2.1  创建MySQL类 324
11.2.2  自建类的使用 329
11.2.3  与SQL有关的方法 330
11.2.4  与返回值有关的方法 330
11.2.5  与错误信息有关的方法 331
11.2.6  与表有关的方法 332
11.2.7  其他方法 333
11.3  使用ADODB访问MySQL 334
11.3.1  安装ADODB 334
11.3.2  使用ADODB链接MySQL 334
11.3.3  使用ADODB插入记录 336
11.3.4  使用ADODB取出记录 337
11.3.5  使用ADODB更新记录 339
11.3.6  使用ADODB删除记录 341
11.3.7  使用ADODB实现分页 342
11.3.8  使用ADODB输出CSV文件 343
11.4  常见问题 344
11.4.1  链接数据库 344
11.4.2  字符集 344
第四篇  项目规划、版本管理和安全
第12章  项目规划 345
12.1  软件开发流程 345
12.1.1  瀑布式开发流程 345
12.1.2  迭代式开发流程 346
12.2  需求分析 346
12.2.1  需求分析的工作 346
12.2.2  功能需求 347
12.2.3  软件特性 347
12.2.4  项目需求 348
12.3  编程方式 348
12.3.1  面向过程 348
12.3.2  面向对象 349
12.3.3  编程方式的选择 350
12.4  数据存储 350
12.4.1  选择适合项目的存储方式 350
12.4.2  配置信息与缓存 351
12.4.3  数据库的选择 351
12.4.4  项目功能与数据库 351
12.5  常见问题 352
12.5.1  关于开发流程 352
12.5.2  关于需求分析 352
第13章  关于安全 353
13.1  文件系统 353
13.1.1  外部变量产生的安全问题 353
13.1.2  特殊字符攻击 354
13.2  数据库安全问题 355
13.2.1  数据库权限与安全 355
13.2.2  SQL注入与防范 359
13.3  代码安全防范 361
13.3.1  防范外部变量威胁 361
13.3.2  数据加密 362
13.3.3  函数与类的访问控制 364
13.3.4  错误信息 366
13.4  常见问题 366
13.4.1  关于目录安全 366
13.4.2  加强数据库安全性 366
第14章  版本管理 367
14.1  SVN下载与安装 367
14.1.1  SVN下载与安装 367
14.1.2  SVN配置与运行 368
14.2  SVN命令行客户端 370
14.2.1  导入项目 370
14.2.2  导出项目 371
14.2.3  更新本地项目 372
14.2.4  查看项目状态 373
14.2.5  项目对比 374
14.2.6  恢复项目 374
14.2.7  项目提交 374
14.3  SVN可视化管理界面 375
14.3.1  TortoiseSVN下载与安装 375
14.3.2  创建项目仓库 377
14.3.3  导出项目 377
14.3.4  更新本地项目 378
14.3.5  项目提交 378
14.4  SVN与开发工具 379
14.4.1  开发工具的配置 379
14.4.2  导入项目 382
14.4.3  导出项目 383
14.5  常见问题 385
14.5.1  SVN运行问题 385
14.5.2  SVN与CVS 385
14.5.3  SVN命令运行乱码 385
第五篇  PHP实践及应用程序调试
第15章  实例:用户管理 387
15.1  需求分析 387
15.1.1  规划程序功能 387
15.1.2  设计数据库与表 388
15.2  公用程序的编写与引用 388
15.2.1  实现认证码功能的文件 388
15.2.2  与数据访问相关的公用文件 390
15.3  用户注册页面的设计与实现 391
15.3.1  用户注册页面设计 392
15.3.2  实现用户注册 392
15.3.3  处理用户提交的数据 397
15.4  用户登录页面的设计与实现 399
15.5  用户资料信息的设计与实现 402
15.5.1  用户资料修改页面 402
15.5.2  用户密码修改页面 404
15.5.3  用户密码找回页面 407
15.6  常见问题 409
15.6.1  用户权限 409
15.6.2  安全问题 409
第16章  实例:内容管理系统 410
16.1  PHP与Smarty 410
16.1.1  Smarty介绍 410
16.1.2  Smarty的安装与使用 410
16.2  需求分析 411
16.2.1  规划程序功能 411
16.2.2  规划数据库 411
16.3  页面设计与程序编码 413
16.3.1  公用文件的编写与引用 413
16.3.2  前台脚本与模板 414
16.3.3  管理员登录模块 417
16.3.4  菜单管理模块 419
16.3.5  内容发布模块 423
16.4  常见问题 428
16.4.1  数据库设计 428
16.4.2  数据库存储 429
第17章  异常处理与调试 430
17.1  异常处理函数 430
17.1.1  程序运行过程描述 430
17.1.2  返回最后的错误信息 431
17.1.3  设置显示错误信息的级别 432
17.2  异常处理 432
17.2.1  异常处理类的使用 432
17.2.2  扩展异常处理类 434
17.3  PHP的调试方法 436
17.3.1  错误报告 436
17.3.2  定位错误代码 438
17.4  常见问题 439
17.4.1  关于错误报告 439
17.4.2  调试信息 439
第六篇  PHP与Ajax组合应用
第18章  PHP与Ajax 441
18.1  Ajax引擎与数据提交 441
18.1.1  Ajax工作原理 441
18.1.2  Ajax初始化 442
18.1.3  使用GET方法提交请求 443
18.1.4  使用POST方法提交请求 444
18.2  PHP与数据格式 446
18.2.1  PHP、JavaScript、XML 446
18.2.2  PHP、JavaScript、JSON 449
18.2.3  PHP与JavaScript 453
18.2.4  Ajax通用类 456
18.3  Ajax与开发框架 461
18.3.1  SAjax安装与使用 461
18.3.2  使用SAjax显示服务器时间 469
18.3.3  使用SAjax提交表单 470
18.3.4  SAjax的返回数据类型 472
18.4  常见问题 473
18.4.1  POST与GET方法 474
18.4.2  中文乱码 474
第19章  实例:基于PHP和Ajax的用户管理 475
19.1  需求分析 475
19.1.1  用户界面 475
19.1.2  PHP脚本 475
19.2  页面设计与程序编码 475
19.2.1  用户注册页面 476
19.2.2  用户登录与资料管理界面 481
19.2.3  响应客户端请求的PHP脚本 486
19.2.4  找回密码页面 494
19.3  常见问题 496
19.3.1  客户端界面规划 496
19.3.2  数据格式与编码 496
附录  PHP应用技巧 497

教学资源推荐
作者: Al Kelley, Ira Pohl
作者: [美]布兰德利·N. 米勒(Bradley N. Miller) 大卫·L. 拉农(David L. Ranum) 朱莉·安德森(Julie Anderson) 著
作者: [美] 克里斯多夫 W. 弗雷泽(Christopher W. Fraser)戴维 R. 汉森(David R. Hanson) 著
作者: 邱李华 曹青 郭志强 编著
参考读物推荐
作者: (美)Cay S. Horstmann,Gary Cornell 著
作者: 陈浩 等编著
作者: 宋钛旭 编著
作者: (美)Alex Bradbury  Ben Everard 著