新書推薦:
《
高术莫用(十周年纪念版 逝去的武林续篇 薛颠传世之作 武学尊师李仲轩家世 凸显京津地区一支世家的百年沉浮)
》
售價:NT$
250.0
《
英国简史(刘金源教授作品)
》
售價:NT$
449.0
《
便宜货:廉价商品与美国消费社会的形成
》
售價:NT$
352.0
《
读书是一辈子的事(2024年新版)
》
售價:NT$
352.0
《
乐道文库·什么是秦汉史
》
售價:NT$
367.0
《
汉娜·阿伦特与以赛亚·伯林 : 自由、政治与人性
》
售價:NT$
500.0
《
女性与疯狂(女性主义里程碑式著作,全球售出300万册)
》
售價:NT$
500.0
《
药食同源中药鉴别图典
》
售價:NT$
305.0
|
編輯推薦: |
1.不单独讲解理论知识,而是直接以项目入手,带领大家从零开始在真实编程环境中完成项目的编写。在项目制作的过程,“顺带”讲解理论知识。项目完成以后,基本的理论知识也就掌握了。从我们实际教学来看,自从我们采用上述“项目化教学”以来,学生学习的情况明显好转。 2.四川省十四五省级精品在线开放课程配套教材
|
內容簡介: |
本书精选3个项目实例,将PHP和MySQL数据库的相关知识点融入其中,带领读者从零开始编写代码,直到完成整个项目。通过学习本书,读者将学会如何使用PHP配合MySQL数据库实现数据的增、删、改、查,从而能够使用PHP和MySQL数据库完成常用小型Web应用程序的编写。 本书包含3个项目,分别是项目1“会员管理系统”、项目2“在线投票系统”、项目3“使用Laravel框架改写会员管理系统”。前两个项目采用面向过程的程序设计方式完成代码编写,第三个项目采用面向对象的程序设计方式,并使用PHP经典框架Laravel来完成代码编写。3个项目内容由浅入深,层层递进。 本书是四川省精品在线开放课程“动态网站开发”的配套教材,在线上配备完整的教学视频,并支持线上答疑。
|
關於作者: |
牟奇春,成都职业技术学院教授,曾担任世界技能大赛(中国选拔赛)网站设计项目专家组成员和裁判,穗港澳蓉青年技能大赛专家组成员和裁判,从事职业教育20余年,主讲动态网站开发、uniapp混合开发等课程。在教学之余,和企业始终保持密切的合作关系,开发多个商业项目。近年来,发表中文核心期刊论文2篇,申请软件著作权12项,实用新型专利授权10项。主持省厅级重点项目2个,横向课题到帐经费10余万元,指导学生参加技能大赛获国家级奖项3项,省级奖项30余项。主持的课程“动态网站开发”,获批四川省精品在线开放课程,己完整开设8期,选课人数3万余人。
|
目錄:
|
目录 项目1 会员管理系统
任务1 准备开发环境和编程 环境 1 情景导入 1 职业能力目标及素养目标 1 子任务1.1 配置PHP开发环境 2 【任务提出】 2 【知识储备】 2 【任务实施】 2 1.1.1 安装小皮面板 2 1.1.2 配置小皮面板 3 子任务1.2 使用PHP编程环境 5 【任务提出】 5 【知识储备】 5 【任务实施】 6 1.2.1 PhpStorm的安装和启动 6 1.2.2 在小皮面板中配置网站 6 1.2.3 在PhpStorm中编辑文件和配置 服务器环境 6 【素养小贴士】 9 【任务小结】 9 【巩固练习】 9
任务2 项目前端开发 10 情景导入 10 职业能力目标及素养目标 10 子任务2.1 项目开发前的准备工作 10 【任务提出】 10 【任务实施】 10 2.1.1 项目需求设定 10 2.1.2 PHP的发展历史 12 【素养小贴士】 13 子任务2.2 创建首页 13 【任务提出】 13 【任务实施】 13 2.2.1 创建项目 13 2.2.2 部署项目 15 子任务2.3 制作注册页面前端部分 16 【任务提出】 16 【任务实施】 17 2.3.1 创建文件 17 2.3.2 制作注册页面表单 17 2.3.3 设置表单控件name属性 18 【知识储备】 19 【任务小结】 19 【巩固练习】 19
任务3 会员管理系统用户注册 21 情景导入 21 职业能力目标及素养目标 21 子任务3.1 获取表单数据 21 【任务提出】 21 【任务实施】 21 3.1.1 从后端获取前端表单数据 21 3.1.2 书写PHP代码 22 3.1.3 输出数据 22 子任务3.2 创建数据库和数据表 23 【任务提出】 23 【任务实施】 23 3.2.1 开启数据库服务 23 3.2.2 安装可视化数据库管理工具 24 3.2.3 创建数据库和数据表 25 3.2.4 数据表字段类型说明 26 子任务3.3 将注册信息写入数据库 27 【任务提出】 27 【任务实施】 27 3.3.1 连接数据库服务器 27 3.3.2 设置字符集 28 3.3.3 设置SQL查询语句 28 3.3.4 执行SQL查询语句 29 3.3.5 项目阶段性成果 30 子任务3.4 判断用户名是否被占用 31 【任务提出】 31 【任务实施】 31 3.4.1 通过SQL语句判断用户名是否 被占用 31 3.4.2 使用SQL中的SELECT语句 31 3.4.3 在PhpStorm中配置数据源 33 子任务3.5 表单验证 35 【任务提出】 35 【任务实施】 35 3.5.1 重视数据验证 35 3.5.2 在前端验证表单数据 35 3.5.3 在前端验证数据 36 3.5.4 在后端验证表单数据 37 【素养小贴士】 38 【任务小结】 38 【巩固练习】 38
任务4 会员管理系统用户登录、资料 修改及注销 40 情景导入 40 职业能力目标及素养目标 40 子任务4.1 用户登录 40 【任务提出】 40 【任务实施】 40 4.1.1 创建用户登录文件 40 4.1.2 制作用户登录后端文件 41 4.1.3 通过Session变量保存登录 标志 42 子任务4.2 注销登录 44 【任务提出】 44 【任务实施】 44 4.2.1 在导航栏中使用文件包含 44 4.2.2 实现导航栏当前栏目高亮功能 45 子任务4.3 会员资料修改 47 【任务提出】 47 【任务实施】 47 4.3.1 优化登录页面跳转逻辑 47 4.3.2 创建会员资料修改页面 47 4.3.3 制作资料修改后端文件 51 【任务小结】 52 【巩固练习】 52
任务5 会员管理系统管理员功能 54 情景导入 54 职业能力目标及素养目标 54 子任务5.1 管理员登录 54 【任务提出】 54 【任务实施】 55 5.1.1 修改数据表结构以实现管理员 登录 55 5.1.2 管理员登录后查看导航栏的 变化 56 子任务5.2 管理员查看所有会员 57 【任务提出】 57 【任务实施】 57 5.2.1 判断管理员权限 57 5.2.2 循环输出数据表记录 57 5.2.3 了解PHP中的循环语句 59 子任务5.3 数据分页 61 【任务提出】 61 【任务实施】 62 5.3.1 理解分页的基本原理 62 5.3.2 制作分页文件 62 5.3.3 实现分页 64 【知识储备】 66 子任务5.4 设置或取消管理员 67 【任务提出】 67 【任务实施】 68 5.4.1 修改文件静态内容 68 5.4.2 制作setAdmin.php文件 68 5.4.3 避免删除管理员admin 69 子任务5.5 管理员删除用户 70 【任务提出】 70 【任务实施】 70 5.5.1 修改前端页面 70 5.5.2 制作后端页面 71 【素养小贴士】 71 子任务5.6 管理员修改会员资料 72 【任务提出】 72 【任务实施】 72 5.6.1 添加资料修改链接 72 5.6.2 修改modify.php文件 73 【任务小结】 74 【巩固练习】 74
任务6 会员管理系统项目优化 76 情景导入 76 职业能力目标及素养目标 76 子任务6.1 优化跳转目标页面 76 【任务提出】 76 【任务实施】 76 6.1.1 文件跳转时添加来源参数 76 6.1.2 读取来源参数,并跳转至目标 页面 78 子任务6.2 注册时使用AJAX验证用户名 是否有效 79 【任务提出】 79 【任务实施】 79 6.2.1 理解异步 79 6.2.2 初识jQuery 80 6.2.3 引入jQuery库文件 80 6.2.4 在表单中添加事件 80 6.2.5 实现方法checkUsername() 81 6.2.6 使用jQuery中封装的AJAX 81 6.2.7 制作AJAX后端文件 83 6.2.8 在Chrome浏览器中调试网络 通信 84 子任务6.3 beforeSend的使用 85 【任务提出】 85 【任务实施】 85 6.3.1 准备loading图标 85 6.3.2 修改AJAX通信代码 86 子任务6.4 登录时使用AJAX判断用户名 是否有效 87 【任务提出】 87 【任务实施】 87 6.4.1 修改login.php文件 87 6.4.2 显示异步登录的效果 89 子任务6.5 验证码的使用 89 【任务提出】 89 【知识储备】 89 【任务实施】 90 6.5.1 安装GD库 90 6.5.2 在PHP中使用验证码 91 6.5.3 判断验证码是否填写正确 95 【素养小贴士】 96 【任务小结】 96 【巩固练习】 96 项目2 在线投票系统
任务7 项目开发前的准备工作 99 情景导入 99 职业能力目标及素养目标 99 子任务7.1 项目介绍 99 【任务提出】 99 7.1.1 项目基本需求分析 100 7.1.2 项目详细设计 100 7.1.3 项目展示 100 子任务7.2 版本控制与代码托管 102 【任务提出】 102 【知识储备】 102 7.2.1 版本控制 102 7.2.2 Git介绍 103 7.2.3 码云的使用 104 7.2.4 Git的工作流程 104 7.2.5 在PhpStorm中使用Git 105 子任务7.3 数据库设计的方法及原理 110 【任务提出】 110 【知识储备】 110 7.3.1 数据库设计的方法 110 7.3.2 数据库设计的基本步骤 111 7.3.3 概念结构设计 111 7.3.4 实体-联系图(E-R模型) 111 子任务7.4 创建数据库 113 【任务提出】 113 【任务实施】 113 7.4.1 实例详解 113 7.4.2 主键和外键 114 7.4.3 如何创建外键 115 7.4.4 数据库的导入和导出 117 【素养小贴士】 118 【任务小结】 119 【巩固练习】 119
任务8 在线投票系统首页制作及投票 功能实现 123 情景导入 123 职业能力目标及素养目标 123 子任务8.1 首页静态页面制作(Bootstrap 布局) 123 【任务提出】 123 【任务实施】 123 8.1.1 了解Bootstrap 123 8.1.2 认识Bootstrap的栅格系统 124 8.1.3 引入Bootstrap库文件 125 8.1.4 Bootstrap布局测试 125 8.1.5 在项目首页中使用Bootstrap 布局 126 8.1.6 在PhpStorm中下载外部库 文件 129 子任务8.2 首页动态数据读取 130 【任务提出】 130 【任务实施】 130 8.2.1 在数据库中初始化数据表 130 8.2.2 在首页中读取数据表内容并循环 输出已有车辆信息 130 【任务小结】 132 【巩固练习】 132
任务9 在线投票系统投票功能 实现 135 情景导入 135 职业能力目标及素养目标 135 子任务9.1 游客投票功能实现 135 【任务提出】 135 【任务实施】 135 9.1.1 修改前端页面文件 135 9.1.2 制作后端投票文件 136 子任务9.2 整合会员登录系统 136 【任务提出】 136 【任务实施】 136 9.2.1 分析整合文件 136 9.2.2 了解前端UI框架Layui 137 9.2.3 使用Layui显示注册和登录 页面 137 9.2.4 优化弹窗跳转逻辑,匹配新的 数据表 139 【知识储备】 140 子任务9.3 登录用户实现投票 140 【任务提出】 140 【任务实施】 141 9.3.1 了解MySQL的事务机制 141 9.3.2 制作登录权限检查文件 141 9.3.3 实现投票功能 142 【任务小结】 143 【巩固练习】 143
任务10 在线投票系统投票限制 146 情景导入 146 职业能力目标及素养目标 146 子任务10.1 一人一天只能给一辆车 投5票 146 【任务提出】 146 【任务实施】 146 10.1.1 了解投票限制的常见手段 146 10.1.2 设置一人一天只能给一辆车 投5票 147 【知识储备】 147 子任务10.2 一人一天只能给3辆车 投票 149 【任务提出】 149 【任务实施】 149 10.2.1 分析一人一天只能给3辆车投票 的逻辑 149 10.2.2 理解GROUP BY语句 149 10.2.3 实现一人一天只能给3辆车 投票 151 子任务10.3 投票时间间隔 151 【任务提出】 151 【任务实施】 151 10.3.1 修改数据表字段类型 151 10.3.2 判断投票时间间隔 152 10.3.3 转换MySQL中的时间日期 格式 152 子任务10.4 IP地址限制 154 【任务提出】 154 【任务实施】 155 10.4.1 编写IP地址限制代码 155 10.4.2 总结MySQL中的日期和时间 函数 155 子任务10.5 使用Layui显示验证码 156 【任务提出】 156 【任务实施】 156 10.5.1 使用layer.open()方法 156 10.5.2 在弹窗中显示验证码 156 10.5.3 优化弹窗显示 158 子任务10.6 异步投票 161 【任务提出】 161 【任务实施】 161 10.6.1 给“票数”添加ID 161 10.6.2 使用jQuery封装的AJAX实现 异步投票 162 10.6.3 制作异步投票后端文件 163 【任务小结】 164 【巩固练习】 164
任务11 在线投票系统管理员功能 166 情景导入 166 职业能力目标及素养目标 166 子任务11.1 管理员查看车辆列表 166 【任务提出】 166 【任务实施】 166 11.1.1 修改前端展示页面 166 11.1.2 制作管理员后端文件 167 子任务11.2 管理员添加新的车辆(一) 168 【任务提出】 168 【任务实施】 168 11.2.1 了解表单的enctype属性 168 11.2.2 设置PHP中的上传文件参数 168 11.2.3 制作车辆添加前端页面 169 11.2.4 制作车辆添加后端页面 170 子任务11.3 管理员添加新的车辆(二) 171 【任务提出】 171 【任务实施】 171 11.3.1 编写车辆添加后端代码 171 11.3.2 获取数组内元素 173 11.3.3 生成唯一文件名 173 子任务11.4 管理员修改和删除车辆资料 174 【任务提出】 174 【任务实施】 174 11.4.1 修改前端页面 174 11.4.2 制作修改车辆资料后端文件 176 子任务11.5 管理员删除车辆资料 178 【任务提出】 178 【任务实施】 178 11.5.1 修改前端页面 178 11.5.2 制作删除车辆后端文件 179 子任务11.6 ECharts的基本使用 180 【任务提出】 180 【任务实施】 180 11.6.1 了解ECharts 180 11.6.2 快速掌握ECharts应用 181 子任务11.7 ECharts图表数据异步 加载 185 【任务提出】 185 【任务实施】 185 11.7.1 异步加载ECharts数据 185 11.7.2 制作后端接口文件 186 11.7.3 制作车辆得票数显示页面 188 11.7.4 修改ECharts图表格式 190 11.7.5 生成饼图 191 【任务小结】 195 【巩固练习】 195 项目3 使用Laravel 框架改写会员管理系统
任务12 面向对象的程序设计和PDO的使用 198 情景导入 198 职业能力目标及素养目标 198 子任务12.1 面向对象的程序设计简介 198 【任务提出】 198 【知识储备】 199 12.1.1 面向对象和面向过程的区别 199 12.1.2 面向对象编程的三大特性 200 子任务12.2 PDO的使用 205 【任务提出】 205 【任务实施】 205 12.2.1 使用PDO的准备工作 205 12.2.2 使用PDO连接数据库 206 12.2.3 使用PDO查询数据表记录 207 12.2.4 使用PDO实现数据的增、 删、改 208 12.2.5 使用PDOStatement 预处理 209 【任务小结】 210 【巩固练习】 210
任务13 Laravel中的视图、路由、控制器、验证码 214 情景导入 214 职业能力目标及素养目标 214 子任务13.1 Laravel的安装和简单使用 214 【任务提出】 214 【任务实施】 214 13.1.1 安装Laravel 214 13.1.2 了解Laravel的MV 217 13.1.3 了解Laravel的几个主要 目录 218 子任务13.2 Laravel中的视图和路由 219 【任务提出】 219 【任务实施】 219 13.2.1 创建视图 219 13.2.2 创建路由 220 【知识储备】 221 子任务13.3 Laravel中的控制器和 验证码 222 【任务提出】 222 【任务实施】 222 13.3.1 制作前端登录页面 222
13.3.2 制作后端登录页面 223 13.3.3 安装和使用验证码包 225 【任务小结】 227 【巩固练习】 227
任务14 Laravel中的表单验证、数据库操作 230 情景导入 230 职业能力目标及素养目标 230 子任务14.1 Laravel中表单数据的后端验证 方法 230 【任务提出】 230 【任务实施】 230 14.1.1 理解Laravel中的验证类 Validator 230 14.1.2 使用Laravel验证类Validator 完成表单数据验证 231 14.1.3 在前端页面中显示验证错误提示 信息 232 子任务14.2 Laravel中数据库的使用(用户 登录) 235 【任务提出】 235 【任务实施】 235 14.2.1 使用Laravel中的模型 235 14.2.2 在Laravel中完成用户登录 236 子任务14.3 后台管理页面的制作 239 【任务提出】 239 【任务实施】 239 14.3.1 使用Laravel的中间件 239 14.3.2 输出后台管理页面数据 240 子任务14.4 使用Laravel实现用户注册 242 【任务提出】 242 【任务实施】 242 【任务小结】 245 【巩固练习】 245
|
|