当前位置: 首页 > news >正文

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邮箱登录界面做的):

p
在这里插入图片描述

扯了这么多,现在来讲讲二维码的实现
首先在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日,经过一系列的操作,终于把老师布置的大作业写完了,虽然有很多水分,很多东西都是为了应付(特别是最后做的那几个网页),真的是惨不忍睹,不过既然花时间写了&#xf…...

【全开源】沃德会务会议管理系统(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产品“零距离”体验 您是否对金仓数据库充满好奇&#x1f9d0…...

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是基于发布-订…...

Arrow:可视化节点系统如何解决游戏叙事设计中的效率瓶颈

Arrow:可视化节点系统如何解决游戏叙事设计中的效率瓶颈 【免费下载链接】Arrow Game Narrative Design Tool 项目地址: https://gitcode.com/gh_mirrors/arrow/Arrow 在游戏开发的深夜,叙事设计师李明正对着屏幕上密密麻麻的剧情分支图发愁。这个…...

零基础掌握开源工具:3步实现群晖Photos功能强化

零基础掌握开源工具:3步实现群晖Photos功能强化 【免费下载链接】Synology_Photos_Face_Patch Synology Photos Facial Recognition Patch 项目地址: https://gitcode.com/gh_mirrors/sy/Synology_Photos_Face_Patch 当你面对海量照片却无法享受智能分类的便…...

zteOnu:核心功能全解析与实战指南

zteOnu:核心功能全解析与实战指南 【免费下载链接】zteOnu 项目地址: https://gitcode.com/gh_mirrors/zt/zteOnu 解锁高级配置:工厂模式激活指南 场景描述 网络管理员在配置中兴光猫时,发现普通用户权限无法修改关键网络参数&…...

SiameseAOE中文-base惊艳效果:结构化输出JSON兼容下游BI/报表系统直连

SiameseAOE中文-base惊艳效果:结构化输出JSON兼容下游BI/报表系统直连 1. 模型效果惊艳展示 SiameseAOE通用属性观点抽取模型在中文文本处理方面表现出色,能够从非结构化文本中精准提取结构化信息。最令人印象深刻的是,模型输出的JSON格式数…...

bert-base-chinese详细步骤:如何将test.py改造成支持流式文本处理的微服务

bert-base-chinese详细步骤:如何将test.py改造成支持流式文本处理的微服务 1. 项目背景与价值 在实际的工业场景中,我们经常需要处理大量的文本数据流。传统的批处理方式虽然简单,但无法满足实时性要求高的应用场景。比如智能客服系统需要实…...

终极指南:使用Refine和Ant Design快速构建专业列表页面

终极指南:使用Refine和Ant Design快速构建专业列表页面 【免费下载链接】refine 一个用于构建内部工具、管理面板、仪表盘和B2B应用程序的React框架,具有无与伦比的灵活性。 项目地址: https://gitcode.com/GitHub_Trending/re/refine Refine是一…...

Nunchaku-flux-1-dev极限测试:生成超高清与超大宽幅图像的效果边界

Nunchaku-flux-1-dev极限测试:生成超高清与超大宽幅图像的效果边界 最近在尝试一些新的图像生成模型,发现Nunchaku-flux-1-dev这个版本在社区里讨论度挺高,尤其是关于它处理高分辨率图像的能力。很多人都在问,这个模型到底能生成…...

三维向量运算避坑指南:Python中常见的错误与解决方案

三维向量运算避坑指南:Python中常见的错误与解决方案 在计算机图形学、物理模拟和机器学习等领域,三维向量运算是基础中的基础。许多开发者在初次实现三维向量类时,往往会遇到各种看似简单却令人头疼的问题。从运算符重载的陷阱到类型处理的微…...

为什么92%的Polars新手在join时OOM?揭秘2.0新版streaming引擎的5个关键启用条件

第一章:Polars 2.0 大规模数据清洗技巧 面试题汇总Polars 2.0 引入了更严格的惰性执行模型、增强的字符串/时间解析能力,以及对空值传播行为的统一语义,使其在高频面试场景中成为考察候选人工程化数据处理能力的关键工具。以下为高频面试题及…...

避坑指南:思科模拟器做链路聚合时,你可能会遇到的5个报错及解决方法

思科模拟器链路聚合实战:5个典型报错分析与精准排错指南 在Packet Tracer中配置链路聚合时,最令人头疼的往往不是基础配置步骤,而是那些突如其来的报错信息。上周有位学员在CCNA备考群里发了一张截图:%EC-5-CANNOT_BUNDLE2: Fa0/2…...