第1章 PHP概述及其运行环境的配置 1
1.1 动态Web站点 1
1.1.1 什么是动态Web站点 1
1.1.2 从静态网站到动态网站的演变 1
1.2 PHP基本原理及由来 2
1.2.1 PHP的概念 2
1.2.2 PHP的产生与发展 2
1.2.3 PHP原理 3
1.3 PHP的运行环境 4
1.3.1 PHP项目开发框架的组成 4
1.3.2 几种PHPWeb开发环境配置方法的比较 5
1.3.3 如何安装AppServ 5
1.3.4 php.ini文件的配置 8
1.3.5 测试PHP运行环境 9
1.4 常用的PHP程序编辑工具 10
1.4.1 PHP代码开发工具 10
1.4.2 网页设计工具 11
1.4.3 文本编辑工具 11
1.5 本章小结 12
1.6 练习题 12
1.7 上机实战 12
第2章 HTML基础 13
2.1 HTML文档的基本结构 13
2.1.1 HTML文件结构 13
2.1.2 标题标记<title></title>及主体标记<body></body> 14
2.2 文本格式标记 14
2.2.1 标题字体标记<hn></hn> 14
2.2.2 字体风格标记<b><i><u><sup><sub><em><strong><big> 15
2.2.3 字体标记<font></font> 15
2.2.4 段落标记<p></p>与换行标记<br> 15
2.2.5 区域标记<div> 16
2.2.6 列表标记<ul></ul><ol></ol><dl></dl> 16
2.2.7 水平线标记<hr/> 18
2.2.8 转义字符与其他特殊符号 18
2.3 超链接标记<a></a> 18
2.3.1 链接的定义 19
2.3.2 超链接的种类 19
2.4 图像标记<img> 19
2.4.1 图像的基本格式 20
2.4.2 图像的对齐方式<img src=″″align=″″/> 21
2.4.3 图像的大小<img src=″″width=″″ height=″″/> 21
2.5 表格标记 21
2.5.1 表格定义标记<table></table><tr></tr><th></th><td></td> 22
2.5.2 表格体标记<tbody> 25
2.6 表单标记 25
2.6.1 表单的定义语法 25
2.6.2 在文本框中输入文字和密码 26
2.6.3 复选框(CheckBox)和单选按钮(RadioButton) 26
2.6.4 列表框(Selectable Menu) 27
2.6.5 文本区域(textarea) 28
2.6.6 表单中的按钮 29
2.6.7 隐藏表单的元素 29
2.7 在HTML中嵌入PHP代码 30
2.8 HTML 5新增表单元素和属性 31
2.9 案例剖析:制作网上问卷调查表单 32
2.9.1 程序功能介绍 32
2.9.2 程序代码分析 32
2.10 本章小结 34
2.11 练习题 35
2.12 上机实战 35
第3章 PHP的基本语法 36
3.1 PHP语法综述 36
3.1.1 PHP程序语言的特点 36
3.1.2 PHP无可比拟的优势 37
3.2 数据类型 38
3.2.1 布尔数据类型 38
3.2.2 整数数据类型 40
3.2.3 浮点数数据类型 42
3.2.4 字符串数据类型 43
3.2.5 转义字符串 46
3.2.6 数组数据类型 47
3.2.7 对象数据类型 48
3.2.8 资源数据类型 50
3.2.9 NULL数据类型 50
3.3 PHP的变量与常数 50
3.3.1 变量的定义与赋值 50
3.3.2 变量的参考指定 51
3.3.3 常数的声明 52
3.3.4 保留字 53
3.3.5 可变变量(动态变量) 53
3.3.6 变量的作用域 55
3.3.7 运算符优先级 56
3.3.8 算术运算符 57
3.3.9 赋值运算符 58
3.3.10 位运算符 59
3.3.11 递增/递减运算符 60
3.3.12 逻辑运算符 61
3.3.13 字符串运算符 61
3.3.14 强制类型转换运算符 62
3.3.15 执行运算符 63
3.3.16 PHP常量与表达式 63
3.4 PHP程序中的流程控制 64
3.4.1 if...else...语句 65
3.4.2 if...else if...语句 66
3.4.3 while循环结构 66
3.4.4 do...while循环结构 67
3.4.5 for循环结构 69
3.4.6 foreach循环 70
3.4.7 break与continue语句 70
3.4.8 switch语句 71
3.5 案例剖析:九九乘法口诀表的实现 72
3.5.1 程序功能介绍 72
3.5.2 程序代码分析 73
3.6 本章小结 74
3.7 练习题 74
3.8 上机实战 74
第4章 PHP中的函数与内置数组 75
4.1 PHP内置函数概述 75
4.1.1 PHP标准函数与扩展函数 75
4.1.2 启用扩展函数库 76
4.2 PHP内置数组 76
4.2.1.PHP 5内置数组简介 77
4.2.2 接收表单数据和URL附加数据 77
4.2.3 用Session和Cookie实现用户登录 79
4.3 PHP数组函数 83
4.3.1 数组函数总览 83
4.3.2 array()函数 85
4.3.3 count()函数 86
4.3.4 each()函数 86
4.3.5 current()、reset()、end()、next()、prev()函数 87
4.3.6 添加数组元素的函数 88
4.3.7 获取数组的最后一个元素 88
4.4 字符串处理函数 89
4.4.1 字符处理函数总览 89
4.4.2 去除空格函数 90
4.4.3 HTML处理相关函数 92
4.4.4 改变字符串大小写 93
4.4.5 字符串拆分与连接 94
4.4.6 字符串查找 96
4.4.7 字符串替换 98
4.4.8 字符串加密 100
4.5 时间日期函数 101
4.5.1 时间日期函数总览 101
4.5.2 date()函数和time()函数 101
4.5.3 strtotime()函数 103
4.5.4 getdate()函数 104
4.5.5 mktime()函数 105
4.6 数学函数 105
4.6.1 数学函数总览 105
4.6.2 求随机数的rand()函数 107
4.6.3 最大值函数与最小值函数 107
4.6.4 ceil()、floor()和round()函数 107
4.7 图像处理函数 108
4.7.1 用图像处理函数绘制PNG图形 109
4.7.2 用图像处理函数制作水印效果 110
4.8 自定义函数 111
4.8.1 函数的命名规则 111
4.8.2 函数的定义与调用 111
4.8.3 函数的参数传递 112
4.8.4 函数的嵌套调用与递归调用 114
4.8.5 用函数的同名变量实现可变函数 115
4.8.6 变量在函数中的使用 116
4.9 案例剖析:图像验证码的实现 118
4.9.1 程序功能介绍 118
4.9.2 程序代码分析 118
4.10 本章小结 120
4.11 练习题 120
4.12 上机实战 121
第5章 目录与文件操作 122
5.1 文件操作 122
5.1.1 文件的基本操作方法 122
5.1.2 文件操作的重要函数 125
5.1.3 文件操作函数的综合案例 126
5.2 目录操作 127
5.2.1 获取磁盘驱动器信息 127
5.2.2 创建和删除目录 129
5.2.3 获取和更改当前目录 130
5.2.4 读取目录内容 131
5.2.5 解析路径信息 133
5.3 文件上传的实现 134
5.3.1 创建文件域 134
5.3.2 单个文件的上传 134
5.3.3 多个文件的上传 136
5.4 案例剖析:基于文件名的目录搜索 138
5.4.1 程序功能介绍 138
5.4.2 程序代码分析 138
5.5 本章小结 139
5.6 练习题 140
5.7 上机实战 140
第6章 MySQL数据库的安装与使用 141
6.1 MySQL数据库简介 141
6.1.1 Web开发与数据库 141
6.1.2 MySQL数据库概述 142
6.2 MySQL数据库的安装、测试及性能特点 142
6.2.1 下载MySQL安装包 142
6.2.2 测试MySQL 143
6.2.3 MySQL数据库性能特点 144
6.3 MySQL数据库支持的数据类 144
6.3.1 数值类型 145
6.3.2 日期和时间类型 146
6.3.3 字符串类型 146
6.4 结构化查询语言(SQL)简介 147
6.4.1 结构化查询语言简介 147
6.4.2 常用的SQL语句用法 147
6.5 常用的可视化MySQL数据库管理工具 153
6.5.1 phpMyAdmin的安装与使用 153
6.5.2 Navicat MySQL的安装与使用 156
6.6 案例剖析:学生成绩数据库规划与实现 157
6.6.1 程序功能介绍 157
6.6.2 程序代码分析 158
6.7 本章小结 159
6.8 练习题 159
6.9 上机实战 159
第7章 PHP与MySQL的珠联璧合 161
7.1 运用PHP和MySQL联合开发Web的优势 161
7.2 连接MySQL数据库的前期准备工作 161
7.2.1 修改php.ini文件中的有关配置选项 161
7.2.2 PHP操作MySQL数据库的基本步骤 162
7.3 PHP操作MySQL数据库常用方法 163
7.3.1 连接数据库 164
7.3.2 选择数据库 164
7.3.3 对数据库进行操作 165
7.3.4 其他常用的MySQL函数 167
7.3.5 从结果集中获取一行作为对象 171
7.4 案例剖析:网上学生成绩查询系统的实现 173
7.4.1 程序功能介绍 173
7.4.2 程序代码分析 174
7.5 本章小结 175
7.6 练习题 175
7.7 上机实战 176
第8章 PHP中的正则表达式及式样匹配 177
8.1 正则表达式简介 177
8.1.1 正则表达式的概念 177
8.1.2 常用的正则表达式及举例 181
8.2 模式匹配函数 183
8.2.1 匹配字符串 183
8.2.2 替换字符串 185
8.2.3 用正则表达式分割字符串 186
8.2.4 转义正则表达式字符 187
8.3 案例剖析:新用户注册程序 188
8.3.1 程序功能介绍 188
8.3.2 程序代码分析 188
8.4 本章小结 190
8.5 练习题 190
8.6 上机实战 190
第9章 PHP中的对象 191
9.1 类与对象 191
9.1.1 类的概念 191
9.1.2 对象 192
9.1.3 面向对象编程思想的特点 193
9.1.4 面向对象编程的几条原则 193
9.2 使用类 194
9.2.1 定义类和类的实例化 194
9.2.2 显示对象的信息 195
9.2.3 类成员和作用域 196
9.2.4 构造函数与析构函数 197
9.2.5 继承 198
9.3 PHP的对象特性 199
9.3.1 final类和方法 199
9.3.2 静态成员 200
9.3.3 复制对象 201
9.3.4 接口类和抽象类 201
9.3.5 方法重载 204
9.4 案例剖析:一个课程管理类及其对象的实现 206
9.4.1 程序功能介绍 206
9.4.2 程序代码分析 206
9.5 本章小结 208
9.6 练习题 208
9.7 上机实战 208
第10章 Smarty模板技术 209
10.1 Smarty技术简介 209
10.1.1 MVC软件开发框架 209
10.1.2 Smarty模板 210
10.2 Smarty的安装配置 210
10.2.1 Smarty下载和安装 211
10.2.2 Smarty配置 211
10.2.3 第一个Smarty程序 212
10.3 Smarty模板设计 214
10.3.1 Smarty模板文件 214
10.3.2 Smarty中的注释 214
10.3.3 Smarty中的变量 214
10.3.4 修饰变量 218
10.3.5 流程控制 220
10.3.6 内建函数 224
10.4 Smarty程序设计 225
10.4.1 Smarty中的常用方法 225
10.4.2 Smarty的配置变量 226
10.5 案例剖析:利用Smarty制作登录页面模板 226
10.5.1 程序功能介绍 227
10.5.2 程序代码分析 227
10.6 本章小结 229
10.7 练习题 229
10.8 上机实战 229
第11章 DreamweaverCS6中的PHP程序设计 230
11.1 DreamweaverCS6概述 230
11.2 利用Dreamweaver建立PHP动态网站站点 231
11.2.1 站点的建立 231
11.2.2 在Dreamweaver中创建MySQL连接 234
11.2.3 数据库连接的管理与应用 236
11.3 数据集的创建与应用 237
11.3.1 利用Dreamweaver创建记录集 237
11.3.2 分页显示查询结果 241
11.3.3 搜索/结果页的创建 243
11.3.4 主/详细记录页的创建 245
11.4 记录的添加、删除与更新 247
11.4.1 数据记录的添加 247
11.4.2 删除数据 251
11.4.3 数据记录的更新 252
11.5 案例剖析:网上留言簿的实现 254
11.5.1 程序功能介绍 254
11.5.2 程序代码分析 256
11.6 本章小结 259
11.7 练习题 259
11.8 上机实战 259
第12章 利用PHP技术构建跨平台的移动APP 261
12.1 jQuery与jQuery Mobile简介 261
12.1.1 jQueryWeb开发框架 261
12.1.2 jQueryMobile移动应用开发框架 262
12.2 jQuery Mobile开发环境配置 263
12.2.1 jQuery Mobile下载和安装 263
12.2.2 jQuery Mobile开发环境的配置与测试 264
12.3 jQueryMobile框架的构成 268
12.3.1 页面和对话框 268
12.3.2 链接和按钮的使用 270
12.3.3 工具栏的使用 271
12.3.4 表单元素的使用 273
12.3.5 列表控件 274
12.3.6 jQuery Mobile的布局 276
12.4 案例剖析:手机版袖珍英语词汇速记本APP的设计与开发 277
12.4.1 程序功能介绍 277
12.4.2 程序代码分析 278
12.5 本章小结 281
12.6 练习题 282
12.7 上机实战 282
第13章 PHP程序开发综合实例——网络留言板 283
13.1 系统概述 283
13.1.1 需求分析 283
13.1.2 流程设计 284
13.2 数据库设计 284
13.2.1 需求分析及逻辑结构设计 284
13.2.2 数据库及数据表的建立 285
13.3 系统公用模块设计及代码编写 287
13.3.1 用户类公用模块代码的设计与实现 287
13.3.2 留言内容类(Content)公用模块代码的设计与实现 288
13.3.3 IP地址类公用模块代码的设计与实现 290
13.3.4 用户验证公用模块代码的设计与实现 291
13.3.5 保存用户留言公用模块代码的设计与实现 292
13.3.6 删除用户留言公用模块代码的设计与实现 293
13.4 各功能页面的设计及代码编写 293
13.4.1 网站首页的设计与实现 293
13.4.2 用户注册页面的设计与实现 298
13.4.3 添加新留言页面的设计与实现 300
13.4.4 问卷调查内容设置功能页面的设计与实现 301
13.4.5 网络投票页面的设计与实现 305
13.4.6 网络投票结果查询页面的设计与实现 308
13.5 本章小结 309
13.6 练习题 310
13.7 上机实战 310
第14章 实验指导 311
14.1 实验一:利用Smarty模板技术进行网站建设 311
14.1.1 实验项目设计目的 311
14.1.2 需求分析及功能描述 311
14.1.3 数据库设计 312
14.1.4 代码设计 313
14.2 实验二:成绩管理系统的设计与实现 318
14.2.1 实验项目设计目的 318
14.2.2 需求分析及功能描述 318
14.2.3 数据库设计 319
14.2.4 代码设计 320
14.3 实验三:用户管理系统的设计与实现 331
14.3.1 实验项目设计目的 331
14.3.2 需求分析及功能描述 331
14.3.3 数据库设计 332
14.3.4 代码设计 332
14.4 实验项目设计总结与提高 338
参考文献 339