第1篇 基础知识
第1章 初识PHP3
视频讲解:19分钟
1.1 PHP概述4
1.1.1 什么是PHP4
1.1.2 PHP语言的优势4
1.1.3 PHP 5的新特性5
1.1.4 PHP的发展趋势5
1.1.5 PHP的应用领域7
1.2 扩展库7
1.3 如何学好PHP10
1.4 学习资源11
1.4.1 常用软件资源11
1.4.2 常用网上资源12
1.4.3 主要图书网站12
1.5 网站建设的基本流程13
1.6 小结13
第2章 PHP环境搭建和开发工具15
视频讲解:52分钟
2.1 在Windows下使用AppServ组合包16
2.2 在Windows下使用IIS+PHP+MySQL
搭建PHP环境18
2.2.1 安装PHP 519
2.2.2 安装配置IIS服务器19
2.2.3 安装MySQL22
2.3 在Linux下的安装配置25
2.3.1 安装Apache服务器25
2.3.2 安装MySQL数据库26
2.3.3 安装PHP 5语言27
2.4 PHP常用开发工具28
2.4.1 Zend Studio29
2.4.2 Dreamweaver34
2.5 第一个PHP实例35
2.6 小结37
2.7 练习与实践37
第3章 PHP语言基础39
视频讲解:47分钟
3.1 PHP标记风格40
3.2 PHP注释的应用41
3.3 PHP的数据类型42
3.3.1 标量数据类型42
3.3.2 复合数据类型47
3.3.3 特殊数据类型48
3.3.4 转换数据类型49
3.3.5 检测数据类型51
3.4 PHP常量51
3.4.1 声明和使用常量51
3.4.2 预定义常量53
3.5 PHP变量54
3.5.1 变量声明及使用54
3.5.2 变量作用域55
3.5.3 可变变量57
3.5.4 PHP预定义变量58
3.6 PHP运算符59
3.6.1 算术运算符59
3.6.2 字符串运算符60
3.6.3 赋值运算符61
3.6.4 位运算符61
3.6.5 逻辑运算符62
3.6.6 比较运算符63
3.6.7 错误控制运算符64
3.6.8 三元运算符65
3.6.9 运算符的优先顺序和结合规则65
3.7 PHP的表达式66
第1篇 基础知识
第1章 初识PHP3
视频讲解:19分钟
1.1 PHP概述4
1.1.1 什么是PHP4
1.1.2 PHP语言的优势4
1.1.3 PHP 5的新特性5
1.1.4 PHP的发展趋势5
1.1.5 PHP的应用领域7
1.2 扩展库7
1.3 如何学好PHP10
1.4 学习资源11
1.4.1 常用软件资源11
1.4.2 常用网上资源12
1.4.3 主要图书网站12
1.5 网站建设的基本流程13
1.6 小结13
第2章 PHP环境搭建和开发工具15
视频讲解:52分钟
2.1 在Windows下使用AppServ组合包16
2.2 在Windows下使用IIS+PHP+MySQL
搭建PHP环境18
2.2.1 安装PHP 519
2.2.2 安装配置IIS服务器19
2.2.3 安装MySQL22
2.3 在Linux下的安装配置25
2.3.1 安装Apache服务器25
2.3.2 安装MySQL数据库26
2.3.3 安装PHP 5语言27
2.4 PHP常用开发工具28
2.4.1 Zend Studio29
2.4.2 Dreamweaver34
2.5 第一个PHP实例35
2.6 小结37
2.7 练习与实践37
第3章 PHP语言基础39
视频讲解:47分钟
3.1 PHP标记风格40
3.2 PHP注释的应用41
3.3 PHP的数据类型42
3.3.1 标量数据类型42
3.3.2 复合数据类型47
3.3.3 特殊数据类型48
3.3.4 转换数据类型49
3.3.5 检测数据类型51
3.4 PHP常量51
3.4.1 声明和使用常量51
3.4.2 预定义常量53
3.5 PHP变量54
3.5.1 变量声明及使用54
3.5.2 变量作用域55
3.5.3 可变变量57
3.5.4 PHP预定义变量58
3.6 PHP运算符59
3.6.1 算术运算符59
3.6.2 字符串运算符60
3.6.3 赋值运算符61
3.6.4 位运算符61
3.6.5 逻辑运算符62
3.6.6 比较运算符63
3.6.7 错误控制运算符64
3.6.8 三元运算符65
3.6.9 运算符的优先顺序和结合规则65
3.7 PHP的表达式66
3.8 PHP函数66
3.8.1 定义和调用函数67
3.8.2 在函数间传递参数67
3.8.3 从函数中返回值69
3.8.4 变量函数70
3.8.5 对函数的引用70
3.8.6 取消引用71
3.9 PHP编码规范72
3.9.1 什么是编码规范72
3.9.2 PHP书写规则72
3.9.3 PHP命名规则73
3.10 小结75
3.11 练习与实践76
第4章 流程控制语句77
视频讲解:30分钟
4.1 条件控制语句78
4.1.1 if语句78
4.1.2 if…else语句79
4.1.3 elseif语句80
4.1.4 switch…case多重判断语句82
4.2 循环控制语句84
4.2.1 while循环语句84
4.2.2 do…while循环语句85
4.2.3 for循环语句85
4.2.4 foreach循环语句86
4.2.5 流程控制的另一种书写格式88
4.2.6 使用break/continue语句跳出循环89
4.3 小结92
4.4 练习与实践92
第5章 字符串操作93
视频讲解:1小时16分钟
5.1 字符串简介94
5.2 单引号和双引号的区别94
5.3 字符串的连接符95
5.4 字符串操作96
5.4.1 去除字符串首尾空格和特殊字符96
5.4.2 转义、还原字符串数据98
5.4.3 获取字符串的长度101
5.4.4 截取字符串102
5.4.5 比较字符串104
5.4.6 检索字符串106
5.4.7 替换字符串108
5.4.8 格式化字符串111
5.4.9 分割字符串111
5.4.10 合成字符串113
5.5 小结113
5.6 练习与实践113
第6章 正则表达式115
视频讲解:27分钟
6.1 什么是正则表达式116
6.2 正则表达式语法规则116
6.2.1 行定位符(^和$)117
6.2.2 单词定界符(\b、\B)117
6.2.3 字符类([ ])117
6.2.4 选择字符(|)118
6.2.5 连字符(-)118
6.2.6 排除字符([^])119
6.2.7 限定符(? * + {n,m})119
6.2.8 点号字符(.)120
6.2.9 转义字符(\)120
6.2.10 反斜线(\)120
6.2.11 括号字符(())121
6.2.12 反向引用122
6.2.13 模式修饰符122
6.3 POSIX扩展正则表达式函数123
6.3.1 ereg()函数和eregi()函数123
6.3.2 ereg_replace()函数和eregi_replace()
函数123
6.3.3 split()函数和spliti()函数124
6.4 PCRE兼容正则表达式函数124
6.4.1 preg_grep()函数124
6.4.2 preg_match()函数和preg_match_all()
函数125
6.4.3 preg_quote()函数126
6.4.4 preg_replace()函数126
6.4.5 preg_replace_callback()函数127
6.4.6 preg_split()函数128
6.5 应用正则表达式对用户注册信息
进行验证128
6.6 小结130
6.7 练习与实践131
第7章 PHP数组133
视频讲解:1小时9分钟
7.1 什么是数组134
7.2 声明数组134
7.3 数组的类型136
7.3.1 数字索引数组136
7.3.2 关联数组136
7.4 输出数组137
7.5 数组的构造138
7.5.1 一维数组138
7.5.2 二维数组138
7.6 遍历数组139
7.7 字符串与数组的转换141
7.8 统计数组元素个数143
7.9 查询数组中指定元素144
7.10 获取数组中最后一个元素146
7.11 向数组中添加元素146
7.12 删除数组中重复元素147
7.13 综合运用数组函数-实现多
文件上传148
7.14 小结149
7.15 练习与实践150
第8章 PHP与Web页面交互151
视频讲解:1小时1分钟
8.1 表单152
8.1.1 创建表单152
8.1.2 表单元素153
8.2 在普通的Web页中插入表单156
8.3 获取表单数据的两种方法158
8.3.1 使用POST方法提交表单158
8.3.2 使用GET方法提交表单159
8.4 PHP参数传递的常用方法160
8.4.1 $_POST[]全局变量160
8.4.2 $_GET[]全局变量161
8.4.3 $_SESSION[]变量161
8.5 在Web页中嵌入PHP脚本162
8.5.1 在HTML标记中添加PHP脚本162
8.5.2 对表单元素的value属性进行赋值162
8.6 在PHP中获取表单数据162
8.6.1 获取文本框、密码域、隐藏域、按钮、
文本域的值163
8.6.2 获取单选按钮的值164
8.6.3 获取复选框的值165
8.6.4 获取下拉列表框/菜单列表框的值166
8.6.5 获取文件域的值168
8.7 对URL传递的参数进行编/解码169
8.7.1 对URL传递的参数进行编码169
8.7.2 对URL传递的参数进行解码170
8.8 PHP与Web表单的综合应用171
8.9 小结172
8.10 练习与实践172
第9章 PHP与JavaScript交互173
视频讲解:1小时10分钟
9.1 了解JavaScript174
9.1.1 什么是JavaScript174
9.1.2 JavaScript的功能174
9.2 JavaScript语言基础174
9.2.1 JavaScript数据类型175
9.2.2 JavaScript变量175
9.2.3 JavaScript注释177
9.3 自定义函数177
9.4 JavaScript流程控制语句178
9.4.1 条件语句178
9.4.2 循环语句182
9.4.3 跳转语句184
9.5 JavaScript事件185
9.6 调用JavaScript脚本(JavaScript脚本
嵌入方式)186
9.6.1 在HTML中嵌入JavaScript脚本186
9.6.2 应用JavaScript事件调用自定义函数188
9.6.3 在PHP动态网页中引用JS文件188
9.6.4 解决浏览器不支持JavaScript的问题189
9.7 在PHP中调用JavaScript脚本192
9.7.1 应用JavaScript脚本验证表单元素
是否为空192
9.7.2 应用JavaScript脚本制作二级导航菜单193
9.7.3 应用JavaScript脚本控制文本域和
复选框195
9.8 小结197
9.9 练习与实践197
第10章 日期和时间199
视频讲解:25分钟
10.1 系统时区设置200
10.1.1 时区划分200
10.1.2 时区设置200
10.2 PHP日期和时间函数201
10.2.1 获得本地化时间戳201
10.2.2 获取当前时间戳202
10.2.3 获取当前日期和时间202
10.2.4 获取日期信息204
10.2.5 检验日期的有效性205
10.2.6 输出格式化的日期和时间205
10.2.7 显示本地化的日期和时间207
10.2.8 将日期和时间解析为UNIX时间戳210
10.3 日期和时间的应用211
10.3.1 比较两个时间的大小211
10.3.2 实现倒计时功能212
10.3.3 计算页面脚本的运行时间212
10.4 小结214
10.5 练习与实践214
第2篇 核心技术
第11章 Cookie与Session217
视频讲解:1小时6分钟
11.1 Cookie管理218
11.1.1 了解Cookie218
11.1.2 创建Cookie219
11.1.3 读取Cookie220
11.1.4 删除Cookie221
11.1.5 Cookie的生命周期222
11.2 Session管理222
11.2.1 了解Session222
11.2.2 创建会话223
11.2.3 Session设置时间225
11.2.4 通过Session判断用户的操作权限227
11.3 Session高级应用230
11.3.1 Session临时文件230
11.3.2 Session缓存230
11.3.3 Session数据库存储231
11.4 小结234
11.5 练习与实践235
第12章 图形图像处理技术237
视频讲解:51分钟
12.1 在PHP中加载GD库238
12.2 Jpgraph的安装与配置239
12.2.1 Jpgraph的安装239
12.2.2 Jpgraph的配置239
12.3 图形图像的典型应用240
12.3.1 创建一个简单的图像240
12.3.2 使用GD2函数在照片上添加文字240
12.3.3 使用图像处理技术生成验证码241
12.3.4 使用柱形图统计图书月销售量243
12.3.5 使用折线图统计图书月销售额244
12.3.6 使用3D饼形图统计各类商品的
年销售额比率246
12.4 小结247
12.5 练习与实践247
第13章 文件系统249
视频讲解:34分钟
13.1 文件处理250
13.1.1 打开/关闭文件250
13.1.2 读写文件251
13.1.3 操作文件256
13.2 目录处理257
13.2.1 打开/关闭目录257
13.2.2 浏览目录258
13.2.3 操作目录259
13.3 文件处理的高级应用260
13.3.1 远程文件的访问260
13.3.2 文件指针260
13.3.3 锁定文件262
13.4 文件上传262
13.4.1 配置php.ini文件263
13.4.2 预定义变量$_FILES263
13.4.3 文件上传函数264
13.4.4 多文件上传265
13.5 小结266
13.6 练习与实践267
第14章 面向对象269
视频讲解:29分钟
14.1 面向对象的基本概念270
14.1.1 类270
14.1.2 对象270
14.1.3 面向对象编程的三大特点271
14.2 PHP与对象271
14.2.1 类的定义271
14.2.2 成员方法272
14.2.3 类的实例化273
14.2.4 成员变量273
14.2.5 类常量275
14.2.6 构造方法和析构方法275
14.2.7 继承和多态的实现278
14.2.8 “$this ->”和“::”的使用281
14.2.9 数据隐藏282
14.2.10 静态变量(方法)284
14.3 PHP对象的高级应用286
14.3.1 final关键字286
14.3.2 抽象类287
14.3.3 接口的使用288
14.3.4 克隆对象290
14.3.5 对象比较291
14.3.6 对象类型检测292
14.3.7 魔术方法(__)293
14.4 面向对象的应用——中文字符串的
截取类297
14.5 小结299
14.6 练习与实践299
第15章 PHP加密技术301
视频讲解:31分钟
15.1 PHP加密函数302
15.1.1 使用crypt()函数进行加密302
15.1.2 使用md5()函数进行加密304
15.1.3 使用sha1()函数进行加密305
15.2 PHP加密扩展库306
15.2.1 Mcrypt扩展库306
15.2.2 Mhash扩展库309
15.3 小结310
15.4 练习与实践310
第16章 MySQL数据库基础311
视频讲解:57分钟
16.1 MySQL概述312
16.2 启动、连接、断开和停止MySQL
服务器313
16.2.1 启动MySQL服务器313
16.2.2 连接和断开MySQL服务器314
16.2.3 停止MySQL服务器315
16.3 MySQL数据库操作316
16.3.1 创建数据库CREATE DATABASE317
16.3.2 查看数据库SHOW DATABASES317
16.3.3 选择数据库USE DATABASE318
16.3.4 删除数据库DROP DATABASE318
16.4 MySQL数据表操作319
16.4.1 创建数据表CREATE TABLE319
16.4.2 查看表结构SHOW COLUMNS或
DESCRIBE320
16.4.3 修改表结构ALTER TABLE321
16.4.4 重命名表RENAME TABLE322
16.4.5 删除表DROP TABLE323
16.5 MySQL语句操作323
16.5.1 插入记录insert324
16.5.2 查询数据库记录select324
16.5.3 修改记录update326
16.5.4 删除记录delete326
16.6 MySQL数据库备份和恢复327
16.6.1 数据的备份327
16.6.2 数据的恢复328
16.7 小结329
16.8 练习与实践330
第17章 phpMyAdmin图形化管理工具331
视频讲解:56分钟
17.1 phpMyAdmin介绍332
17.2 phpMyAdmin的使用332
17.2.1 操作数据库332
17.2.2 操作数据表334
17.2.3 使用SQL语句操作数据表335
17.2.4 管理数据记录338
17.2.5 生成和执行mysql数据库脚本339
17.3 小结341
17.4 练习与实践342
第18章 PHP操作MySQL数据库343
视频讲解:1小时6分钟
18.1 PHP访问MySQL数据库的
一般步骤344
18.2 PHP操作MySQL数据库的方法345
18.2.1 使用mysql_connect()函数连接MySQL
服务器346
18.2.2 使用mysql_select_db()函数选择数据库
文件347
18.2.3 使用mysql_query()函数执行SQL语句348
18.2.4 使用mysql_fetch_array()函数从数组
结果集中获取信息349
18.2.5 使用mysql_fetch_object()函数从结果
集中获取一行作为对象351
18.2.6 使用mysql_fetch_row()函数逐行获取
结果集中的每条记录353
18.2.7 使用mysql_num_rows()函数获取查询
结果集中的记录数354
18.3 PHP操作MySQL数据库355
18.3.1 使用insert语句动态添加公告信息356
18.3.2 使用select语句查询公告信息358
18.3.3 使用update语句动态编辑公告信息360
18.3.4 使用delete语句动态删除公告信息362
18.3.5 分页显示公告信息363
18.3.6 将数据库连接、操作、分页和字符串
截取的方法封装到类中365
18.4 小结370
18.5 练习与实践370
第19章 ADODB类库371
视频讲解:46分钟
19.1 ADODB概述372
19.2 使用ADODB操作MySQL373
19.3 ADODB类库374
19.3.1 连接数据库的函数和方法374
19.3.2 定义结果集的存取方式376
19.3.3 执行SQL语句377
19.3.4 控制结果集函数382
19.3.5 生成HTML表格函数383
19.3.6 分页功能函数384
19.3.7 错误处理及调试385
19.4 ADODB类库应用386
19.4.1 ADODB连接、操作数据库类386
19.4.2 ADODB分页类388
19.5 小结391
19.6 练习与实践391
第20章 Zend Framework框架393
视频讲解:1小时35分钟
20.1 Zend Framework概述394
20.2 Zend Framework环境搭建394
20.2.1 环境配置394
20.2.2 框架结构396
20.2.3 小试牛刀(Zend Framework框架
初始搭建)396
20.3 Zend Framework中的常用组件401
20.3.1 Zend_Auth认证401
20.3.2 Zend_Db数据库操作405
20.3.3 Zend_Cache精细缓存411
20.3.4 Zend_Layout站点布局414
20.3.5 Zend_Paginator数据分页416
20.3.6 Zend_Mail发送邮件420
20.4 小结424
20.5 练习与实践425
第3篇 高级应用
第21章 Smarty模板技术429
视频讲解:55分钟
21.1 Smarty简介430
21.1.1 什么是Smarty430
21.1.2 Smarty与MVC430
21.1.3 Smarty特点430
21.2 Smarty的安装配置431
21.2.1 Smarty下载和安装431
21.2.2 第一个Smarty程序431
21.2.3 Smarty配置433
21.3 Smarty模板设计435
21.3.1 Smarty模板文件435
21.3.2 注释435
21.3.3 变量435
21.3.4 修饰变量438
21.3.5 流程控制440
21.4 Smarty程序设计443
21.4.1 Smarty中的常用方法443
21.4.2 Smarty的配置变量445
21.5 Smarty模板的应用445
21.5.1 将Smarty的配置方法封装到类中445
21.5.2 Smarty+ADODB整合应用447
21.6 小结449
21.7 练习与实践450
第22章 PHP与XML技术451
视频讲解:29分钟
22.1 XML的概述452
22.2 XML语法452
22.2.1 XML文档结构452
22.2.2 XML声明453
22.2.3 处理指令453
22.2.4 注释453
22.2.5 XML元素454
22.2.6 XML属性454
22.2.7 使用CDATA标记454
22.2.8 XML命名空间455
22.3 在PHP中创建XML文档456
22.4 SimpleXML456
22.4.1 创建SimpleXML对象457
22.4.2 遍历所有子元素458
22.4.3 遍历所有属性459
22.4.4 访问特定节点元素和属性460
22.4.5 修改XML数据460
22.4.6 保存XML文档462
22.5 动态创建XML文档463
22.6 小结464
22.7 练习与实践464
第23章 PHP与Ajax技术465
视频讲解:31分钟
23.1 Ajax概述466
23.1.1 什么是Ajax466
23.1.2 Ajax的开发模式466
23.1.3 Ajax的优点467
23.2 Ajax使用的技术467
23.2.1 JavaScript脚本语言467
23.2.2 XMLHttpRequest467
23.2.3 XML语言470
23.2.4 DOM470
23.2.5 CSS470
23.3 Ajax开发需要注意的几个问题471
23.4 在PHP中应用Ajax技术的
典型应用472
23.4.1 在PHP中应用Ajax技术检测用户名472
23.4.2 在PHP中应用Ajax技术实现博客文章
类别添加474
23.5 小结478
23.6 练习与实践478
第4篇 项目实战
第24章 应用Smarty模板开发电子
商务网站481
视频讲解:2小时5分钟
24.1 系统分析482
24.1.1 需求分析482
24.1.2 编写项目计划书482
24.2 系统设计486
24.2.1 系统目标486
24.2.2 系统功能结构486
24.2.3 系统流程图487
24.3 软件开发环境488
24.4 数据库与数据表的设计488
24.4.1 数据库分析488
24.4.2 创建数据库和数据表490
24.5 搭建系统框架493
24.6 公共文件设计494
24.6.1 数据库连接、管理和分页类文件494
24.6.2 Smarty模板配置类文件497
24.6.3 执行类的实例化文件497
24.6.4 表单样式文件498
24.7 前台首页设计499
24.7.1 创建PHP页500
24.7.2 创建模板页501
24.8 登录模块设计502
24.8.1 用户注册502
24.8.2 用户登录508
24.8.3 找回密码511
24.9 会员信息模块设计516
24.9.1 会员中心516
24.9.2 安全退出519
24.10 商品显示模块520
24.10.1 创建PHP页520
24.10.2 创建模板页521
24.10.3 js脚本页面522
24.11 购物车模块设计522
24.11.1 添加商品523
24.11.2 显示购物车525
24.11.3 更改商品数量527
24.11.4 删除商品528
24.11.5 保存购物车530
24.12 收银台模块设计532
24.12.1 显示订单533
24.12.2 填写订单534
24.12.3 处理订单535
24.12.4 反馈订单537
24.12.5 查询订单538
24.13 后台首页设计541
24.13.1 后台首页布局542
24.13.2 DIV+JavaScript+CSS实现树形菜单542
24.14 类别管理模块设计544
24.14.1 添加类别544
24.14.2 查看类别547
24.15 订单管理模块设计551
24.16 开发常见问题与解决554
24.16.1 解决Ajax的乱码问题554
24.16.2 使用JS脚本获取、输出标签内容554
24.16.3 使用浮动框架做关联菜单555
24.16.4 禁用页面缓存555
24.16.5 在新窗口中使用session555
24.16.6 防止站外链接556
24.16.7 判断上传文件格式556
24.16.8 打开Smarty缓存文件557
24.17 发布网站557
24.17.1 注册域名557
24.17.2 申请空间558
24.17.3 将域名解析到服务器558
24.17.4 上传网站558
24.18 小结559