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是基于发布-订…...
可靠性+灵活性:电力载波技术在楼宇自控中的核心价值
可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...

Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...

宇树科技,改名了!
提到国内具身智能和机器人领域的代表企业,那宇树科技(Unitree)必须名列其榜。 最近,宇树科技的一项新变动消息在业界引发了不少关注和讨论,即: 宇树向其合作伙伴发布了一封公司名称变更函称,因…...
微服务通信安全:深入解析mTLS的原理与实践
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、引言:微服务时代的通信安全挑战 随着云原生和微服务架构的普及,服务间的通信安全成为系统设计的核心议题。传统的单体架构中&…...
Easy Excel
Easy Excel 一、依赖引入二、基本使用1. 定义实体类(导入/导出共用)2. 写 Excel3. 读 Excel 三、常用注解说明(完整列表)四、进阶:自定义转换器(Converter) 其它自定义转换器没生效 Easy Excel在…...

实现p2p的webrtc-srs版本
1. 基本知识 1.1 webrtc 一、WebRTC的本质:实时通信的“网络协议栈”类比 将WebRTC类比为Linux网络协议栈极具洞察力,二者在架构设计和功能定位上高度相似: 分层协议栈架构 Linux网络协议栈:从底层物理层到应用层(如…...

python学习day39
图像数据与显存 知识点回顾 1.图像数据的格式:灰度和彩色数据 2.模型的定义 3.显存占用的4种地方 a.模型参数梯度参数 b.优化器参数 c.数据批量所占显存 d.神经元输出中间状态 4.batchisize和训练的关系 import torch import torchvision import torch.nn as nn imp…...

【RabbitMQ】- Channel和Delivery Tag机制
在 RabbitMQ 的消费者代码中,Channel 和 tag 参数的存在是为了实现消息确认机制(Acknowledgment)和精细化的消息控制。 Channel 参数 作用 Channel 是 AMQP 协议的核心操作接口,通过它可以直接与 RabbitMQ 交互: 手…...