Web开发技术大作业(HTML\CSS\PHP\MYSQL\JS)
从6月13日到6月15日,经过一系列的操作,终于把老师布置的大作业写完了,虽然有很多水分,很多东西都是为了应付(特别是最后做的那几个网页),真的是惨不忍睹,不过既然花时间写了,那还是记录一下吧
6月13日 晚上 21:00 ~ 24:30,我“成功地”实现了顶部图片和导航栏,三个半小时,你敢信!!!
6月14日 中午 12:30 ~ 下午 18:00、晚上 19:20 ~ 21:50,我“成功地”把旅游景点、特色美食的简单介绍和联系我们的数据库交互写完,同时引入了 Geolocation API 展现出了定位地图
6月15日 也是写了很久,实现了手机扫码查看网页内容、一个简易的购物车功能、导航栏跳转页面的操作
6月16日 下午写实验报告,晚上就来写博客了, 估计晚上还写不完
这里先来上几张效果图吧(写的比较水,勿喷一)
这里是 index.htm 的内容(index.htm不是响应式的),还有 dishes.htm、school.htm、travel.htm 等,这些就纯纯应付老师,这里只上一张效果图(写的太菜,勿喷二)
以上就是大作业的所有内容,二维码那部分,是可以通过手机扫码查看内容的,但是由于我用的是 Cpolar 上的免费套餐,通道域名每过一段时间都会变,所以图上的二维码应该失效了,扫不了,具体配置的话可以看看博客 实现 cpolar 内网穿透
文章目录
- 一、环境
- 1. 开发环境用的 VS Code
- 2. 编程技术 HTML、CSS、JavaScript、PHP 、MySql
- 3. 第三方库 qrcode
- 4. 这是我参考过配置环境的博客
- 二、各种功能的实现(描述,代码在文章末尾Gitee)
- 1. 简易购物车的实现
- 2. 手机扫码的实现
- 这里补充一点:内网穿透简述
一、环境
1. 开发环境用的 VS Code
2. 编程技术 HTML、CSS、JavaScript、PHP 、MySql
3. 第三方库 qrcode
4. 这是我参考过配置环境的博客
- 在 VSCode 中配置 PHP 开发环境
- 使用 VS Code 连接 MySQL 数据库
- 实现 cpolar 内网穿透
- …
二、各种功能的实现(描述,代码在文章末尾Gitee)
1. 简易购物车的实现
这里先给出 index.htm 的部分内容,主要就是先简单的了解每个 DIV 的作用。而对于按钮(这个按钮是在图中 class = “dishes” 里面,没展示出来)点击,实现对应元素的添加操作,我们通过JS实现,这里为了服务后面的菜品删除操作,添加元素时需要将该元素绑定一个唯一的 ID 来标识各个元素,在删除操作时找到对应的元素 ID 进行删除,这个唯一 ID 是我们自己指定的
下面我们看看 Refresh(x),比较长,分为两部分,主要就是通过调用 creatElement(‘div’)、 creatElement(‘img’)、 creatElement(‘button’) 函数来创建对应元素,设置相应元素属性,最后把它们追加到父元素里面,但这里需要注意的是 每个uniqueId,图中的 119行、130行、141行、154行
总钱数 sum 的计算就是根据 uniqueId 来标识的,上面在我们创建的元素中,price 元素里存的就是菜品对应的价格信息,而我们需要的是计算用户预定的所有菜品的总钱数:
不妨可以想想🤔🤔🤔🤔🤔,我们能够用 uniqueId 做什么 ?(注意!!! 我们不仅要计算 sum ,同时还需要顾及后面用户的删除菜品操作:即,删除某一个菜品后,维护其他菜品的钱数总和)
这里就不解释为什么了,可以自己尝试着画个图理解理解,我也给了一个图例
2. 手机扫码的实现
对于手机扫码的实现也没什么可说的,这部分我是通过问 chat 拿到了一个非常古老的库 qrcode,刚开始跟着它给的思路一步步走,后来因为 php 和 qrcode 库的版本不兼容问题给难住了,拿到的 qrcode 库最新版是 2010 年的,里边很多的函数接口都被弃用了,一时不知所措。好在后面想到了一个办法,把 qrcdoe 库里一部分文件的源代码改了(即把弃用的函数替换成现在能用的新函数),最后也算是成了。这里的扫码功能是拿我在清明时写过的登录界面进行修改而来的,类似于(下面是之前仿照QQ邮箱登录界面做的):
扯了这么多,现在来讲讲二维码的实现
首先在html里给出一个空的 div,因为这里我是以对话框的形式来呈现二维码的所以里面包含了其他的 button 等内容,触发事件函数后,在 JS里边通过使用 Fetch API 实现异步请求 “…/xxx/qrcode.php”资源,PHP服务器端收到消息会立即指定一些参数进行二维码图片的生成,比如生成二维码的文件类型、文件名、生成的文件路径以及定义内容的 URL 等等,然后PHP服务端将文件名返回给 JS,在JS中找到对于生成二维码的路径后,修改 Img 标签的 src 属性就呈现出了以上的内容
这里补充一点:内网穿透简述
“内网穿透”这一词听起来可能比较的抽象,其实本质上就是两个字 “映射” 和 “转发” ,即把内网设备(比如个人电脑)的端口映射到公网设备的端口上进行转发。
简单来说就是我们能将本地的一些资源通过公网服务器暴露给连接上外网的其他主机,供其访问
以上就是所有内容,实现源码的话可以在 我的Gitee 上拿到 (写的菜,勿喷三)
相关文章:

Web开发技术大作业(HTML\CSS\PHP\MYSQL\JS)
从6月13日到6月15日,经过一系列的操作,终于把老师布置的大作业写完了,虽然有很多水分,很多东西都是为了应付(特别是最后做的那几个网页),真的是惨不忍睹,不过既然花时间写了…...

【全开源】沃德会务会议管理系统(FastAdmin+ThinkPHP+Uniapp)
沃德会务会议管理系统一款基于FastAdminThinkPHPUniapp开发的会议管理系统,对会议流程、开支、数量、标准、供应商提供一种标准化的管理方法。以达到量化成本节约,风险缓解和服务质量提升的目的。适用于大型论坛、峰会、学术会议、政府大会、合作伙伴大会…...

尚硅谷大数据技术ClickHouse教程-笔记01【ClickHouse单机安装、数据类型】
视频地址:一套上手ClickHouse-OLAP分析引擎,囊括Prometheus与Grafana_哔哩哔哩_bilibili 01_尚硅谷大数据技术之ClickHouse入门V1.0 尚硅谷大数据技术ClickHouse教程-笔记01【ClickHouse单机安装、数据类型】尚硅谷大数据技术ClickHouse教程-笔记02【表引…...

生产管理系统看板,在自动化设备领域的创新应用
在自动化设备领域,生产管理系统看板的创新应用是一项引人注目的技术进步。以广州某自动化设备有限公司为例,他们是一家涂装工程设备制造企业,将讯鹏生产管理系统电子看板成功应用于全自动立式静电喷粉线、卧式静电喷粉线、氟碳喷涂生产线等领…...

分享一个图片转换工具XnConvert
目录 stablediffusion3 生成图片效果图图片转换工具XnConvertpixzip stablediffusion3 生成图片效果图 今天在使用stablediffusion3时,尝试生成了几张Java的图片,发现确实很好看,文生图的效果超出我的预期,忍不住想要给自己的csd…...
Nginx后端超时504重复请求
在一次业务中客户端请求osb平台再经过nginx转发后端,开发反馈请求次数大于1导致问题,经排查客户端请求一次,osb平台设置超时为30s,nginx配置等待上游服务器响应时最多等待30秒 部分配置文件 upstream xx {server 10.6.6.1:8080 w…...

环境配置04:Pytorch下载安装
说明: 显存大于4G的建议使用GPU版本的pytorch,低于4G建议使用CPU版本pytorch,直接使用命令安装对应版本即可 GPU版本的pytorch的使用需要显卡支持,需要先安装CUDA,即需要完成以下安装 1.查看已安装CUDA版本 GPU对应…...
【杂记-浅谈私有地址】
私有地址 一、私有IP地址概述1、私有IP地址的实用性2、私有IP地址的局限性 二、私有IP地址范围1、A类私有地址2、B类私有地址3、C类私有地址 三、私有IP地址与公网IP地址的区别 一、私有IP地址概述 私有IP地址是互联网工程任务组(IETF)为组织机构内部使…...

Java基础学习-数组
目录 数组定义 注意点: 地址值是数组在内存中实际存储的地址。 案例遍历:遍历数组得到每一个元素,求数组里面所有数据和 案例:定义数组,遍历能被3整除的数字 案例:遍历一个数组,奇数将当前…...
爬虫 pandas Linux Flume Pig填空题
目录 试卷:Python网络数据处理 答案 试卷:Pandas基础操作 答案 试卷:Linux基础指令 答案 试卷:Apache Flume基础指令 答案 试卷:Apache Pig基础指令 答案: Hadoop题 答案 试卷:Pyth…...
Spring框架中哪些地方使用了反射
Spring框架中哪些地方使用了反射? 1. 依赖注入:Spring 使用反射机制获取对象并进行属性注入,从而实现依赖注入。 2. AOP:Spring AOP 使用 JDK 动态代理或者 CGLIB 字节码增强技术来实现 AOP 的切面逻辑,这其中就包含…...

难辨真假的Midjourney案例(附提示词):适合练手
人物 时尚女孩 Street style fashion photo, full-body shot of a young Chinese woman with long curly black hair, walking confidently with a crowd of people down a sidewalk in Hong Kong, wearing a emerald green Gucci maxi dress & gold jewelry, sunset lig…...

数据库讲解---(数据库保护)【上】
一.事务 1.1事务的概念【重要】 事务:“将一组数据库操作打包起来形成一个逻辑独立的单元,这个工作单元不可分割,其中包含的数据要么全部都发生,要么全部都不发生”。 在SQL中,界定事务的语句有三条: B…...
【Android】【Compose】Compose的简单介绍
前言 Jetpack Compose 是谷歌推出的用于构建现代化 Android 应用界面的工具包。它采用了声明式的方式来定义用户界面,与传统的 XML 布局和视图层次结构相比,Compose 提供了更直观、更简洁的方式来创建和管理界面组件。 需求配置 Android 版本要求 An…...

对接钉钉Stream模式考勤打卡相关事件的指南
钉钉之前的accessToken是公司级别的,现在的accessToken是基于应用的,接口的权限也是基于应用的。所以第一步是在钉钉开放平台(https://open-dev.dingtalk.com/)创建一个应用。 创建好应用之后,因为我们后续还需要调用钉…...

CRMEB PRO企业微信通讯录配置
企业微信通讯录配置 登录企业微信管理后台 企业微信 1、点击【管理工具】找到【通讯录同步】点击进入 2、点击【开启API接口同步】 进入设置【通讯录同步】页面后,权限一栏,勾选【API编辑通讯录】勾选【开启手动编辑】; 3、点击下图箭头所…...

直播新篇章 | 金仓数据库“零距离”探索与知识挑战双重奏
KING大咖成就计划 全新进阶!!!携手知识竞答挑战赛震撼来袭~为您带来一场别开生面的金仓数据库探索之旅与知识竞答盛宴! 直 播 活 动 01 大咖引领,KING BASE产品“零距离”体验 您是否对金仓数据库充满好奇🧐…...

List的介绍
1. 什么是List List是一个接口,继承自Collection。 Collection也是一个接口,该接口中规范了后序容器中常用的一些方法。 Iterable也是一个接口,表示实现该接口的类是可以逐个元素进行遍历。 2. 常见接口介绍 List中提供了好的方法&#x…...

Uniapp获取具体地理位置
使用uniapp自带uni.getLocation获取当前定位经纬度 再调用高德逆地理编码API,查到具体位置信息 https://restapi.amap.com/v3/geocode/regeo?location${longitude},${latitude}&key${key}&extensionsall 但是个人申请的key,有配额限制 最多每…...

Kafka基础教程
Kafka基础教程 资料来源:Apache Kafka - Introduction (tutorialspoint.com) Apache Kafka起源于LinkedIn,后来在2011年成为一个开源Apache项目,然后在2012年成为一流的Apache项目。Kafka是用Scala和Java编写的。Apache Kafka是基于发布-订…...

华为云AI开发平台ModelArts
华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...

HTML 列表、表格、表单
1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...

中医有效性探讨
文章目录 西医是如何发展到以生物化学为药理基础的现代医学?传统医学奠基期(远古 - 17 世纪)近代医学转型期(17 世纪 - 19 世纪末)现代医学成熟期(20世纪至今) 中医的源远流长和一脉相承远古至…...
现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?
现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)ÿ…...

云原生安全实战:API网关Kong的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关(API Gateway) API网关是微服务架构中的核心组件,负责统一管理所有API的流量入口。它像一座…...

C++ 设计模式 《小明的奶茶加料风波》
👨🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...
华为OD最新机试真题-数组组成的最小数字-OD统一考试(B卷)
题目描述 给定一个整型数组,请从该数组中选择3个元素 组成最小数字并输出 (如果数组长度小于3,则选择数组中所有元素来组成最小数字)。 输入描述 行用半角逗号分割的字符串记录的整型数组,0<数组长度<= 100,0<整数的取值范围<= 10000。 输出描述 由3个元素组成…...

使用SSE解决获取状态不一致问题
使用SSE解决获取状态不一致问题 1. 问题描述2. SSE介绍2.1 SSE 的工作原理2.2 SSE 的事件格式规范2.3 SSE与其他技术对比2.4 SSE 的优缺点 3. 实战代码 1. 问题描述 目前做的一个功能是上传多个文件,这个上传文件是整体功能的一部分,文件在上传的过程中…...

基于单片机的宠物屋智能系统设计与实现(论文+源码)
本设计基于单片机的宠物屋智能系统核心是实现对宠物生活环境及状态的智能管理。系统以单片机为中枢,连接红外测温传感器,可实时精准捕捉宠物体温变化,以便及时发现健康异常;水位检测传感器时刻监测饮用水余量,防止宠物…...

动态规划-1035.不相交的线-力扣(LeetCode)
一、题目解析 光看题目要求和例图,感觉这题好麻烦,直线不能相交啊,每个数字只属于一条连线啊等等,但我们结合题目所给的信息和例图的内容,这不就是最长公共子序列吗?,我们把最长公共子序列连线起…...