第1篇 基础知识 3
第1章 初识PHP 教学录像:23分42秒 3
1.1 PHP概述 4
什么是PHP 4
PHP语言的优势 4
PHP 5的新特性 5
PHP的发展趋势 5
PHP的应用领域 7
1.2扩展库 7
PHP 5内置标准扩展库 7
Zend引擎2.2 10
1.3前期准备工作 10
HTML标记语言 11
JavaScript脚本 11
1.4网站建设的基本流程 11
1.5学习资源 12
常用软件资源 12
常用网上资源 12
主要图书网站 13
国内主要书城网站 13
1.6如何学好PHP 14
1.7小结 14
第2章 PHP环境搭建和开发工具 教学录像:36分3秒 15
2.1 PHP开发环境和准备工作 16
2.2 Windows下Apache+MySQL+PHP 16
的安装 16
安装Apache 16
安装PHP5 18
安装MySQL 19
2.3配置Apache和PHP 5 22
2.4在Windows下架设HS+PHP的执行环境 24
2.5在Linux下的安装配置 27
安装Apache服务器 27
安装MySQL数据库 29
安装PHP 5语言 29
2.6在Windows下使用组合包 31
2.7 PHP常用开发工具 32
Eclipse 32
ZendStudio 32
NuSphere PhpED 33
Delphi for PHP 34
Dreamweaver 35
2.8第一个PHP实例 35
2.9小结 37
2.10练习与实践 37
第3章 PHP语言基础 教学录像:49分19秒 39
3.1 PHP标记风格 40
3.2 PHP注释的应用 40
3.3 PHP的数据类型 41
标量数据类型 42
复合数据类型 46
特殊数据类型 47
转换数据类型 48
检测数据类型 50
3.4 PHP常量 50
声明和使用常量 51
预定义常量 52
3.5 PHP变量 53
变量声明及使用 53
变量作用域 54
可变变量 57
PHP预定义变量 57
3.6 PHP运算符 58
算术运算符 58
字符串运算符 59
赋值运算符 60
位运算符 60
逻辑运算符 61
比较运算符 62
错误控制运算符 63
三元运算符 63
运算符的优先顺序和结合规则 64
3.7 PHP的表达式 65
3.8 PHP函数 65
定义和调用函数 66
在函数间传递参数 66
从函数中返回值 68
变量函数 68
对函数的引用 69
取消引用 70
3.9 PHP编码规范 70
什么是编码规范 70
编码规范有什么好处 71
HTML编码规范 71
PHP编码规范 72
PHP书写规则 73
PHP命名规则 74
文件和目录 76
3.10小结 77
3.11练习与实践 77
第4章 流程控制语句 教学录像:31分10秒 79
4.1条件控制语句 80
if语句 80
if...else语句 81
elseif语句 82
switch...case多重判断语句 83
4.2循环控制语句 84
while循环语句 85
do...while循环语句 85
for循环语句 86
foreach循环 87
流程控制的另一种书写格式 88
使用break/continue语句跳出循环 89
4.3小结 92
4.4练习与实践 92
第5章 字符串操作 教学录像:1小时18分13秒 93
5.1字符串简介 94
5.2单引号和双引号的区别 94
5.3字符串的连接符 95
5.4字符串操作 96
去除字符串首尾空格和特殊字符 96
转义、还原字符串数据 98
获取字符串的长度 100
截取字符串 101
比较字符串 103
检索字符串 105
替换字符串 106
格式化字符串 109
分割字符串 109
5.5小结 111
5.6练习与实践 111
第6章 正则表达式 教学录像:28分34秒 113
6.1什么是正则表达式 114
正则表达式的发展 114
正则表达式中的术语 114
6.2正则表达式语法规则 115
行定位符(^和$) 115
单词定界符(\b、\B) 115
字符类([]) 116
选择字符(|) 116
连字符(-) 117
排除字符([^]) 117
限定符(?*+{n,m}) 117
点号字符(.) 118
转义字符(\) 118
反斜线(\) 118
括号字符(()) 120
反向引用 120
捕获 120
断言(环视) 121
模式修饰符 122
6.3 POSIX扩展正则表达式函数 122
ereg()函数和eregi()函数 123
ereg_replace()函数和eregi_replace()函数 123
split()函数和spliti()函数 123
6.4 PCRE兼容正则表达式函数 124
preg_grep()函数 124
preg_match()函数和preg_match_a11()函数 124
preg_quote()函数 125
preg_replace()函数 126
preg_replace_callback()函数 126
preg_split()函数 127
6.5应用正则表达式实现UBB使用帮助 127
6.6小结 128
6.7练习与实践 128
第7章 PHP数组 教学录像:56分29秒 129
7.1什么是数组 130
7.2声明数组 130
7.3数组的类型 131
数字索引数组 132
关联数组 132
7.4输出数组 133
7.5数组的构造 133
一维数组 133
二维数组 134
7.6遍历数组 135
7.7合并数组 137
7.8字符串与数组的转换 137
7.9统计数组元素个数 139
7.10数组排序 140
7.11小结 143
7.12练习与实践 143
第8章 PHP与Web页面交互 教学录像:1小时4分33秒 145
8.1表单 146
创建表单 146
表单元素 147
8.2在普通的Web页中插入表单 150
8.3获取表单数据的两种方法 152
使用POST方法提交表单 153
使用GET方法提交表单 153
8.4 PHP参数传递的常用方法 155
$_POST[]全局变量 155
$_GET[]全局变量 155
$_SESSION[]变量 156
8.5在Web页中嵌入PHP脚本 156
在HTML标记中添加PHP脚本 156
对表单元素的value属性进行赋值 156
8.6在PHP中获取表单数据 157
获取文本框、密码域、隐藏域、按钮、文本域的值 157
获取单选按钮的值 158
获取复选框的值 159
获取下拉列表框/菜单列表框的值 160
获取文件域的值 163
8.7对URL传递的参数进行编/解码 164
对URL传递的参数进行编码 164
对URL传递的参数进行解码 165
8.8 PHP与Web表单的综合应用 166
8.9小结 167
8.10练习与实践 167
第9章 PHP与JavaScript交互 教学录像:1小时11分36秒 169
9.1了解JavaScript 170
什么是JavaScript 170
JavaScript的功能 170
9.2 JavaScript语言基础 170
JavaScript数据类型 171
JavaScript变量 171
JavaScript注释 172
9.3自定义函数 173
9.4 JavaScript流程控制语句 174
条件语句 174
循环语句 178
JavaScript跳转语句 180
9.5 JavaScript事件 181
9.6调用JavaScript脚本(JavaScript脚本嵌入方式) 182
在HTML中嵌入JavaScript脚本 182
应用JavaScript事件调用自定义函数 183
在PHP动态网页中引用JS文件 183
解决浏览器不支持JavaScript的问题 185
9.7在PHP中调用JavaScript脚本 187
应用JavaScript脚本验证表单元素是否为空 187
应用JavaScript脚本制作二级导航菜单 189
应用JavaScript脚本控制输入字符串的长度 190
9.8小结 192
9.9练习与实践 192
第10章 日期和时间 教学录像:27分16秒 193
10.1日期和时间的概述 194
10.2处理日期和时间 194
获取当前日期和时间 194
获取日期信息 196
检验日期的有效性 197
输出格式化的日期和时间 197
显示本地化的日期和时间 199
10.3 UNIX时间戳 202
什么是时间戳 202
获得本地化时间戳 202
获取当前时间戳 203
10.4系统时区设置 204
10.5开发中遇到的日期和时间问题 204
比较两个时间的大小 205
计算两个日期的差值 205
计算页面脚本的运行时间 206
10.6小结 207
10.7练习与实践 207
第2篇 核心技术 211
第11章 Cookie与Session 教学录像:35分40秒 211
11.1 Cookie管理 212
了解Cookie 212
创建Cookie 213
读取Cookie 214
删除Cookie 215
Cookie的生命周期 216
Cookie的综合应用——使用Cookie技术计算网站的月访问量 216
11.2 Session管理 217
了解Session 217
创建会话 218
Session的综合应用——通过Session判断用户的操作权限 219
11.3 Cookie与Session的比较 223
11.4小结 223
11.5练习与实践 223
第12章 图形图像处理技术 教学录像:36分13秒 225
12.1了解GD库 226
12.2在PHP中设定图像支持 226
12.3 Jpgraph的安装与配置 226
Jpgraph的安装 227
Jpgraph的配置 227
12.4图形图像的典型应用 227
创建一个简单的图像 228
使用GD2函数在照片上添加文字 228
使用图像处理技术生成验证码 229
使用柱形图统计图书月销售量 231
使用折线图统计图书月销售额 232
使用3D饼形图统计各类商品的 234
年销售额比率 234
12.5小结 235
12.6练习与实践 235
第13章 文件系统 教学录像:52分24秒 237
13.1文件目录概述 238
13.2文件处理 238
打开文件/关闭文件 238
读写文件 239
操作文件 244
13.3目录处理 245
打开目录/关闭目录 245
浏览目录 246
操作目录 247
13.4文件处理的高级应用 248
远程文件的访问 248
文件指针 248
锁定文件 249
13.5文件上传 250
配置php.ini文件 250
预定义变量$FILES 251
文件上传函数 252
多文件上传 253
13.6小结 254
13.7练习与实践 254
第14章 面向对象 教学录像:30分18秒 255
14.1面向对象的基本概念 256
类 256
对象 256
面向对象编程的三大特点 256
14.2 PHP与对象 257
类的定义 257
成员方法 257
类的实例化 258
成员变量 258
类常量 259
构造方法和析构方法 260
继承和多态的实现 262
“$this->”和“∷”的使用 264
数据隐藏 265
静态变量(方法) 268
14.3 PHP对象的高级应用 269
fial关键字 269
抽象类 270
接口的使用 271
克隆对象 273
对象比较 275
对象类型检测(instanceof) 276
魔术方法(_) 276
14.4小结 281
14.5练习与实践 281
第15章 PHP加密技术 教学录像:34分45秒 283
15.1加密技术概述 284
15.2 PHP加密函数 284
使用crypt()函数进行加密 284
使用md5()函数进行加密 286
使用shal()函数进行加密 286
15.3 PHP加密扩展库 287
Mcrypt扩展库 287
Mhash扩展库 290
15.4小结 291
15.5练习与实践 291
第16章 MySQL数据库基础 教学录像:58分50秒 293
16.1 MySQL简介 294
16.2 MySQL的特点 294
16.3启动、连接、断开和停止MySQL服务器 295
启动MySQL服务器 295
连接和断开MySQL服务器 296
停止MySQL服务器 298
16.4 MySQL数据库操作 299
创建数据库CREATE DATABASE 299
查看数据库SHOW DATABASES 300
选择数据库USE DATABASE 300
删除数据库DROP DATABASE 301
16.5 MySQL数据表操作 301
创建数据表CREATE TABLE 301
查看表结构SHOW COLUMNS或DESCRIBE 303
修改表结构ALTER TABLE 304
重命名表RENAME TABLE 305
删除表DROP TABLE 305
16.6 MySQL语句操作 306
插入记录INSERT 306
查询数据库记录SELECT 306
修改记录UPDATE 307
删除记录DELETE 308
16.7小结 309
16.8练习与实践 309
第17章 phpMyAdmin图形化管理工具 教学录像:57分47秒 311
17.1 phpMyAdmin介绍 312
17.2 phpMyAdmin的安装和配置 312
Windows系统下phpMyAdmin的安装配置 312
Linux系统下的phpMyAdmin安装配置 314
17.3 phpMyAdmin的使用 314
操作数据库 314
操作数据表 316
使用SQL语句操作数据表 318
管理数据记录 320
生成和执行mysql数据库脚本 322
17.4小结 324
17.5练习与实践 324
第18章 PHP操作MySQL数据库 教学录像:1小时17分40秒 325
18.1 PHP访问MySQL数据库的一般步骤 326
18.2 PHP操作MySQL数据库的方法 327
使用mysql_connect()函数连接MySQL服务器 327
使用mysql_select_db()函数选择数据库文件 329
使用mysql_query()函数执行SQL语句 330
使用mysql_fetch_array()函数从数组结果集中获取信息 331
使用mysql_fetch_object()函数从结果集中获取一行作为对象 333
使用mysql_fetch_row()函数逐行获取结果集中的每条记录 335
使用mysql_num_rows()函数获取查询结果集中的记录数 336
18.3 PHP操作MySQL数据库 337
使用Insert语句动态添加公告信息 338
使用Select语句查询公告信息 341
解决截取公告主题乱码问题 342
分页显示公告信息 345
使用update语句动态编辑公告信息 347
使用Delete语句动态删除公告信息 349
18.4小结 351
18.5练习与实践 351
第19章 ADODB类库 教学录像:56分15秒 353
19.1什么是ADODB 354
19.2为什么使用ADODB 354
19.3 ADODB支持的数据库 354
19.4下载与安装ADODB 355
19.5使用ADODB操作MySQL 356
19.6 ADODB类库 356
公共变量 357
主要函数 358
公共函数 362
ADORecordSet(结果集) 363
载入其他页面 366
错误处理及调试 368
19.7 ADODB类库应用 369
实现分页 369
处理事务 370
19.8小结 371
19.9练习与实践 371
第20章 程序调试及错误处理 教学录像:1小时19秒 373
20.1基本调试流程 374
20.2 PHP中的错误类型 375
语法错误 375
语义错误 377
逻辑错误 377
注释错误 378
运行错误 378
20.3 PH P的基本调试策略 379
PHP的错误报告 379
设置php.ini文件中的错误处理机制 379
使用print语句调试程序 380
使用@前缀字符屏蔽PHP脚本错误提示 381
使用错误处理器记录日志 381
20.4解决数据库乱码问题 383
20.5小结 383
第3篇 高级应用 387
第21章 PHP网络开发 教学录像:42分33秒 387
21.1电子邮件的原理 388
电子邮件简介 388
电子邮件基本原理 388
21.2系统的配置需求 388
SMTP服务器的安装和配置 389
POP3的安装和配置 392
21.3应用PHP发送和接收电子邮件 394
发送一个简单电子邮件 394
发送带附件的电子邮件 397
接收带附件的电子邮件 401
21.4小结 406
21.5练习与实践 406
第22章 PHP与XML技术 教学录像:31分17秒 307
22.1 XML的概述 408
22.2 XML语法 408
XML文档结构 408
XML声明 409
处理指令 409
注释 409
XML元素 410
XML属性 410
使用CDATA标记 410
XML命名空间 411
22.3在PHP中创建XML文档 412
22.4 SimpleXML 412
创建SimpleXML对象 413
遍历所有子元素 414
遍历所有属性 414
访问特定节点元素和属性 415
修改XML数据 416
保存XML文档 417
22.5动态创建XML文档 418
22.6小结 419
22.7练习与实践 419
第23章 PHP与LDAP技术 教学录像:25分27秒 421
23.1 LDAP简介 422
23.2 LDAP服务器的安装和配置 422
OpenLDAP安装 422
OpenLDAP配置 423
重启OpenLDAP 424
检查LDAP服务器 424
使用OpenLDAP 425
23.3 PHP与LDAP 426
在PHP中加载LDAP 426
连接LDAP服务器 426
绑定LDAP服务器 427
配置函数 428
关闭LDAP服务器 428
操作LDAP数据 429
23.4小结 431
23.5练习与实践 431
第24章 PHP与Ajax技术 教学录像:32分47秒 433
24.1 Ajax概述 434
什么是Ajax 434
Ajax的开发模式 434
Ajax的优点 435
24.2 Ajax使用的技术 435
JavaScript脚本语言 435
XMLHttpRequest 435
XML语言 438
DOM 438
CSS 438
24.3 Ajax开发需要注意的几个问题 438
24.4在PHP中应用Ajax技术的典型应用 440
在PHP中应用Ajax技术检测用户名 440
在PHP中应用Ajax技术实现博客文章类别添加 442
24.5小结 446
24.6练习与实践 446
第25章 Web Service与SOAP技术 教学录像:31分1秒 447
25.1 Web Service技术 448
25.2 SOAP协议 448
SOAP Envelope 449
SOAP Header 449
SOAP Body 449
SOAP Fault 450
25.3 WSDL文档 450
<defimitions>根元素 451
<types>元素 451
<message>元素 451
<portType>元素 452
<binding>元素 452
<service>元素 453
25.4 UDDI规范 453
25.5 PHP内置SOAP类库 453
配置SOAP 454
建立WSDL 454
创建服务器端页面 454
创建客户端页面 455
25.6使用NuSOAP类包 455
NuSOAP介绍 456
创建服务器端页面 456
创建客户端页面 457
25.7小结 458
25.8练习与实践 458
第26章 Smarty模板技术 教学录像:38分44秒 459
26.1 Smarty简介 460
什么是Smarty 460
Smarty与MVC 460
Smarty特点 460
26.2 Smarty的安装配置 461
Smarty下载和安装 461
第一个Smarty程序 461
Smarty配置 463
26.3 Smarty模板设计 464
Smarty模板文件 464
注释 464
变量 465
修饰变量(variable modifers) 468
流程控制 469
26.4 Smarty程序设计 473
Smarty中的常用方法 473
Smarty的配置变量 474
26.5小结 475
26.6练习与实践 475
第4篇 项目实战 479
第27章 应用Smarty模板开发电子商务网站 教学录像:2小时10分54秒 479
27.1系统分析 480
需求分析 480
编写项目计划书 480
27.2系统设计 484
系统目标 484
系统功能结构 484
系统流程图 485
27.3软件开发环境 486
27.4数据库与数据表的设计 486
数据库分析 486
创建数据库和数据表 488
27.5搭建系统框架 491
27.6公共文件设计 492
数据库连接文件 492
Smarty配置文件 493
xmlhttprequest对象文件 493
表单样式文件 493
27.7前台首页设计 496
27.8登录模块设计 498
用户注册 498
用户登录 504
找回密码 507
27.9会员信息模块设计 512
会员中心 512
安全退出 516
27.10商品显示模块 516
创建PHP页 517
创建模板页 518
js脚本页面 519
27.11购物车模块设计 519
添加商品 519
显示购物车 522
更改商品数量 524
删除商品 525
保存购物车 527
27.12收银台模块设计 529
显示订单 530
填写订单 531
处理订单 532
反馈订单 534
查询订单 536
27.13后台首页设计 539
后台首页布局 539
DIV+JavaScript+CSS实现树形菜单 540
27.14类别管理模块设计 541
添加类别 542
查看类别 545
27.15订单管理模块设计 549
27.16开发常见问题与解决 552
解决Ajax的乱码问题 552
使用JS脚本获取、输出标签内容 553
使用浮动框架做关联菜单 552
禁用页面缓存 553
在新窗口中使用session 553
防止站外链接 554
判断上传文件格式 554
打开Smarty缓存文件 555
27.17发布网站 555
注册域名 555
申请空间 556
将域名解析到服务器 556
上传网站 556
27.18小结 557