第 一部分 基础篇
任务1 PHP基础知识简介 2
1.1 静态网页与动态网页的执行过程 2
1.1.1 静态网页与执行过程 2
1.1.2 动态网页与执行过程 3
1.1.3 动态网页与静态网页的区别 4
1.2 初识PHP 4
1.2.1 关于PHP 5
1.2.2 PHP的功能 5
1.3 小结 6
1.4 习题 6
任务2 PHP程序的运行环境搭建 7
2.1 安装与配置PHP 8
2.1.1 安装PHP 8
2.1.2 修改PHP配置文件 9
2.2 配置Apache服务器 9
2.2.1 安装VC14 10
2.2.2 Apache2.4安装和配置 10
2.2.3 安装和启动Apache 13
2.2.4 应用Apache主目录 15
2.3 集成化的开发环境 15
2.3.1 phpStudy的安装 16
2.3.2 phpStudy的主界面 16
2.4 PHP程序的开发工具 20
2.4.1 安装及初始化ZendStudioForEclipse-6_0_0 20
2.4.2 更改Zend Studio编码类型 21
2.4.3 创建并编辑PHP文件 23
2.5 小结 25
2.6 习题 25
任务3 PHP 7的基本语法 27
3.1 PHP语法基础 27
3.1.1 第 一个PHP程序 27
3.1.2 解决PHP程序中汉字的乱码问题 28
3.1.3 PHP标记与注释 29
3.1.4 PHP中常量的定义 30
3.1.5 PHP中的变量 31
3.1.6 PHP中的运算符 32
3.1.7 PHP程序的输出语句echo 33
3.2 PHP中的日期和时间 35
3.2.1 日期时间函数date() 35
3.2.2 获取当前时间戳函数strtotime() 36
3.3 流程控制结构 37
3.3.1 分支结构 38
3.3.2 循环结构 41
3.4 数组 45
3.4.1 PHP数组的基本概念 45
3.4.2 PHP数组的类型 46
3.4.3 遍历数组 48
3.4.4 数组应用案例 49
3.5 小结 50
3.6 习题 50
任务4 表单数据提交 53
4.1 表单界面设计及表单数据验证 53
4.1.1 表单界面设计 53
4.1.2 表单数据验证 57
4.1.3 使用HTML 5新技术完成数据验证 59
4.2 表单数据提交 61
4.2.1 系统内置数组$_POST和$_GET 61
4.2.2 复选框组数据的提交 61
4.2.3 获取并处理表单数据 62
4.2.4 使用isset()函数解决单选按钮和复选框的问题 63
4.3 文件上传功能实现 64
4.3.1 浏览器端的功能设置 64
4.3.2 服务器端的功能设置 64
4.3.3 简单文件上传实例 65
4.3.4 上传并显示头像功能实现 67
4.3.5 多文件上传 68
4.3.6 大文件上传 69
4.4 小结 70
4.5 习题 70
第二部分 核心篇
任务5 163邮箱注册功能实现 74
5.1 简单注册功能实现 74
5.1.1 邮箱注册界面设计 74
5.1.2 使用JavaScript验证注册数据 78
5.1.3 服务器端获取并输出注册数据 78
5.2 使用图片验证码 79
5.2.1 PHP的图像处理函数 79
5.2.2 创建图片验证码 81
5.2.3 图片验证码的插入与刷新 85
5.2.4 Session机制的原理与应用 86
5.2.5 实现图片验证码的验证功能 89
5.2.6 在PHP中引用外部文件 92
5.3 PHP操作MySQL数据库 92
5.3.1 mysqli_connect()及相关函数 92
5.3.2 mysqli_select_db()函数 94
5.3.3 mysqli_query()函数 95
5.3.4 mysqli_num_rows()函数 99
5.3.5 mysqli_real_escape_string()函数 100
5.3.6 mysqli_close()函数 101
5.4 使用数据库保存注册信息 101
5.4.1 使用Ajax检查邮件地址的唯一性 102
5.4.2 保存注册信息 107
5.4.3 md5()函数加密 108
5.5 小结 110
5.6 习题 110
任务6 163邮箱登录功能实现 113
6.1 设计登录界面 113
6.1.1 设计普通的登录界面 113
6.1.2 设计Tab选项卡式登录界面 116
6.2 完成登录功能 121
6.2.1 创建denglu.php文件 121
6.2.2 使用sprintf()函数格式化SQL语句 122
6.3 小结 123
6.4 习题 123
任务7 163邮箱写邮件功能实现 125
7.1 设计邮箱主窗口界面 125
7.1.1 设计顶部区域 126
7.1.2 设计左下部区域 128
7.1.3 设计右下部区域 130
7.1.4 email.php的完整代码 133
7.2 实现写邮件页面功能 134
7.2.1 布局、样式及页面元素插入 135
7.2.2 实现脚本功能 139
7.2.3 完整的writeemail.php代码 144
7.3 添加附件功能的实现 145
7.3.1 界面设计 146
7.3.2 使用脚本实现多附件添加和删除附件的功能 148
7.4 发送邮件 151
7.4.1 创建数据表emailmsg 151
7.4.2 保存邮件信息 153
7.4.3 实现系统退信功能 155
7.4.4 storeemail.php文件的完整代码 159
7.5 小结 160
7.6 习题 160
任务8 接收、阅读、删除邮件功能实现 162
8.1 分页浏览邮件 162
8.1.1 收邮件功能描述 162
8.1.2 用$_GET接收URL附加数据 163
8.1.3 处理查询结果记录集中的记录 166
8.1.4 分页浏览邮件 168
8.1.5 分页浏览中的数据验证 179
8.1.6 receiveemail.css和receiveemail.php的完整代码 180
8.2 打开并阅读邮件 183
8.2.1 打开并阅读邮件页面的布局结构及功能说明 184
8.2.2 字符串替换函数 185
8.2.3 打开并阅读邮件的功能实现 189
8.2.4 openemail.css和openemail.php文件的完整代码 194
8.3 删除邮件 196
8.3.1 将邮件放入已删除文件夹 196
8.3.2 分页浏览已删除文件夹中的邮件 198
8.3.3 彻底删除邮件 198
8.4 小结 200
8.5 习题 200
任务9 在线投票与网站计数功能实现 202
9.1 文件系统函数 202
9.1.1 文件的打开与关闭 202
9.1.2 文件的读取与写入 203
9.2 在线投票功能实现 205
9.2.1 简单在线投票功能实现 205
9.2.2 使用session禁止反复投票 210
9.2.3 使用cookie禁止重复投票 212
9.3 网站计数器功能实现 213
9.4 小结 215
9.5 习题 216
第三部分 提高篇
任务10 注册界面的密码强弱判断 218
10.1 创建新的注册页面 218
10.2 密码强弱的判断 220
10.3 小结 222
任务11 复杂的附件添加与处理方法 223
11.1 设计“添加附件”页面 224
11.1.1 选择附件的界面设计 224
11.1.2 表单界面内容与数据处理功能的合并 225
11.2 添加与删除附件功能的实现 226
11.2.1 界面设计 226
11.2.2 添加段落节点显示附件信息 229
11.2.3 删除附件 230
11.3 修改storeemail.php文件 234
11.4 小结 235
任务12 PHP面向对象 236
12.1 理解面向对象 236
12.1.1 面向对象程序设计概念 236
12.1.2 面向对象的基本特征 237
12.2 类和对象 237
12.2.1 类的创建与实例化 237
12.2.2 类的访问控制 239
12.2.3 静态属性和方法 240
12.2.4 构造函数和析构函数 241
12.2.5 类的继承 242
12.2.6 抽象类和接口 244
12.2.7 类的魔术方法 246
12.2.8 实例——使用类和对象的方式完成邮箱登录功能 250
12.3 小结 252
12.4 习题 252
附录 习题答案 253