基于php的校园垃圾分类网站的设计与实现

Design and Implementation of Campus Garbage Classification Website Based on PHP

系:
专业:
班级:
学生姓名:
指导教师:

2021年5月

目 录

内容摘要........................................................... I
Abstract............................................................ II
1 导言............................................................ 1
1.1 研究背景及意义................................................. 1
1.2 国内外研究现状................................................. 2
1.3 论文的主要工作................................................. 2
2 相关理论与技术分析............................................ 3
2.1 B/S模式....................................................... 3
2.2 PHP语言..................................................... 4
2.3 SQL数据库..................................................... 4
2.4 WEB前端技术.................................................. 4
3 系统需求分析.................................................... 5
3.1 系统功能性需求分析分析........................................ 5
3.2系统非功能性需求分析分析....................................... 5
4 系统的详细设计.................................................. 7
4.1 数据库设计..................................................... 7
4.2 系统的模块功能设计............................................. 8
4.3 系统界面设计................................................... 9
5 系统的详细实现.................................................. 14
5.1 登陆模块的设计与实现........................................... 14
5.2 新闻资讯模块的设计与实现....................................... 16
5.3 知识资源模块的设计与实现....................................... 18
5.4 留言模块的设计与实现................................... 19
6 系统测试........................................................ 22
6.1 系统的测试目的和方法........................................... 22
6.2 测试用例及测试结果............................................. 22
7 总结与展望...................................................... 23
参考文献........................................................... 24
致谢............................................................... 25

摘要
近年来,随着民众环保意识的增强和资源有效利用问题的重视,全国各地市不断推进垃圾分类工作。教育部,也已于去年发布通知在全国各学校推进垃圾分类工作,以鼓励垃圾分类的有效实施。但现阶段我国校园的垃圾分类践行情况依旧问题重重。其中学校方面对学生垃圾分类行为缺少良好的引导和管理的手段,出现分类信息传达不明确、管理手段欠缺、互动性不强等是现阶段的亟待解决的主要问题。
随着信息技术的进步和不断普及,越来越多的工作管理和信息交互采用了网络化、在线化和数据化的形式。其中WEB网站能够集合图像、文本、动画、声音等多种媒体信息于一体,不仅能够实现更加生动的展示信息,更加可以实现信息互动。基于这一现状,本文结合校园垃圾分类的实际需求,通过设计和实现一个校园垃圾分类管理系统网站,对基于PHP语言的WEB网站开发技术进行研究和探讨。网站使用PHP+MySQL技术框架实现,可以明晰的展示垃圾分类信息,发布实时通知和消息,校园的学生和教师也可以通过留言反馈问题和想法,实现各方的有效互动。

关键字:PHP ,MySQL , 垃圾分类, 后台管理

Abstract
In recent years, with the enhancement of people’s awareness of environmental protection and the importance of effective utilization of resources, cities all over the country continue to promote the work of waste classification. The Ministry of education also issued a notice last year to promote waste classification in schools across the country to encourage the effective implementation of waste classification. However, at this stage, there are still many problems in the practice of garbage classification on campus. Among them, the lack of good guidance and management means for students’ garbage classification behavior in schools, unclear classification information transmission, lack of management means and weak interaction are the main problems to be solved at this stage.
With the progress and popularization of information technology, more and more work management and information interaction adopt the form of network, online and data. Among them, the web site can collect images, text, animation, sound and other media information in one, which can not only achieve more vivid display of information, but also realize information interaction. Based on this situation, this paper combined with the actual needs of campus garbage classification, through the design and implementation of a campus garbage classification management system website, research and discuss the development technology of web website based on PHP language. The website uses php + MySQL technology framework to realize, which can clearly display the garbage classification information, release real-time notices and messages. Students and teachers on campus can also feedback questions and ideas through messages, so as to realize effective interaction among all parties.

Keywords: PHP ,MySQL,Garbage classification, background management

1 导言
1.1 研究背景及意义
自从人类进入工业文明以来,机械化、规模化生产大大提高了产品的制造效率,也缩短了产品的生命周期。日常消费之后,在日常生活中留下了大量的产品。为了应对垃圾围城的危害,促进资源的循环利用,垃圾分类在世界范围内得到了不同程度的响应。我国是全面实施垃圾分类的发展中国家之一,但垃圾分类总体水平仍落后于发达国家,在立法、监管和实施方面存在诸多问题。
尽管中国废物分类效率低的原因受到中国废物分类起步晚,发展历史短的客观原因的影响,但在中国废物分类管理和实施中存在的主观问题不容忽视。主要反映在废物分类的配套设施不完善的同时,公众也对废物分类和交付的认识不足,缺乏自我意识,无视垃圾桶上的分类标志,随意丢弃。
近年来,垃圾分类越发受到我国政府部门的重视,国务院已于前年发布《生活垃圾分类制度实施方案》(国办厅〔2017〕26 号),教育部也相应地在 2018 年初针对垃圾分类工作在学校的开展发布了《关于在学校推进生活垃圾分类管理工作的通知》(教办厅〔2018〕2 号),在促进校园垃圾分类监管机制成熟的同时鼓励学生将正确践行垃圾分类作为己任,以学校的垃圾分类工作带动整个社区、家庭乃至整个社会的垃圾分类水平。
信息时代的最重要标志是网络已成为人们获取信息的重要渠道。人们通过互联网了解国内外的热点问题和最新发展,各种组织,企业和机构也通过互联网发布信息。网络的便捷性不仅方便人们获取信息,而且大大节省了企事业单位的运营成本,提高了工作效率。
针对现阶段我国校园的垃圾分类践行情况存在的分类信息传达不明确、管理手段欠缺、互动性不强等是亟待解决的各项问题问题。考虑垃圾分类工作的推广、展示、互动等多方面交互特性与互联网属性高度吻合,因此应当建立校园垃圾分类网站平台,通过信息化促进这一工作的管理和推进。
1.2 国内外研究现状
由于城市化的发展和国家发展的需要,许多发达国家从1960年代开始就十分重视指导居民实施垃圾分类的工作,并在1970年代初逐步实施了垃圾分类收集制度。本文对西方国家的垃圾分类方法进行了总结,根据垃圾分类标准的情况,可以将其分为两种模型:美国模型的简单分类模型和欧洲模型的有限分类模型。
美国模型是一种简单的分类模型,可以将生活垃圾简单地分为2-3个类别。在美国整个回收系统中,专业团队在废物回收的收集,运输,检测,处理和其他方面起着至关重要的作用。美国的垃圾分类公司利用网络信息平台的建设与相关生产企业合作,以收费的形式收集居民分类的垃圾。同时,企业还对脱敏用户信息进行数据分析,为相关企业提供广告策略支持。瑞典在废物分类和管理方面处于世界领先地位,尤其是在德国。
与国外相比,中国的废物分类起步较晚,总体实施效果不如发达国家。在“十三五”规划纲要中,国家明确提出实施生活垃圾分类制度。2017年,国务院办公厅发布了《生活垃圾分类系统实施方案》,鼓励利用物联网,人工智能等技术促进垃圾分类回收产业的形成,鼓励政府和企业进行体制机制创新管理。 目前,中国大多数废物分类和回收公司都更加重视科技手段的使用。当前的回收方式主要包括智能垃圾箱的设计,积分奖励和预约门到门回收。

1.2 论文的主要工作
本文研究的是如何根据垃圾分类工作的实际需求,建立一个在校师生以及校方管理人员均能查看的信息发布、知识讲解、分类测试、行业新闻、留言互动等多项功能的平台,并可以让管理人员在后台对数据库进行管理。
第一章引言。
简述了本平台的选题背景,介绍了对垃圾分类工作和WEB网站建设的现状,选题的意义和本该文的研究内容及主要的工作
第二章相关理论与技术的分析
本章介绍了垃圾分类平台所需的技术,主要分析了B/S开发模式、PHP语言简介、SQL语言简介、Web前端相关技术的介绍。
第三章需求分析和开发环境
本章对垃圾分类平台进行了详细的需求分析并建立了系统用例图,便于进行有针对性的设计开发,如何配置系统进行了简述,并对开发环境进行了要求。
第四章网站设计与实现
这是全文的重点所在,按照软件工程的理论,在对系统的需求进行了详细的分析后,给出了系统所要完成的功能,对师生互选系统的前台、后台功能实现进行了详细的研究并设计。
第五章网站实现
本章通过对垃圾分类系统的主要模块的实现方法核心程序代码进行了分析,并对网站的实际模型实现效果进行了展示。
第六章系统测试
本章通过对垃圾分类系统的显示测试和功能测试,将系统在运行过程中出现的各种问题逐一进行了解决,确保本平台的稳步运行。
第七章总结与展望。
本章是对全文工作的总结,指出了本平台的成果和存在的不足之外,同时也对本平台的研究和应用前景进行了展望

2 相关理论与技术分析
一个成型的系统是通过使用相应的技术手段完成的,但同时也需要强大的理论进行支撑。本文将在网络上通过 PHP语言、Apache服务器、My SQL数据库设计和建立一个校园垃圾分类平台。下文将对本平台所应用到的相关模型和各类技术进行详细的介绍。
2.1 B/S模式
信息技术随着时代的不断发展,也越来越成熟,文件/服务器单机时代已经来临过去,当今的软件架构是数据共享模式,即客户端/服务器(即C/S)模式和浏览器/服务器(B/S)模式。
在过去的文件/服务器时代,文件服务器是一种设备,需要存储多台计算机共享的文件,包括数据库数据。其主要目的是向客机提供文件服务。文件服务器位于计算机局域网中,旨在实现文件数据共享,给网络带来巨大的传输压力。数据库本身的性能和其他因素会影响文件服务器的运行,并且在运行过程中不能有太多的用户,以防止网络拥塞。但是该系统必须处理大量数据,例如学生的测评过程将继续记录测评信息并将其存储在数据库中,网络传输带宽比较大,用户也更多,因此并不是适合在此系统中使用此结构
C/S结构是众所周知的客户端和服务器结构。通过将任务从客户端分发到服务器,它可以充分利用系统体系结构的优势。在这种结构中,客户端部分通常负责执行前台功能(例如管理用户界面),而服务器部分执行后台服务(例如控制共享数据库的操作)。第一次模拟考试的优点是客户反应灵敏。但是,第一个模拟考试是它仅适用于LAN和客户端,并且需要特殊的客户端软件。客户端的操作系统(如果不是Windows XP)对客户端的操作系统也有限制,并且它需要很高的维护成本和巨额投资。 由于上述缺点,因此系统在设计过程中不使用此模式。C/S模式应用系统的网络结构如图2-1所示。

图2-1 C/S模式应用系统网络结构
B/S结构(浏览器/服务器模式)是Web兴起后的一种网络结构模式。 Web浏览器是客户端最重要的应用软件。 在这种结构中,用户界面完全由WWW浏览器实现,部分事务逻辑在前端实现,而主要事务逻辑在服务器中实现。 此模式易于维护和升级。 B/S体系结构的软件仅需要管理服务器。 所有的客户端仅仅是浏览器,根本不需要任何维护。 B/S基于WAN,并且不一定是特殊的网络硬件环境。
B / S模式有效地消除了C/S模式的缺点。 与C/S模式相比,B/S模式对技术和前端机器用户的要求较低。 由于B/S模式的这些优点,本系统采用B/S模式。图 2-2 为 B/S 模式应用系统网络结构。

图2-2 B/S模式系统网络结构
2.2 PHP语言
PHP是用于创建动态网站的服务器端脚本语言,它是跨平台运行的开源代码。 超文本预处理器是超文本预处理器的缩写。 PHP语言的独特之处在于语法系统(例如C ++,Java,Perl和PHP的独立创新)的组合。 PHP语言开发的动态页面用于将代码嵌入HTML语言中以执行。 CGI执行的相对效率是完整的,并且HTML标记的生成更好。 PHP也可以在编译程序后实现加密和优化,从而使程序运行效率更高。 PHP具有强大的功能,所有CGI都可以完成处理,可以使用PHP来完成,并且可以与几乎所有主要的关系数据库和操作系统兼容。
PHP的特点如下:
(1)源代码是完全开放的:PHP是免费的,您可以获取所有源代码;
(2)在服务器端运行:由于PHP是在服务器端运行的脚本语言,因此它可以在主流操作系统下运行,包括Windows,UNIX,Linux等;
(3)效率高:PHP对系统资源的消耗相对较小;
(4)易于使用;
(5)嵌入式语言:PHP代码嵌入在网页中,甚至可以使用文本文档进行编辑,而无需建立特殊的开发环境或IDE;
(6)语言简单,实用性强。
PHP是一种简单的面向对象的Web编程语言,它是一种可移植的,独立于体系结构的动态脚本语言。与Java相比,速度要快五倍以上。使用PHP开发网站已成为一种流行趋势。 PHP可以快速创建简单的Flash动画,创建PDF和其他类型的文档,并为网站访问者提供本地化服务。它是一种面向对象的编程技术。当访问者的网站(访问者)单击进入该网站时,该网站将根据其浏览器设置自动提供个性化页面。而且这些不需要使用复杂的语言翻译工作就已经使用过,通过系统调用gettext来实现C程序的能力和局限性。我们可以轻松地使用各种命令行,PHP编程爱好者越来越受欢迎,这里有一个开源,广泛的数据库支持,大量的扩展库。作为一种多功能的Web开发语言,它具有许多优势,是动态网站开发的最佳选择。
2.3 SQL数据库
结构化查询语言(Structured Query Language)简称 SQL,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。SQL语言比较简洁,在国内和国外均被广泛的应用,并获得了大众良好的口碑。目前,很多数据库都用到了它,Oracle、SQL Server、Sybase等都支持SQL语言。
SQL功能主要包括查询,修改,定义,删除和控制。结构化查询语言是一种高级的非过程编程语言,它允许用户使用高级数据结构。用户不需要知道SQL在底部如何工作。如果他们通过SQL处理数据,则数据将根据相应的指令进行更改。 因此,SQL是通用的。同时,结构化的查询语言语句可以嵌套,这使其具有很大的灵活性和强大的功能。
SQL数据库体系结构可以分为三个级别。在SQL数据库中,外部模式与视图有关,模式与基本表相对应,元组称为“行”,属性称为“列”。内部模式与存储文件相反。
SQL 数据库的体系结构有如下几点特征:

  1. SQL数据库是由一个或多个SQL模式定义的表的集合。

  2. SQL表由行集组成。行是列的序列(集合)。每列和每行对应一个数据项。
    3.表是基本表或视图。基本表是存储在数据库中的表,而视图是从几个基本表或其他视图派生的表,不能单独存储在数据库中。
    4.一个基本表可以跨越一个或多个存储文件,并且一个存储文件也可以存储一个或多个基本表。单个表可以具有多个索引,并且索引也存储在存储文件中。每个存储文件都有其对应的物理文件。
    5.用户可以使用SQL语言查询视图和基本表。作为用户,视图和基本表完全相同。它们都是关系(表)。

  3. SQL用户可以是应用程序或最终用户。 SQL语句可以嵌入到主机语言程序中,包括FORTRAN,COBOL,Pascal,PL/I,C和ADA。 SQL用户还可以用作交互式环境中最终用户的独立用户界面。
    SQL包含对数据库的所有操作,它主要由以下四个部分组成:
    1.数据定义:这部分也称为“ SQL DDL”,它定义数据库的逻辑结构,包括四个部分:定义数据库,基本表,视图和索引。
    2.数据操作:这部分也称为“ SQL DML”,分为两种类型的操作-数据查询和数据更新。 数据更新包括三个操作:删除,插入和更新。
    3.数据控制:这部分包括基本表和视图的授权,规则和事务控制语句的完整描述。
    4.嵌入式SQL规则:将SQL语句嵌入宿主语言程序的规则。
    正是由于其优势,SQL才可以被广泛使用。 由于其多功能性,SQL可以在大多数主流数据库中使用。即使用户使用不熟悉的数据库,他们仍然可以使用SQL语言,这给用户带来了极大的便利。
    1.非过程语言,SQL的集合使SQL语句的结果能够作为另一个语句的输入。 它没有指定存储数据的方法。
    2.统一化的语言。
    3.是所有关系数据库的通用语言,几乎可以在所有关系数据库中使用。
    2.4 WEB前端技术
    Web前端开发是一种具有重要品牌的技术,它源于Web页面的产生。 在Internet的演进过程中,网页制作是Web1.0时代的产物。 在那个时代,网站不是动态的,人们只使用该网站进行简单浏览,而没有交互。 自2005年以来,Internet进入了Web2.0时代,大量动态Web应用程序如雨后春笋般涌现。 网站的前端不再是静态的,而是动态和交互的。 网页的内容不限于单个文本和图片,网页中的各种媒体使网页发光。 前端技术使人们可以与诸如app之类的网络上的信息进行交互。 这种独特的形式使用户操作更加方便。
    2.4.1 HTML技术
    超文本标记语言是标准通用标记语言的一种应用。 “超文本”表示页面可以包含图片,链接,甚至音乐,程序和其他非文本元素。 超文本标记语言的结构包括“头部”部分(英语:head)和“主体”部分(英语:body)。 “头部”部分提供有关网页的信息,而“正文”部分提供网页的特定内容。 HTML使用标签来描述网页。
    HTML 标签
    HTML 标记标签通常被称为 HTML 标签(HTML tag)。
    HTML 标签是由尖括号包围的关键词,比如 。
    HTML 标签通常是成对出现的,比如
    标签对中的第一个标签是开始标签,第二个标签是结束标签。
    开始和结束标签也被称为开放标签和闭合标签。
    HTML 文档 = 网页
    HTML 文档描述网页
    HTML 文档包含 HTML 标签和纯文本
    HTML 文档也被称为网页
    Web 浏览器的作用是读取 HTML 文档,并以网页的形式显示出它们。浏览器不会显示 HTML 标签,而是使用标签来解释页面的内容。
    2.4.2 JavaScript 脚本语言
    JavaScript(Java脚本语言)是一种新的嵌入式脚本语言,可以满足网页开发的需求。如今,几乎所有网站都或多或少地采用JavaScript,这可以使网页达到完美的特殊效果,并弥补HTML语言功能的不足。 JavaScript是Netscape公司开发的脚本语言。在网页中,插入相关的Java脚本语言程序,可以使您的网页立即处于活动状态,效果是其他语言无法比拟的。 Java脚本需要浏览器内置组件的支持,才能读取Java脚本语言。当前,所有浏览器版本都可以提供对JavaScript的完美支持。 JavaScript是Microsoft公司开发的脚本,用于嵌入到网页代码中。我们称它为JScript。 JavaScript和JScript在功能上基本相同,但在一些小细节上稍有不同。 JavaScript简洁明了,可以在客户端上运行,属于客户端脚本语言,可以有效提高网页的浏览速度和交互能力。同时,它还是用于制作网页的一种简单的编程脚本语言。
    Java脚本也可以用于验证用户提交的表单数据的正确性和完整性。 我们将其称为表单验证程序,该程序用于实时验证提交的表单数据,以确保数据的正确性。 只要您有创造力,就可以使用JavaScript编写出色的Web应用程序效果。

  4. 系统需求分析
    进行系统项目的开发,必须要明确的问题就是“项目最终的用途和目的是什么?”,所以为了明确这个问题,就必须进行更加细致的系统需求分析,可行性分析更侧重于解决系统能不能进行开发的问题,旨在快速判断开发阶段会遇到的问题并寻求可行解决方案,所以在可行性分析这个阶段容易忽略许多细节问题。而需求分析则侧重于解决系统应该朝什么方向以及应该开发成什么样子的问题,需求分析是系统开发阶段的第一步,也是系统生命周期的关键步骤,甚至决定着系统开发的成败。
    3.1.系统功能性需求分析
    经过需求获取和分析,本研究的农业科技学习管理平台的功能性需要划分为了六大模块:农业专家服务模块、学习资源管理模块、农业技术学习模块、农业信息查询模块、农业资讯推送模块、用户管理模块。
    (1)新闻资讯推送模块
    本模块一方面主要是将国内外最新的垃圾分类资讯以及和校内师生密切相关的实时信息,例如国内外最新垃圾分类发展动态、校园垃圾分类信息展示等等呈现出来。另一方面则是将我国中央政府和地区政府制定的相关政策法规展示在平台资讯推送栏目中,如此一来将大大增强大家的法律法规知识。
    (2)知识学习模块
    首先整理垃圾分类的相关知识,如分类方法,判别方法等。其次将平台上的学习相关的资源进行分门别类的统一化管理,既便于用户查找也利于管理员进行学习资源的更新。同时建立知识测评栏目,根据平台学习资料制作相关的垃圾分类知识测试,促进用户能够更好的学习知识。
    (3)相关信息查询模块
    本模块一方面是要将关联其他垃圾分类相关机构的信息导入相对应的数据库表,使用户能够直接连接到相关机构,便于垃圾分类知识的学习。另外一个方面是开发搜索功能,使用户能够根据需要搜索到平台上的资源,例如垃圾分类学习资料、垃圾分类热点信息等等。
    (4)留言管理
    本模块是在平台中建立互动留言环节。用户可以在专门设置的留言板发表自己的留言,可以是问题咨询、心得体会或者意见建议。其他用户也可以在留言后面进行回复,形成论坛的模式,加强互动性。
    (5)用户管理
    首先,它具有查看,添加和更改平台上注册用户信息的功能; 其次,具有查询注册用户信息的功能,可以查询注册用户的任何信息项,并显示查询到的数据项。 第三,平台需要具有数据导入导出功能,管理人员查询的数据应支持多种格式的导出,以满足其工作需求。 最后,必须具有限制功能。 后台管理员可以对注册用户的平台权限添加某些限制,例如免费课程观看时间的长短等。

图3-1 系统需求结构图

3.2.系统非功能需求分析
非功能需求与系统的特定功能没有直接关系。 与功能需求不同,非功能需求的主要内容是对系统项目的限制性要求,可以起到锦上添花的作用,从而使系统对用户体验更加完善和友好。 在本研究的校园垃圾分类平台中,非功能性需求主要包括以下内容:
(1)性能需求
首先,系统应该能够在运行过程中承受高并发的压力。简而言之,它应该能够随时随地接受高并发请求。其次,系统需要尽可能减少对客户端运行设备的需求,并优化系统的流畅性。最后,系统的登录应该简单明了,以确保用户可以快速掌握它并且不会太麻烦。
(2)安全性需求
考虑到本主题中的农业科技学习与推广平台包含大量信息和用户数据,应确保对用户自身的敏感信息和隐私信息进行保护,不存在泄露,盗窃,丢失等问题。 。 因此,平台需要更加注意数据加密,重要数据应加密存储。
(3)界面友好性需求
首先,平台界面和每个功能模块的默认语言应为中文,并根据平台的提升考虑是否添加其他语言。 其次,平台界面的设计应遵循直观介绍的原则,符合大众的主流审美观。 最后,该平台的实用价值和兼容性应该很强,并且需要确保该平台可以在不同的终端设备和不同的操作系统上平稳运行。
(4)可拓展性需求
考虑到随着平台后期阶段注册用户数量的增长,该平台需要能够支持负载方面用户数量的增长,并能够快速响应需求的更新。

  1. 系统的详细设计
    4.1. 数据库设计
    本系统的后台搭载在服务端,具体的数据表分为以下几种:用户信息表,管理员信息表,学习资源信息表,公告信息表,留言信息表。
    122.12.2如下表4-1所示为用户信息数据表:
    表4-1 用户信息表
    属性 数据类型 说明 备注
    id String 用户id 主键,不允许空
    name String 姓名 不允许为空
    password String 密码 不允许为空
    number String 电话 不允许为空
    mail String 电子邮箱 不允许为空
    如下表4-2所示为管理员信息数据表:
    表4-2管理员信息表
    属性 数据类型 说明 备注
    id String 用户id 主键,不允许空
    name String 姓名 不允许为空
    password String 密码 不允许为空
    number String 电话 不允许为空
    mail String 电子邮箱 不允许为空
    如下表4-3所示为学习资源信息表:
    表4-3 学习资源信息表
    属性 数据类型 说明 备注
    id String 请假id 主键,不允许空
    knowledge_name String 资源名称 不允许为空
    type String 资源类型 不允许为空
    address String 链接 不允许为空
    test String 测试题目 不允许为空
    scores String 测试成绩 不允许为空
    如下表4-4所示为已公告信息表:
    表4-4 公告信息表
    属性 数据类型 说明 备注
    id String 通知id 主键,不允许空
    time String 通知时间 不允许为空
    content String 通知内容 不允许为空
    如下表4-5所示为用户留言信息表:
    表4-5 作业信息表
    属性 数据类型 说明 备注
    id String 作业id 主键,不允许空
    message String 留言名称 不允许为空
    content String 留言内容 不允许为空

4.2. 系统的模块功能设计
各功能模块详细说明:
主页:作为系统的导航页面,内置不同的子类模块的入口按钮;
垃圾分类小知识:收集了关于垃圾分类各项知识内容,用户可以点击查看和学习。还有知识测试环节,便于用户巩固知识的掌握。
垃圾分类措施:收集了关于垃圾分类各项法规和政策。增强大家相关的法律法规知识。
互动留言:用户登录可以在论坛里进行互动留言。
用户管理页面:各类用户可以在该模块对自己的用户信息进行维护。
4.3. 系统界面设计
主界面采用盒状布局形式,如图4-1,通过对应主页面上方动态链接来实现选项的功能选项的排列。核心代码如下:

图4-1 主界面

<?php session_start(); include_once 'conn.php'; ?> 校园垃圾分类网站 <?php include_once 'qttop.php';?> <?php include_once 'bht.php';?>

垃圾分类

积极参与垃圾分类,创优美校园环境

垃圾分类小知识

垃圾分类措施

<?php $sql="select biaoti,id,addtime from xinwentongzhi where leibie='垃圾分类小知识' order by id desc"; $query=mysql_query($sql); $rowscount=mysql_num_rows($query); if($rowscount>0) { for($i=0;$i<$rowscount;$i++) { if($i==6) {break ; } ?>

  1. 系统的详细实现
    5.1. 登陆模块的设计与实现
    用户登录是用户使用该软件是,需要登录密码,以便于更好的保护手机和隐私,防止别人随便更改用户手机上的信息。
    登录主界面有2个功能:登录,退出

1.登录:直接输入密码即可登录;
2.退出:退出当前应用程序

流程图示5-1:

 登录时,用户向服务器发送数据请求,携带编辑框中输入的用户名信息和密码信息,服务器通过查询数据库进行比对,如果匹配成功发送成功响应,如果匹配失败发送失败码,客户端通过接受服务端返回的结果,来判断用户是否成功登陆。

图 4-1 登陆界面
核心代码如下:
1.登陆界面主要采用相对布局来实现布局排版。
session_start();
include_once ‘conn.php’;
//if($_POST[‘submit’]){
login=login=login=_POST[“login”];
username=username=username=_POST[‘username’];
pwd=pwd=pwd=_POST[‘pwd’];
cx=cx=cx=_POST[‘cx’];
yzm=yzm=yzm=_POST[‘yzm’];
//userpass=md5(userpass=md5(userpass=md5(userpass);
if(KaTeX parse error: Expected '}', got 'EOF' at end of input: …=="1") { if(yzm==SESSION[′regsessioncode′])elseecho"<scriptlanguage=′javascript′>alert(′请输入正确验证码!′);location.href=′login.html′;</script>";die;if(_SESSION['regsession_code']) { } else {echo "<script language='javascript'>alert('请输入正确验证码!');location.href='login.html';</script>"; die; } if (S​ESSION[′regsessionc​ode′])elseecho"<scriptlanguage=′javascript′>alert(′请输入正确验证码!′);location.href=′login.html′;</script>";die;if(username!="" && $pwd!="" && KaTeX parse error: Expected '}', got 'EOF' at end of input: …!="") { if(cx==“管理员”){sql="select∗fromalluserswhereusername=′sql="select * from allusers where username='sql="select∗fromalluserswhereusername=′username’ and pwd=‘KaTeX parse error: Expected 'EOF', got '}' at position 7: pwd'";}̲ if(cx==“校园管理员”){sql="select∗fromKTVfuwuyuanwheregonghao=′sql="select * from KTVfuwuyuan where gonghao='sql="select∗fromKTVfuwuyuanwheregonghao=′username’ and mima=‘KaTeX parse error: Expected 'EOF', got '}' at position 8: pwd' ";}̲ if(cx==“会员”){sql="select∗fromhuiyuanxinxiwherehuiyuanhao=′sql="select * from huiyuanxinxi where huiyuanhao='sql="select∗fromhuiyuanxinxiwherehuiyuanhao=′username’ and mima=‘KaTeX parse error: Expected 'EOF', got '}' at position 8: pwd' ";}̲ if(cx==“教师”){sql="select∗fromqiantaifuwuyuanwheregonghao=′sql="select * from qiantaifuwuyuan where gonghao='sql="select∗fromqiantaifuwuyuanwheregonghao=′username’ and mima=‘KaTeX parse error: Expected 'EOF', got '}' at position 8: pwd' ";}̲ if(cx==“注册用户”){sql="select∗fromyonghuzhucewherezhanghao=′sql="select * from yonghuzhuce where zhanghao='sql="select∗fromyonghuzhucewherezhanghao=′username’ and mima=’$pwd’ and issh=‘是’";}
query=mysqlquery(query=mysql_query(query=mysqlq​uery(sql);
rowscount=mysqlnumrows(rowscount=mysql_num_rows(rowscount=mysqln​umr​ows(query);
if($rowscount>0)
{
SESSION[′username′]=_SESSION['username']=S​ESSION[′username′]=username;
if($cx==“管理员”)
{ SESSION[′cx′]=mysqlresult(_SESSION['cx']=mysql_result(S​ESSION[′cx′]=mysqlr​esult(query,0,“cx”);}
else
{SESSION[′cx′]=_SESSION['cx']=S​ESSION[′cx′]=cx; }
echo “”;}
}
//}

5.2. 新闻资讯模块的设计与实现
展示当前的新闻资讯或者政策法规,点击标题即可以链接到相关内容。同时在标题后部会显示出新闻链接的首次展示时间以及点击次数,以便让大家直观的发现热门资讯和关键政策法规。

核心代码如下:

<?php session_start(); include_once 'conn.php'; $lb=$_GET["lb"]; ?> <?php echo $lb;?>

已有<?php echo $lb;?>列表:

搜索: 标题: <?php $sql="select * from xinwentongzhi where leibie='".$lb."'"; if ($_POST["biaoti"]!=""){$nreqbiaoti=$_POST["biaoti"];$sql=$sql." and biaoti like '%$nreqbiaoti%'";} if($lb!=""){$sql=$sql." and leibie='$lb'";} $sql=$sql." order by id desc"; $query=mysql_query($sql); $rowscount=mysql_num_rows($query); if($rowscount==0) {} else { $pagelarge=10;//每页行数; $pagecurrent=$_GET["pagecurrent"]; if($rowscount%$pagelarge==0) {$pagecount=$rowscount/$pagelarge; } else {$pagecount=intval($rowscount/$pagelarge)+1;} if($pagecurrent=="" || $pagecurrent<=0) {$pagecurrent=1; } if($pagecurrent>$pagecount) {$pagecurrent=$pagecount; } $ddddd=$pagecurrent*$pagelarge; if($pagecurrent==$pagecount) {if($rowscount%$pagelarge==0) {$ddddd=$pagecurrent*$pagelarge; } else {$ddddd=$pagecurrent*$pagelarge-$pagelarge+$rowscount%$pagelarge; } } for($i=$pagecurrent*$pagelarge-$pagelarge;$i<$ddddd;$i++) { ?>

序号 标题 类别 首页图片 点击率 添加人 添加时间 操作
<?php echo $i+1; ?> <?php echo mysql_result($query,$i,biaoti);?> <?php echo mysql_result($query,$i,leibie);?> <?php if( mysql_result($query,$i,shouyetupian)==null) { ?> <?php } else { ?> <?php } ?> <?php echo mysql_result($query,$i,dianjilv);?> <?php echo mysql_result($query,$i,tianjiaren);?> <?php echo mysql_result($query,$i,"addtime"); ?>

5.3. 知识资源模块的设计与实现
展示关于垃圾分类的相关知识,点击标题即可以链接到相关内容。同时在标题后部会显示出知识内容链接的首次展示时间以及点击次数,以便让大家直观的发现热门资讯。

核心代码如下:

<?php session_start(); include_once 'conn.php'; $lb=$_GET["lb"]; if($lb=="") { $lb=$_POST["lb"]; } $biaoti=$_POST["biaoti"]; ?> <?php echo $lb;?> <?php include_once 'qttop.php';?> <?php include_once 'bht.php';?>

<?php echo $lb;?>

<?php $sql="select * from xinwentongzhi where 1=1"; if ($biaoti!=""){$sql=$sql." and biaoti like '%$biaoti%'";} if($lb!=""){$sql=$sql." and leibie='$lb'";} $sql=$sql." order by id desc";

query=mysqlquery(query=mysql_query(query=mysqlq​uery(sql);
rowscount=mysqlnumrows(rowscount=mysql_num_rows(rowscount=mysqln​umr​ows(query);
if($rowscount0)
{}
else
{
$pagelarge=20;//每页行数;
pagecurrent=pagecurrent=pagecurrent=_GET[“pagecurrent”];
if(rowscountrowscount%rowscountpagelarge0)
{
pagecount=pagecount=pagecount=rowscount/KaTeX parse error: Expected 'EOF', got '}' at position 14: pagelarge; }̲ else {pagecount=intval(rowscount/rowscount/rowscount/pagelarge)+1; }
if($pagecurrent=="" || $pagecurrent<=0)
{
KaTeX parse error: Expected 'EOF', got '}' at position 16: pagecurrent=1; }̲ if(pagecurrent>KaTeX parse error: Expected '}', got 'EOF' at end of input: pagecount) {pagecurrent=$pagecount; }
ddddd=ddddd=ddddd=pagecurrent*pagelarge;if(pagelarge; if(pagelarge;if(pagecurrent==KaTeX parse error: Expected '}', got 'EOF' at end of input: …count) { if(rowscount%KaTeX parse error: Expected '}', got 'EOF' at end of input: …gelarge==0) {ddddd=pagecurrent∗pagecurrent*pagecurrent∗pagelarge; }
else
{ddddd=ddddd=ddddd=pagecurrent*pagelarge−pagelarge-pagelarge−pagelarge+rowscountrowscount%rowscountpagelarge;}
}
for(i=i=i=pagecurrent*pagelarge−pagelarge-pagelarge−pagelarge;i<i<i<ddddd;KaTeX parse error: Expected '}', got 'EOF' at end of input: …o mysql_result(query,i,"id");?>"><?phpechomysqlresult(i,"id");?>"><?php echo mysql_result(i,"id");?>"><?phpechomysqlr​esult(query,i,"biaoti");?></a></td><tdwidth="9i,"biaoti");?></a></td> <td width="9%" class="newsline">被点击<?php echo mysql_result(i,"biaoti");?></a></td><tdwidth="9query,i,"dianjilv");?>次</td><tdwidth="14i,"dianjilv");?>次</td> <td width="14%" class="newsline"><?php echo mysql_result(i,"dianjilv");?>次</td><tdwidth="14query,$i,“addtime”);?>

<?php
}
}
?>

首页 前一页 后一页 末页 当前第<?php echo $pagecurrent;?>页,共<?php echo $pagecount;?>页 以上数据共
<?php
echo $rowscount;
?>
条,

<?php include_once 'qtdown.php';?> <?php include_once 'qtuserlog.php';?>

<script src="qtimages/lib/jquery/jquery.min.js"></script>
<script src="qtimages/lib/bootstrap/js/bootstrap.min.js"></script>
<script src="qtimages/js/index.js"></script>

5.4. 留言模块的设计与实现
该模块展示用户的各类的留言,其他用户可以在留言后面继续留言,管理员同时也可以对留言进行管理。
核心代码:

<?php include_once 'conn.php'; ?> 留言板

已有留言板列表:

搜索:账号: 姓名: <?php $sql="select * from liuyanban where 1=1"; if ($_POST["bh"]!="") { $nreqbh=$_POST["bh"]; $sql=$sql." and zhanghao like '%$nreqbh%'"; } if ($_POST["mc"]!="") { $nreqmc=$_POST["mc"]; $sql=$sql." and xingming like '%$nreqmc%'"; } $sql=$sql." order by id desc";

序号 账号 照片 姓名 留言 回复 添加时间 操作

query=mysqlquery(query=mysql_query(query=mysqlq​uery(sql);
rowscount=mysqlnumrows(rowscount=mysql_num_rows(rowscount=mysqln​umr​ows(query);
if($rowscount0)
{}
else
{
$pagelarge=10;//每页行数;
pagecurrent=pagecurrent=pagecurrent=_GET[“pagecurrent”];
if(rowscountrowscount%rowscountpagelarge0)
{
pagecount=pagecount=pagecount=rowscount/$pagelarge;
}
else
{
pagecount=intval(pagecount=intval(pagecount=intval(rowscount/KaTeX parse error: Expected 'EOF', got '}' at position 17: …agelarge)+1; }̲ if(pagecurrent=="" || $pagecurrent<=0)
{
$pagecurrent=1;
}

if(pagecurrent>pagecurrent>pagecurrent>pagecount)
{
pagecurrent=pagecurrent=pagecurrent=pagecount;
}
ddddd=ddddd=ddddd=pagecurrent*pagelarge;if(pagelarge; if(pagelarge;if(pagecurrent==KaTeX parse error: Expected '}', got 'EOF' at end of input: …count) { if(rowscount%$pagelarge==0)
{
ddddd=ddddd=ddddd=pagecurrent*$pagelarge;
}
else
{
ddddd=ddddd=ddddd=pagecurrent*pagelarge−pagelarge-pagelarge−pagelarge+rowscountrowscount%rowscountpagelarge;
}
}

for($i=$pagecurrent*$pagelarge-$pagelarge;$i<$ddddd;$i++)

{
?>

<?php echo $i+1; ?> <?php echo mysql_result($query,$i,zhanghao);?> <?php echo mysql_result($query,$i,xingming);?><?php echo mysql_result($query,$i,liuyan);?> <?php echo mysql_result($query,$i,"huifu"); ?> <?php echo mysql_result($query,$i,"addtime"); ?> 回复

6 系统测试
6.1 系统的测试目的和方法
软件测试的目的主要包括以下几个方面:
1、发现被测对象与用户需求之间的差异,即缺陷。
2、通过测试活动发现并解决缺陷,增加人们对软件质量的信心。
3、通过测试活动了解被测对象的质量状况,为决策提供数据依据。
4、通过测试活动积累经验,预防缺陷出现,降低产品失败风险。
软件测试方法众多,比较常用到的测试方法有等价类划分、场景法,偶尔会使用到的测试方法有边界值和判定表,还有包括不经常使用到的正交排列法和测试大纲法。其中等价类划分、边界值分析、判定表等属于黑盒测试方法;只对功能是否可以满足规定要求进行检查,主要用于软件的确认测试阶段。白盒测试也叫做结构测试或逻辑驱动测试,是基于覆盖的全部代码和路径、条件的测试,通过测试检测产品内部性能,检验程序中的路径是否可以按照要求完成工作,但是并不对功能进行测试,主要用于软件的验证。
6.2 测试用例及结果
1.输入错误的用户名或者密码,查看是否能够正常进入
2.输入正确的用户名和密码,查看是否能够正常进入
3.点击查看垃圾分类小知识,查看是否能够正确显示出相关知识链接
4.点击查看通知,查看是否能够正确显示已经配置好的通知内容
5.点击查看留言界面,查看能否正常显示留言界面,并能够正常提交留言申请,能否正常对其他人的留言进行评论。
6.点击查看知识测试,查看进行先关测试,结果判断是否正确。
经测试,所有测试用例验证均通过,软件无功能性的严重问题,软件验证通过。

7 总结与展望

随着毕业日的到来,我的毕业设计也接近尾声。经过一个多月的努力奋战我的课程设计终于圆满完成。在没有选题前我对PHP方面的知识掌握的不是很熟练,知识只接触了少许,对整个PHP及SQL项目没有一个清楚的认识,但是通过这次毕业设计我通过查阅大量有关资料,与同学交流经验和自学,并向老师请教等方式,使自己学到了不少知识,也经历了不少艰辛,但收获巨大。在整个设计中我懂得了许多东西,也培养了我独立的工作的能力,树立了对自己工作能力的信心,相信对今后的学习工作生活有非常重要的影响,而且大大提高了动手的能力,使我充分体会到了在创造中探索的艰难和成功时的喜悦。在这次毕业设计中的最大的收获是不仅让我更进一步巩固了以前的知识,而且让我对PHP语言和基于SQL系统的服务端和客户端的交互逻辑有了更加深刻的理解。我相信这将对我终身受益。

参考文献
[1]胡楠,高远,邵文达,卢操,秦哲.瑞典垃圾分类的先进性探究及对我国的启示[J].农村经济与科技.2019, 30(12): 3-4.
[2]刘宁宁,简晓彬 .国内外城市生活垃圾收集与处理现状分析[J].国土与自然资源研究.2008,(04): 67-68.
[3]王冠宇,李萌.欧美城市垃圾处理政策与经验对北京的启示[J].城市管理与科技.2015, 17(03):82-84
[4]王建清.欧洲垃圾治理经验例析[J].城乡建设.2016,(08): 89-91.
[5] 王姣.垃圾分类在美国[J].世界环境.2019,(5): 21-22
[6] 张农科.关于中国垃圾分类模式的反思与再造[J].城市问题.2017,(05): 4-8
[7] 余宁.物联网技术在垃圾收运监管体系中的应用[J].环境工程.2013, 31(04): 130-132;
[8] 张海波.城市生活垃圾社区收运系统评价研究[D].西南交通大学,2017
[9] Junjun, Z.,Mingyuan, X.,Ming, C.,Zhichao, W., Mingmiao, Y. Modeling Group Behavior to Study Innovation Diffusion Based on Cognition and Network: An Analysis for Garbage Classification System in Shanghai, China[J]. International journal of environmental research and public health.2019, 16(18).
[10] Laaziri, M.,Benmoussa, K.,Khoulji, S., Kerkeb, M. L. A Comparative study of PHP frameworks performance[J]. Procedia Manufacturing.2019, 32
[11] Wen, X.,Luo, Q.,Hu, H.,Wang, N.,Chen, Y.,Jin, J., . . . Fang, W. Comparison research on waste classification between China and the EU, Japan, and the USA[J]. Journal of Material Cycles and Waste Management.2014, 16(2).

致谢

历时将近俩个月的时间,我终于将学校安排的毕业设计圆满做完,在这期间,我首先要感谢孙老师对我的悉心教导,从最初的定题,到资料收集,到写作、修改,到论文定稿,她不厌其烦的帮我修改和改进。她渊博的专业知识和严以律己,宽以待人的崇高风范对我影响深远,不仅让我树立了自己学术目标还掌握了基本的研究方法。另外我还需感谢数位学者的研究文献,没有他们的研究成果的话,我很难完成这次毕业设计,他们的研究成果让我认识到毕业设计和毕业论文如何进行。最后我要感谢这四年来教导我的老师,感谢所有任课老师和所有同学在这四年来给自己的指导和帮助, 是他们教会了我专业知识,教会了我如何学习,教会了我如何做人。 正是由于他们,我才能在各方面取得显著的进步,在此向他们表示我由衷的谢意,并祝所有的老师培养出越来越多的优秀人才,桃李满天下!

基于php的校园垃圾分类网站的设计与实现相关推荐

  1. 基于PHP的校园二手信息网站的设计与实现毕业设计源码251656

    目  录 摘要 1 绪论 1.1 研究背景 1.2国内外研究现状 1.3论文结构与章节安排 2校园二手信息网站系统分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2. ...

  2. 基于java的校园二手网站的设计与实现

    技术:Java.JSP等 摘要: 网上交易正在迅速的进入到我们的生活,快捷,方便以及安全使得这一交易方式正在成为主流.随之而兴起的淘宝,京东等网上交易平台成为了大学生的最爱,在迎合广大大学生的基础上, ...

  3. java动漫网站开题报告_基于java的校园论坛网站的开发与设计开题报告.doc

    基于java的校园论坛网站的开发与设计开题报告 太 原 科 技 大 学 华 科 学 院 毕业设计开题报告 学 生 姓 名:学 号:学 院.系:专 业:论 文 题 目:指导教师: 2015 年 3 月1 ...

  4. 基于ASP.NET大学生校园招聘网站的设计与开发

    开发工具(eclipse/idea/vscode等):vs2017 数据库(sqlite/mysql/sqlserver):sqlserver 功能模块(请用文字描述,至少200字):基于ASP.NE ...

  5. ssm基于JAVA的求职招聘网站的设计与实现计算机毕业设计

    最新200套计算机专业原创毕业设计参考选题都有源码+数据库是近期作品 如果题目不合适,可以去我上传的资源里面找题目,找不到的话,评论留下题目,站内私我或add用户名,有时间看到机会给您发 1 2100 ...

  6. 基于Android的招聘求职网站的设计与实现

    毕业设计 基于Android的招聘求职网站的设计与实现 1.课题意义及目标 在二十一世纪求职方式跟以前是不同的,与在各个用人单位和招聘会上寻找理想的工作,基于安卓的招聘系统能够提供最好的最丰富及时的招 ...

  7. 计算机毕业设计之java+springboot基于vue的校园交友网站

    计算机毕业设计之java+springboot基于vue的校园交友网站 项目介绍 系统选用java语言,B/S模式和Mysql为后台数据库.系统主要包括首页.个人中心.用户管理.线下活动管理.交友信息 ...

  8. 基于ssm的校园门户网站源码+开题报告+需求分析+mysql数据库+前端html文件

    下载地址:https://download.csdn.net/download/biyesheji250/28740242 项目介绍: 基于ssm的校园门户网站源码+开题报告+需求分析+mysql数据 ...

  9. java跳蚤市场源码,基于JAVA的校园网上跳蚤市场的设计与实现.doc

    本文阐述了校园网上跳蚤市场的设计与实现过程,并且详细介绍了系统的需求分析以及各部分功能的实现代码.系统的开发以Java语言为开发环境,以Eclipse软件为开发平台,以MySQL为后台数据库 ,主要实 ...

  10. html5管理开题报告,基于HTML5的响应式网站的设计与实现(论文)开题报告

    [9] Brad Dayley,jQuery与JavaScript入门经典 [M].北京:人民邮电出版社,2014. [10] 王映龙,刘春阳,熊曾刚,Java EE实用教程 [M].北京:清华大学出 ...

最新文章

  1. [C] 层层递进——C语言实现广度优先搜索
  2. 光纤收发器如何选择?
  3. MVC PartialView
  4. An Energy-Efficient Ant-Based Routing Algorithm for Wireless Sensor Networks (无线传感网中基于蚁群算法的能量有效路由)2
  5. java怎么确定数据在区间内_电脑数据怎么恢复详细篇,我们该如何确定故障如何进行数据恢复!...
  6. Spark API 详解/大白话解释 之 map、mapPartitions、mapValues、mapWith、flatMap、flatMapWith、flatMapValues
  7. python打不开settings_python - django无法导入settings文件
  8. java适配器模式_java设计模式之适配器模式
  9. Samba和用户组综合练习
  10. matlab 仿真wsn,wsn仿真matlab
  11. 去除winrar的弹窗广告方法(亲测有效)
  12. 闪讯(NetKeeper)——OpenWrt安装闪讯(NetKeeper)插件(校园网电信宽带闪讯(NetKeeper)认证解决方案)
  13. C/C++实现matlab的imfill()函数
  14. 【资源记录】各个历史版本 cuda toolkit 下载链接
  15. SSM知识梳理(整理一半)
  16. VScode 显示垂直标尺
  17. 汽车租赁小程序源码 上门取车
  18. 计算机服务器排名,2019服务器CPU天梯图 多路CPU性能排名
  19. 基于开源应用快速构建HTAP系统(2)-阿里云开发者社区
  20. 打豪车应用:uber详细攻略(附100元优惠码)

热门文章

  1. xmapp启动数据库问题记录 Access denied for user ‘me‘@‘localhost‘ (using password: NO)
  2. python调用高德接口获取国内行政区经纬度数据
  3. 如何把平板(pad)作为笔记本电脑的分屏详细教程
  4. 计算机分屏显示知识,如何使用Windows的分屏显示功能
  5. 某计算机配置的内存为2GB,实测告诉你为APU分配64MB和2GB显存性能差距多大
  6. 2022安徽宣城市广德市桐汭街道招聘社区后备干部考试试题及答案
  7. 在校大学生如何申请免费教育版 Intellij IDEA
  8. revit二次开发 材质类别分析
  9. win10系统问题记录(一):解决D/E盘根目录出现的msdia80.dll文件
  10. JavaCV音视频开发宝典:录制vp8和vp9编码的webm格式视频,以mp4转webm为例