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
|