图书目录

目  录

第1篇  基础知识

第1章  初识PHP  2

  视频讲解:23分钟

1.1  PHP概述  3

1.1.1  什么是PHP  3

1.1.2  PHP语言的优势  3

1.1.3  PHP 5的新特性  4

1.1.4  PHP的发展趋势  4

1.1.5  PHP的应用领域  5

1.2  扩展库  5

1.3  如何学好PHP  8

1.4  学习资源  9

1.4.1  常用软件资源  9

1.4.2  常用网上资源  10

1.4.3  主要图书网站  10

1.5  网站建设的基本流程  10

1.6  小结  11

第2章  PHP环境搭建和开发工具  12

  视频讲解:1小时9分钟

2.1  在Windows下使用WampServer  13

2.1.1  PHP开发环境的安装  13

2.1.2  PHP服务器的启动与停止  15

2.1.3  PHP开发环境的关键配置  16

2.2  在Linux下的安装配置  19

2.2.1  安装Apache服务器  19

2.2.2  安装MySQL数据库  20

2.2.3  安装PHP 5  21

2.3  PHP常用开发工具  23

2.4  第一个PHP实例  24

2.5  小结  26

2.6  实践与练习  26

第3章  PHP语言基础  27

  视频讲解:2小时48分钟

3.1  PHP的标记风格  28

3.2  PHP注释的应用  28

3.3  PHP的数据类型  30

3.3.1  标量数据类型  30

3.3.2  复合数据类型  35

3.3.3  特殊数据类型  36

3.3.4  数据类型转换  37

3.3.5  检测数据类型  39

3.4  PHP常量  39

3.4.1  声明和使用常量  39

3.4.2  预定义常量  41

3.5  PHP变量  42

3.5.1  变量声明及使用  42

3.5.2  变量作用域  44

3.5.3  可变变量  46

3.5.4  PHP预定义变量  46

3.6  PHP运算符  47

3.6.1  算术运算符  47

3.6.2  字符串运算符  48

3.6.3  赋值运算符  49

3.6.4  递增或递减运算符  49

3.6.5  位运算符  50

3.6.6  逻辑运算符  51

3.6.7  比较运算符  52

3.6.8  条件运算符  53

3.6.9  运算符的优先级  53

3.7  PHP的表达式  54

3.8  PHP函数  55

3.8.1  定义和调用函数  55

3.8.2  在函数间传递参数  56

3.8.3  从函数中返回值  58

3.8.4  变量函数  58

3.9  PHP编码规范  59

3.9.1  什么是编码规范  59

3.9.2  PHP书写规则  60

3.9.3  PHP命名规则  61

3.10  小结  63

3.11  实践与练习  63

第4章  流程控制语句  64

  视频讲解:1小时8分钟

4.1  条件控制语句  65

4.1.1  if语句  65

4.1.2  if…else语句  66

4.1.3  elseif语句  67

4.1.4  switch语句  69

4.2  循环控制语句  71

4.2.1  while循环语句  71

4.2.2  do…while循环语句  72

4.2.3  for循环语句  73

4.2.4  foreach循环语句  74

4.3  跳转语句  75

4.3.1  break语句  75

4.3.2  continue语句  77

4.4  小结  78

4.5  实践与练习  79

第5章  字符串操作  80

  视频讲解:56分钟

5.1  字符串的定义方法  81

5.1.1  使用单引号或双引号定义字符串  81

5.1.2  使用定界符定义字符串  82

5.2  字符串操作  82

5.2.1  去除字符串首尾空格和特殊字符  83

5.2.2  转义、还原字符串数据  84

5.2.3  获取字符串的长度  87

5.2.4  截取字符串  89

5.2.5  比较字符串  90

5.2.6  检索字符串  92

5.2.7  替换字符串  94

5.2.8  格式化字符串  97

5.2.9  分割、合成字符串  98

5.3  小结  100

5.4  实践与练习  100

第6章  正则表达式  101

  视频讲解:33分钟

6.1  什么是正则表达式  102

6.2  正则表达式语法规则  102

6.2.1  行定位符(^和$)  103

6.2.2  单词分界符(\b、\B)  103

6.2.3  字符类([ ])  103

6.2.4  选择字符(|)  104

6.2.5  连字符(-)  104

6.2.6  排除字符([^])  105

6.2.7  限定符(? * + {n,m})  105

6.2.8  点号字符(.)  105

6.2.9  转义字符(\)  106

6.2.10  反斜线(\)  106

6.2.11  括号字符(())  107

6.2.12  反向引用  108

6.2.13  模式修饰符  108

6.3  PCRE兼容正则表达式函数  109

6.3.1  preg_grep()函数  109

6.3.2  preg_match()和preg_match_all()函数  109

6.3.3  preg_quote()函数  110

6.3.4  preg_replace()函数  111

6.3.5  preg_replace_callback()函数  112

6.3.6  preg_split()函数  112

6.4  应用正则表达式对用户注册信息进行验证  112

6.5  小结  115

6.6  实践与练习  115

第7章  PHP数组  116

  视频讲解:1小时6分钟

7.1  什么是数组  117

7.2  声明数组  117

7.3  数组的类型  119

7.3.1  数字索引数组  119

7.3.2  关联数组  119

7.4  输出数组  120

7.5  数组的构造  121

7.5.1  一维数组  121

7.5.2  二维数组  121

7.6  遍历数组  122

7.7  字符串与数组的转换  124

7.8  统计数组元素个数  126

7.9  查询数组中指定元素  127

7.10  获取数组中最后一个元素  128

7.11  向数组中添加元素  129

7.12  删除数组中重复元素  129

7.13  综合运用数组函数实现多文件上传  130

7.14  小结  132

7.15  实践与练习  132

第8章  PHP与Web页面交互  133

  视频讲解:1小时6分钟

8.1  表单  134

8.1.1  创建表单  134

8.1.2  表单元素  135

8.2  在普通的Web页中插入表单  138

8.3  获取表单数据的两种方法  140

8.3.1  使用POST方法提交表单  140

8.3.2  使用GET方法提交表单  141

8.4  PHP参数传递的常用方法  142

8.4.1  $_POST[]全局变量  142

8.4.2  $_GET[]全局变量  143

8.4.3  $_SESSION[]变量  143

8.5  在Web页中嵌入PHP脚本  144

8.5.1  在HTML标记中添加PHP脚本  144

8.5.2  对表单元素的value属性进行赋值  144

8.6  在PHP中获取表单数据  144

8.6.1  获取文本框、密码域、隐藏域、按钮、文本域的值  144

8.6.2  获取单选按钮的值  146

8.6.3  获取复选框的值  146

8.6.4  获取下拉列表框/菜单列表框的值  148

8.6.5  获取文件域的值  150

8.7  对URL传递的参数进行编/解码  151

8.7.1  对URL传递的参数进行编码  151

8.7.2  对URL传递的参数进行解码  152

8.8  PHP与Web表单的综合应用  153

8.9  小结  154

8.10  实践与练习  154

第9章  PHP与JavaScript交互  155

  视频讲解:1小时4分钟

9.1  了解JavaScript  156

9.1.1  什么是JavaScript  156

9.1.2  JavaScript的功能  156

9.2  JavaScript语言基础  156

9.2.1  JavaScript数据类型  157

9.2.2  JavaScript变量  157

9.2.3  JavaScript注释  159

9.3  自定义函数  159

9.4  JavaScript流程控制语句  160

9.4.1  条件语句  160

9.4.2  循环语句  164

9.4.3  跳转语句  166

9.5  JavaScript事件  167

9.6  调用JavaScript脚本(JavaScript脚本嵌入方式)  168

9.6.1  在HTML中嵌入JavaScript脚本  168

9.6.2  应用JavaScript事件调用自定义函数  169

9.6.3  在PHP动态网页中引用JS文件  169

9.6.4  解决浏览器不支持JavaScript的问题  171

9.7  在PHP中调用JavaScript脚本  173

9.7.1  应用JavaScript脚本验证表单元素是否为空  173

9.7.2  应用JavaScript脚本制作二级导航菜单  175

9.7.3  应用JavaScript脚本控制文本域和复选框  176

9.8  小结  179

9.9  实践与练习  179

第10章  日期和时间  180

  视频讲解:30分钟

10.1  系统时区设置  181

10.1.1  时区划分  181

10.1.2  时区设置  181

10.2  PHP日期和时间函数  181

10.2.1  获得本地化时间戳  182

10.2.2  获取当前时间戳  183

10.2.3  获取当前日期和时间  183

10.2.4  获取日期信息  185

10.2.5  检验日期的有效性  186

10.2.6  输出格式化的日期和时间  186

10.2.7  显示本地化的日期和时间  188

10.2.8  将日期和时间解析为UNIX时间戳  191

10.3  日期和时间的应用  192

10.3.1  比较两个时间的大小  192

10.3.2  实现倒计时功能  192

10.3.3  计算页面脚本的运行时间  193

10.4  小结  195

10.5  实践与练习  195 

第2篇  核心技术 

第11章  Cookie与Session  198

  视频讲解:1小时8分钟

11.1  Cookie管理  199

11.1.1  了解Cookie  199

11.1.2  创建Cookie  200

11.1.3  读取Cookie  201

11.1.4  删除Cookie  202

11.1.5  Cookie的生命周期  203

11.2  Session管理  203

11.2.1  了解Session  203

11.2.2  创建会话  204

11.2.3  Session设置时间  206

11.2.4  通过Session判断用户的操作权限  208

11.3  Session高级应用  210

11.3.1  Session临时文件  210

11.3.2  Session缓存  211

11.3.3  Session数据库存储  212

11.4  小结  215

11.5  实践与练习  215

第12章  图形图像处理技术  216

  视频讲解:45分钟

12.1  在PHP中加载GD库  217

12.2  Jpgraph的安装与配置  218

12.2.1  Jpgraph的安装  218

12.2.2  Jpgraph的配置  218

12.3  图形图像的典型应用  219

12.3.1  创建一个简单的图像  219

12.3.2  使用GD2函数在照片上添加文字  219

12.3.3  使用图像处理技术生成验证码  220

12.3.4  使用柱形图统计图书月销售量  222

12.3.5  使用折线图统计图书月销售额  223

12.3.6  使用3D饼形图统计各类商品的年销售额比率  225

12.4  小结  226

12.5  实践与练习  226

第13章  文件系统  228

  视频讲解:49分钟

13.1  文件处理  229

13.1.1  打开/关闭文件  229

13.1.2  读写文件  230

13.1.3  操作文件  235

13.2  目录处理  236

13.2.1  打开/关闭目录  236

13.2.2  浏览目录  237

13.2.3  操作目录  238

13.3  文件处理的高级应用  238

13.3.1  远程文件的访问  239

13.3.2  文件指针  239

13.3.3  锁定文件  240

13.4  文件上传  241

13.4.1  配置php.ini文件  241

13.4.2  预定义变量$_FILES  242

13.4.3  文件上传函数  243

13.4.4  多文件上传  244

13.5  小结  245

13.6  实践与练习  245

第14章  面向对象  246

  视频讲解:26分钟

14.1  面向对象的基本概念  247

14.1.1  类  247

14.1.2  对象  247

14.1.3  面向对象编程的三大特点  248

14.2  PHP与对象  248

14.2.1  类的定义  248

14.2.2  成员方法  249

14.2.3  类的实例化  249

14.2.4  成员变量  250

14.2.5  类常量  251

14.2.6  构造方法和析构方法  252

14.2.7  继承和多态的实现  255

14.2.8  “$this ->”和“::”的使用  257

14.2.9  数据隐藏  259

14.2.10  静态变量(方法)  261

14.3  面向对象的高级应用  263

14.3.1  final关键字  263

14.3.2  抽象类  263

14.3.3  接口的使用  265

14.3.4  克隆对象  267

14.3.5  对象比较  268

14.3.6  对象类型检测  269

14.3.7  魔术方法  270

14.4  面向对象的应用—中文字符串的截取类  274

14.5  小结  276

14.6  实践与练习  276

第15章  PHP加密技术  277

  视频讲解:23分钟

15.1  PHP加密函数  278

15.1.1  使用crypt()函数进行加密  278

15.1.2  使用md5()函数进行加密  280

15.1.3  使用sha1()函数进行加密  281

15.2  PHP加密扩展库  282

15.2.1  Mcrypt扩展库  282

15.2.2  Mhash扩展库  285

15.3  小结  286

15.4  实践与练习  286

第16章  MySQL数据库基础  287

  视频讲解:56分钟

16.1  MySQL概述  288

16.2  启动和关闭MySQL服务器  289

16.2.1  启动MySQL服务器  289

16.2.2  连接和断开MySQL服务器  289

16.3  操作MySQL数据库  290

16.3.1  创建数据库  290

16.3.2  选择数据库  291

16.3.3  查看数据库  291

16.3.4  删除数据库  291

16.4  MySQL数据类型  292

16.4.1  数字类型  292

16.4.2  字符串类型  293

16.4.3  日期和时间类型  294

16.5  操作数据表  294

16.5.1  创建数据表  295

16.5.2  查看表结构  296

16.5.3  修改表结构  297

16.5.4  重命名数据表  298

16.5.5  删除数据表  298

16.6  数据表记录的更新操作  299

16.6.1  数据表记录的添加  299

16.6.2  数据表记录的修改  300

16.6.3  数据表记录的删除  300

16.7  数据表记录的查询操作  300

16.8  MySQL中的特殊字符  304

16.9  小结  305

16.10  实践与练习  305

第17章  phpMyAdmin图形化管理工具  306

  视频讲解:10分钟

17.1  phpMyAdmin介绍  307

17.2  phpMyAdmin的使用  307

17.2.1  操作数据库  307

17.2.2  操作数据表  309

17.2.3  使用SQL语句操作数据表  311

17.2.4  管理数据记录  315

17.2.5  生成和执行MySQL数据库脚本  316

17.3  小结  318

17.4  实践与练习  318

第18章  PHP操作MySQL数据库  319

  视频讲解:52分钟

18.1  PHP操作MySQL数据库的方法  320

18.1.1  连接MySQL服务器  320

18.1.2  选择MySQL数据库  321

18.1.3  执行SQL语句  322

18.1.4  将结果集返回到数组中  323

18.1.5  从结果集中获取一行作为对象  325

18.1.6  从结果集中获取一行作为枚举数组  326

18.1.7  从结果集中获取一行作为关联数组  326

18.1.8  获取查询结果集中的记录数  327

18.1.9  释放内存  328

18.1.10  关闭连接  328

18.1.11  连接与关闭MySQL服务器的最佳时机  329

18.2  管理MySQL数据库中的数据  330

18.2.1  添加数据  330

18.2.2  编辑数据  331

18.2.3  删除数据  333

18.2.4  批量数据操作  334

18.3  小结  335

18.4  实践与练习  335

第19章  PDO数据库抽象层  336

  视频讲解:48分钟

19.1  什么是PDO  337

19.1.1  PDO概述  337

19.1.2  PDO特点  337

19.1.3  安装PDO  337

19.2  PDO连接数据库  338

19.2.1  PDO构造函数  338

19.2.2  DSN详解  339

19.3  PDO中执行SQL语句  339

19.3.1  exec方法  339

19.3.2  query方法  339

19.3.3  预处理语句—prepare和execute方法  340

19.4  PDO中获取结果集  340

19.4.1  fetch方法  340

19.4.2  fetchAll方法  342

19.4.3  fetchColumn方法  343

19.5  PDO中捕获SQL语句中的错误  344

19.5.1  使用默认模式—PDO::ERRMODE_SILENT  344

19.5.2  使用警告模式—PDO::ERRMODE_WARNING  345

19.5.3  使用异常模式—PDO::ERRMODE_EXCEPTION  347

19.6  PDO中错误处理  348

19.6.1  errorCode方法  348

19.6.2  errorInfo方法  350

19.7  PDO中事务处理  351

19.8  PDO中存储过程  352

19.9  小结  354

19.10  实践与练习  354

第20章  ThinkPHP框架  355

  视频讲解:2小时42分钟

20.1  ThinkPHP简介  356

20.1.1  ThinkPHP框架的主要特性  356

20.1.2  环境要求  356

20.1.3  下载和安装  357

20.2  ThinkPHP基础  358

20.2.1  目录结构  358

20.2.2  命名规范  360

20.2.3  架构总览  361

20.3  ThinkPHP的配置  364

20.3.1  配置基础  364

20.3.2  配置加载配置文件和目录  365

20.3.3  入口配置  366

20.3.4  资源配置  368

20.3.5  调试配置  368

20.4  路由  369

20.4.1  路由概述  369

20.4.2  路由模式  370

20.4.3  路由定义  370

20.4.4  路由表达式  374

20.4.5  路由地址  375

20.4.6  路由分组  375

20.4.7  MISS路由  376

20.5  控制器  377

20.5.1  控制器的定义  377

20.5.2  跳转和重定向  378

20.6  数据库  379

20.6.1  数据库的连接  379

20.6.2  基本操作  382

20.7  模型  386

20.7.1  模型的定义  387

20.7.2  模型基础操作  388

20.8  视图  395

20.8.1  视图渲染  395

20.8.2  视图赋值  396

20.9  模板  398

20.9.1  变量输出  398

20.9.2  使用函数  399

20.9.3  内置标签  400

20.10  小结  403

20.11  实践与练习  403 

第3篇  高级应用 

第21章  Smarty模板技术  406

  视频讲解:55分钟

21.1  Smarty简介  407

21.1.1  什么是Smarty  407

21.1.2  Smarty与MVC  407

21.1.3  Smarty的特点  407

21.2  Smarty的安装配置  408

21.2.1  Smarty的下载和安装  408

21.2.2  第一个Smarty程序  408

21.2.3  Smarty配置  410

21.3  Smarty模板设计  412

21.3.1  Smarty模板文件  412

21.3.2  注释  412

21.3.3  变量  412

21.3.4  修饰变量  415

21.3.5  流程控制  417

21.4  Smarty程序设计  420

21.4.1  Smarty中的常用方法  420

21.4.2  Smarty的配置变量  422

21.5  Smarty模板的应用  422

21.5.1  将Smarty的配置方法封装到类中  422

21.5.2  Smarty+ADODB整合应用  425

21.6  小结  427

21.7  实践与练习  427

第22章  PHP与XML技术  428

  视频讲解:24分钟

22.1  XML概述  429

22.2  XML语法  429

22.2.1  XML文档结构  429

22.2.2  XML声明  430

22.2.3  处理指令  430

22.2.4  注释  430

22.2.5  XML元素  431

22.2.6  XML属性  431

22.2.7  使用CDATA标记  431

22.2.8  XML命名空间  432

22.3  在PHP中创建XML文档  433

22.4  SimpleXML类库  433

22.4.1  创建SimpleXML对象  434

22.4.2  遍历所有子元素  435

22.4.3  遍历所有属性  436

22.4.4  访问特定节点元素和属性  437

22.4.5  修改XML数据  437

22.4.6  保存XML文档  439

22.5  动态创建XML文档  440

22.6  小结  441

22.7  实践与练习  441

第23章  PHP与Ajax技术  442

  视频讲解:42分钟

23.1  Ajax概述  443

23.1.1  什么是Ajax  443

23.1.2  Ajax的开发模式  443

23.1.3  Ajax的优点  444

23.2  Ajax使用的技术  444

23.2.1  JavaScript脚本语言  444

23.2.2  XMLHttpRequest  444

23.2.3  XML语言  447

23.2.4  DOM  447

23.2.5  CSS  447

23.3  Ajax开发需要注意的几个问题  448

23.4  在PHP中应用Ajax技术的典型应用  449

23.4.1  在PHP中应用Ajax技术检测用户名  449

23.4.2  在PHP中应用Ajax技术实现博客文章类别添加  451

23.5  小结  454

23.6  实践与练习  454 

第4篇  项目实战 

第24章  应用Smarty模板开发电子商务网站  456

  视频讲解:2小时21分钟

24.1  开发背景  457

24.2  需求分析  457

24.3  系统分析  457

24.3.1  系统目标  457

24.3.2  系统功能结构  458

24.3.3  开发环境  459

24.3.4  文件夹组织结构  459

24.4  数据库与数据表的设计  460

24.4.1  数据库分析  460

24.4.2  创建数据库和数据表  462

24.5  公共文件设计  464

24.5.1  数据库连接、管理和分页类文件  465

24.5.2  Smarty模板配置类文件  467

24.5.3  执行类的实例化文件  468

24.6  前台首页设计  468

24.6.1  前台首页技术分析  469

24.6.2  前台首页实现过程  470

24.7  登录模块设计  472

24.7.1  登录模块概述  472

24.7.2  登录模块技术分析  472

24.7.3  用户注册  474

24.7.4  用户登录  476

24.7.5  找回密码  478

24.8  会员信息模块设计  483

24.8.1  会员信息模块概述  483

24.8.2  会员信息模块技术分析  483

24.8.3  会员中心  484

24.8.4  安全退出  487

24.9  商品显示模块  488

24.9.1  商品展示模块概述  488

24.9.2  商品展示模块技术分析  489

24.9.3  商品展示模块的实现过程  489

24.10  购物车模块设计  492

24.10.1  购物车模块概述  492

24.10.2  购物车模块技术分析  493

24.10.3  购物车展示  495

24.10.4  更改商品数量  497

24.10.5  删除商品  498

24.10.6  保存购物车  500

24.11  收银台模块设计  502

24.11.1  收银台模块概述  502

24.11.2  收银台模块技术分析  502

24.11.3  显示订单  503

24.11.4  填写订单  503

24.11.5  处理订单  504

24.12  后台首页设计  505

24.12.1  后台首页概述  505

24.12.2  后台首页技术分析  506

24.12.3  后台首页实现过程  508

24.13  开发常见问题与解决  510

24.13.1  解决Ajax的乱码问题  510

24.13.2  使用JS脚本获取、输出标签内容  510

24.13.3  禁用页面缓存  510

24.13.4  在新窗口中使用session  511

24.13.5  判断上传文件格式  511

24.13.6  设置服务器的时间  511

24.14  小结  512

第25章  应用ThinkPHP框架开发编程e学网  513

  视频讲解:1小时29分钟

25.1  项目设计思路  514

25.1.1  功能阐述  514

25.1.2  功能结构  514

25.1.3  系统预览  515

25.2  数据库设计  517

25.2.1  数据库分析  517

25.2.2  数据表设计  517

25.2.3  连接数据库  520

25.3  系统开发必备  520

25.3.1  系统开发环境  520

25.3.2  文件夹组织结构  521

25.4  前台模块设计  521

25.4.1  视频首页设计  521

25.4.2  登录注册页面设计  524

25.4.3  视频列表页面设计  529

25.4.4  视频播放页面设计  530

25.4.5  会员中心页面设计  533

25.5  后台模块设计  535

25.5.1  课程管理  535

25.5.2  资源管理  537

25.5.3  注册会员  539

25.5.4  账号管理  540

25.6  小结  540