PHP网站开发项目式教程:微课版 第2版
作者: 王爱华
出版时间: 2022年版
内容简介
本书分为基础篇、核心篇与提高篇三大部分,共12个任务。基础篇包含4个教学任务,分别是初识PHP、搭建PHP程序的运行环境、掌握PHP 7的基本语法和提交表单数据;核心篇包含5个教学任务,分别是实现163邮箱注册功能,实现163邮箱登录功能,实现163邮箱写邮件功能,实现接收、阅读、删除邮件功能,以及实现在线投票与网站计数功能;提高篇包含3个教学任务,分别是判断注册界面的密码强弱、添加附件的复杂方法设计和使用PHP面向对象程序设计方法。全书内容的讲解由浅入深,循序渐进,旨在培养学生实际开发网站的能力。本书可作为高等职业院校计算机相关专业的专业课教材,也适合应用PHP开发动态网站的人员学习使用。
目录
目录
第 1篇 基础篇
任务1 初识PHP 1
任务1-1 理解静态网页与动态网页及其执行过程 1
1.1.1 静态网页及其执行过程 1
1.1.2 动态网页及其执行过程 2
1.1.3 动态网页与静态网页的区别 3
任务1-2 初识PHP 4
1.2.1 关于PHP 4
1.2.2 PHP能够实现的功能 5
小结 5
习题 6
任务2 搭建PHP程序的运行环境 7
任务2-1 搭建与配置集成化的开发环境phpStudy 7
2.1.1 phpStudy的安装 8
2.1.2 phpStudy的主界面 9
2.1.3 安装VC14 12
2.1.4 phpStudy下的服务器主目录 12
2.1.5 phpStudy下的配置文件 12
任务2-2 搭建集成开发环境——XAMPP 15
2.2.1 XAMPP的主界面 15
2.2.2 XAMPP下的服务器主目录 18
2.2.3 XAMPP下的配置文件 18
任务2-3 使用PHP程序的开发工具 19
2.3.1 安装及使用HBuilder 19
2.3.2 在HBuilder中配置PHP的编辑和运行环境 20
2.3.3 创建并编辑PHP文件 24
小结 25
习题 25
任务3 掌握PHP 7的基本语法 26
任务3-1 掌握PHP语法基础 26
3.1.1 第 一个PHP程序 26
3.1.2 PHP标签与注释 28
3.1.3 PHP中常量的定义 29
3.1.4 PHP中的变量 30
3.1.5 PHP中的运算符 31
3.1.6 PHP程序的输出语句echo 33
任务3-2 认识PHP中的日期和时间 34
3.2.1 日期时间函数date() 35
3.2.2 获取当前时间戳函数strtotime() 36
任务3-3 了解流程控制结构 37
3.3.1 分支结构 38
3.3.2 循环结构 42
任务3-4 理解数组 45
3.4.1 PHP数组的基本概念 46
3.4.2 PHP数组的类型 46
3.4.3 遍历数组 48
3.4.4 数组应用案例 50
小结 51
习题 51
任务4 提交表单数据 54
任务4-1 设计表单界面及验证表单数据 54
4.1.1 表单界面设计 54
4.1.2 表单数据验证 58
4.1.3 使用HTML5新属性完成数据验证 60
任务4-2 提交表单数据 62
4.2.1 系统数组$_POST和$_GET 63
4.2.2 复选框组数据的提交 63
4.2.3 获取并处理表单数据 64
4.2.4 使用isset()函数解决单选按钮和复选框的问题 65
4.2.5 使用表单数据验证解决单选按钮和复选框的问题 66
任务4-3 实现文件上传功能 67
4.3.1 浏览器端的功能设置 67
4.3.2 服务器端的功能设置 68
4.3.3 简单文件上传实例 69
4.3.4 实现上传并显示头像功能 70
4.3.5 多文件上传 72
4.3.6 大文件上传 73
小结 74
习题 74
第 2篇 核心篇
任务5 实现163邮箱注册功能 77
任务5-1 实现简单注册功能 77
5.1.1 邮箱注册界面设计 77
5.1.2 使用JavaScript验证注册数据 81
5.1.3 服务器端获取并输出注册数据 82
任务5-2 使用图片验证码 82
5.2.1 PHP的图像处理函数 83
5.2.2 创建图片验证码 85
5.2.3 图片验证码的插入与刷新 89
5.2.4 Session机制的原理与应用 90
5.2.5 实现图片验证码的验证功能 93
5.2.6 在PHP中引用外部文件 96
任务5-3 PHP操作MySQL数据库 96
5.3.1 mysqli_connect()及相关函数 97
5.3.2 mysqli_select_db()函数 99
5.3.3 mysqli_query()函数 100
5.3.4 mysqli_num_rows()函数 104
5.3.5 mysqli_real_escape_string()函数 106
5.3.6 mysqli_close()函数 107
任务5-4 使用数据库保存注册信息 107
5.4.1 使用AJAX检查邮箱地址的唯一性 107
5.4.2 保存注册信息 113
5.4.3 md5()函数——加密 115
小结 116
习题 117
任务6 实现163邮箱登录功能 119
任务6-1 设计登录界面 119
6.1.1 设计普通登录界面 119
6.1.2 设计Tab选项卡式登录界面 122
任务6-2 实现登录功能 127
6.2.1 创建denglu.php文件 127
6.2.2 解决SQL注入的问题 129
6.2.3 使用sprintf()函数格式化SQL语句 130
小结 130
习题 130
任务7 实现163邮箱写邮件功能 132
任务7-1 设计邮箱主窗口界面 132
7.1.1 设计顶部区域 133
7.1.2 设计左下部区域 135
7.1.3 设计右下部区域 137
7.1.4 email.php的完整代码 141
任务7-2 实现写邮件页面功能 142
7.2.1 布局、样式及页面元素插入 142
7.2.2 实现脚本功能 147
7.2.3 完整的writeemail.php代码 153
任务7-3 添加附件 154
7.3.1 界面设计 154
7.3.2 使用脚本实现多附件添加和删除附件功能 157
任务7-4 发送邮件 160
7.4.1 创建数据表emailmsg 160
7.4.2 保存邮件信息 162
7.4.3 实现系统退信功能 165
7.4.4 storeemail.php文件的完整代码 168
小结 170
习题 170
任务8 实现接收、阅读、删除邮件功能 172
任务8-1 分页浏览邮件 172
8.1.1 收邮件功能描述 173
8.1.2 用$_GET接收URL附加数据 173
8.1.3 处理查询结果记录集中的记录 176
8.1.4 分页浏览邮件 179
8.1.5 分页浏览中的数据验证 193
8.1.6 receiveemail.css和receiveemail.php的完整代码 194
任务8-2 打开并阅读邮件 198
8.2.1 打开并阅读邮件页面的布局结构及功能说明 199
8.2.2 字符串替换函数 200
8.2.3 打开并阅读邮件功能的实现 204
8.2.4 openemail.css和openemail.php文件的完整代码 211
任务8-3 删除邮件 214
8.3.1 将邮件放入已删除文件夹 214
8.3.2 分页浏览已删除文件夹中的邮件 215
8.3.3 彻底删除邮件 216
小结 218
习题 218
任务9 实现在线投票与网站计数功能 220
任务9-1 运用文件系统函数 220
9.1.1 文件的打开与关闭 220
9.1.2 文件的读取与写入 221
任务9-2 实现在线投票功能 223
9.2.1 简单在线投票功能的实现 223
9.2.2 使用Session禁止重复投票 228
9.2.3 使用Cookie禁止重复投票 229
任务9-3 网站计数功能的实现 231
小结 233
习题 233
第3篇 提高篇
任务10 判断注册界面的密码强弱 235
任务10-1 创建新的注册页面 235
任务10-2 判断密码强弱 237
小结 240
任务11 添加附件的复杂方法设计 241
任务11-1 设计“添加附件”页面 242
11.1.1 选择附件界面的设计 242
11.1.2 表单界面内容与数据处理功能的合并 243
任务11-2 添加与删除附件功能的实现 244
11.2.1 界面设计 245
11.2.2 添加段落节点显示附件信息 247
11.2.3 删除附件 249
任务11-3 修改storeemail.php文件 253
小结 254
任务12 使用PHP面向对象程序设计方法 255
任务12-1 理解面向对象 255
12.1.1 面向对象程序设计概念 255
12.1.2 面向对象的基本特征 256
任务12-2 使用类和对象 256
12.2.1 类的创建与实例化 257
12.2.2 类的访问控制 258
12.2.3 静态的属性和方法 260
12.2.4 构造函数和析构函数 260
12.2.5 类的继承 262
12.2.6 抽象类和接口 264
12.2.7 类的魔术方法 266
12.2.8 实例——使用类和对象的方式实现邮箱登录功能 270
小结 272
习题 272