版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于PHP的学生在线投票表决系统设计与实现目录TOC\o"1-3"\h\u20351引言 摘要:随着社会经济信息化的逐步完善,网络问卷调查和网上投票也越来越普及。网络电子选票系统虽然现已在国内外得到了普遍的使用,但还是出现了刷票,数据不准确等现象。本系统采用PHP技术,MySQL数据库等,完成了功能模块齐全,软件系统运行方式简洁、方便,投票结果及时精确的学生在线投票表决系统。包括6个模块:用户登录模块具有学生通过学号和密码进入投票界面的功能;投票模块具有显示投票题目和选项,学生进行投票的功能;管理后台模块具有管理员管理投票信息的功能;显示统计结果模块具有在管理页面显示出最终投票情况的功能;管理员登录模块具有管理员输入特定名字和密码登录后台的功能;防止多次投票模块具有确保学生只投票一次的功能。本系统能够及时正确地获取学生意见并反映给上级,这不但拓宽了信息收集的范围、节约了人力资源和时间,也极大地提高了数据采集的准确度和效果,很好地解决了收集学生意见等信息时耗费时间、效率低的问题。关键词:PHP;数据库;投票引言随着互联网日益广泛的使用和迅速普及,学生在线投票表决系统在日常生活中得到了非常广泛的使用。学校中许多评选活动就是通过学生参与线上投票完成的,如校园歌手评选由学生投票评选出前三名;还有许许多多“最佳”的评比等。基于PHP的学生在线投票表决系统设计与实现是一个典型的在线投票系统,该系统通过PHP和MySQL进行开发,分为前台和后台两大部分,前台部分包括登录模块,投票模块,主要是让学生用户进行登陆并投票;后台部分包括管理后台模块,显示统计结果模块,主要是让管理员对用户的信息和投票主题、题目、选项等内容进行管理。学生在线投票表决系统的关键是管理投票项目和处理信息的模块,如管理学生投票主题、管理在同一个主题下的所有投票项、分类管理学生投票信息等。在完成此系统过程中必须克服最的大问题是网络安全问题,比如控制学生权限,防止学生更改投票数据、阻止学生重复投票等,只有克服了这个问题,才能获得有价值的投票数据。1研究背景和意义随着社会经济信息化的逐步完善,网络问卷调查和网上投票也越来越普及,广泛应用于社会各领域,取得了很好的效果。一款名叫名叫SurveyMonkey的在线调查问卷系统,因其独特的服务模式,庞大的功能模块,良好的用户界面以及使用的普适性,在社会领域得到了广泛的运用,有包括各大学校、央企国企事业单位、科研院所、大中小型公司等在内的10余万国内外使用者。但因为SurveyMonkey在线调查问卷系统存在无法免费收集海量调研数据的问题,当被调查者达到一百人以上时,则必须缴纳服务费。可以看出,即使在线投票管理系统在国内外获得广泛的应用,但仍然存在不足之处。本课题采用PHP技术,MySQL数据库等,致力于设计功能模块齐全,软件系统运行方式简单、方便,投票结果及时精确的学生在线投票表决系统。该系统能够迅速且正确的地收集学生意见并反映给上级,不仅拓宽了信息收集的范围、而且节省了人力物力资源和时间,也明显地提高了采集数据时的准确性和效率,很好地解决了收集学生意见等信息时耗费时间、效率低的问题。2相关技术介绍2.1PHP简介PHP是一个已被广泛应用的公开源代码的多用途脚本语言,是一种解释型的、健壮的、安全的、具有非常好的性能、独立于架构的、可移植的、动态的脚本语言,也可嵌套在HTML中,因此特别适用于网页开发。PHP语法学习了C语言,吸纳Java和Perl多个语言的特色发展出自己的特色语法,并根据它们的长项持续改进提升自己。可以利用PHP任意选择操作系统和网络服务器。并且,还能够在编程中任意使用面向过程或者面对对象,甚至二者相互掺和的方法进行编程。而PHP的强大性与最关键的优势所在,就是可以使用更大范围的数据库系统,使用数据库扩展(例如MySQL)、使用PDO等抽象层或通过ODBC扩展连接到支持ODBC标准的数据库来创建支持数据库的网页非常简单。2.2MySQL简介作为一款小型开放关系数据库,MySQL是用两种编程语言所写成的:C和C++。其所采用是完全多线程的内核线程,并同时支持处理器,从而能够迅速地管理大量数据。同时,MySQL还在总体上拥有较小体积、较快速度、开发成本低的优点。尤其是作为开源数据库系统,MySQL作为一款应用型软件是免费的,使用者可以直接下载使用,简捷方便,如此可以减少开发成本,使得许多章宏等小网站公司都选用它作为自己的网络数据库系统。MySQL还是一款与PHP、Java等主流编程语言紧密集成的安全、效率高、可以在多种系统下运行和维护的数据库系统。MySQL数据库可以被认为是具有最快运行速度的SQL语言数据库之一。3系统分析与设计3.1系统需求分析学生在线投票表决系统包括学生用户登录并投票模块,显示统计结果模块,管理员登录后台模块,管理后台模块,防止多次投票模块。学生阅览投票页面后投票,数据库接收投票结果相关数据,再由数据库读取信息,并显示在“投票数据查看”处。管理员登录系统后台后,可以知道最终的投票结果。防止多次投票,一个用户只能投票一次,避免数据不真实现象的发生。学生能够阅读投票内容,并选择自己喜欢并支持的选项进行投票,在投票结果显示页面会明确显示出各选项的得票情况,并以明显的数字和百分比图条的形式显示。管理员能够增加、更改或撤销用户,更改管理员登录密码,增加、更改或撤销投票题目,及时更新投票信息等。3.2可行性分析学生在线投票表决系统属于实用型网站,放置在学校的网站上运行,任何学生均可使用。需要对系统的数据进行处理,比如对投票票数进行统计并会在后台显示,这样就可以确保数据的真实性。本系统可以在已经配置了MySQL数据库的任何操作系统上运行,拥有相对成熟的技术,齐全的硬件设备,系统界面清晰美观,操作简单方便,因此从操作上,经济上和技术上看,本系统的开发是可行的。本系统的操作包括:用户输入学号和密码登录进入投票界面;用户选择自己支持的选项进行投票(可以是多选或单选);学生在线投票表决系统实现的管理功能包括管理员设置不同的投票主题,管理投票内容,查看投票的最终结果,管理用户,修改管理员密码,修改投票日期等。3.3系统功能模块设计本文使用PHP和SQLServer数据库技术进行设计并实现功能模块齐全,软件系统运行方式简单、方便,投票结果及时精确的学生在线投票表决系统,其中包括6个模块:用户登录模块具有学生通过学号和密码进入投票界面的功能;投票模块具有显示投票题目和选项的信息,学生选择支持的选项进行投票的功能;管理后台模块具有管理员登录系统后台管理投票信息的功能,如题目,选项的管理,可以对题目,选项等进行修改删除等操作;显示统计结果模块具有在每次投票结束后,在管理页面显示出最终投票情况的功能;管理员登录模块具有管理员输入特定名字和密码登录后台的功能;防止多次投票模块具有确保学生只投票一次的功能。4数据库设计后台数据库是学生在线投票表决系统不可缺少的重要组成部分,是保证本系统能够有条不紊顺利运行的基础。本系统使用MySQL数据库来存储数据并简单地查询数据,使用的数据库名称为simplevote,为了实现本系统,在simplevote数据库中建立4个数据表。具体情况如下:用户信息表users中存储了系统管理员,投票用户的资料。其中cid栏位存储了ID,属于主键并且自动编号递增,username栏位存储了用户名称,passwd栏位存储了登录密码,admin栏位存储了管理员名称,isvote栏位存储了是否进行了投票。其中只有管理员可以对用户、投票等进行管理,而用户只能进行登录、投票。如图1用户信息表users所示。图1用户信息表users投票题目表votename中存储了投票题目内容信息。其中cid栏位存储了投票题目ID,属于主键并且自动编号递增,question_name栏位存储了投票题目的名称,votetype栏位存储了投票类型(0为单选、1为多选),sunvotenum栏位存储了票数,如图2投票题目表votename所示。图2投票题目表votename投票选项表voteoption中存储了投票选项的具体数据。其中cid栏位存储了投票选项ID,属于主键并且自动编号递增,optionname栏位存储了投票选项信息,votenum栏位存储了该选项已获票数,upid栏位存储了该选项所属投票题目的ID,属于外键,如图3投票选项表voteoption所示。图3投票选项表voteoption投票主题表sysconfig中存储了投票主题的信息。其中cid栏位存储了投票主题ID,属于主键并且自动编号递增,vote_name栏位存储了投票主题名称,dietime栏位存储了投票截止时间,method栏位存储了投票方法,description栏位存储了对投票主题的描述,如图4投票主题表sysconfig所示。图4投票主题表sysconfig5系统详细设计与实现学生在线投票表决系统,按照功能逻辑可以划分为六个模块:用户登录模块,投票模块,管理员登录后台后模块,管理后台模块,显示统计结果模块,防止多次投票模块。具体如下:5.1用户登录模块在用户登录模块中,学生可以将学号和提供的密码,输入在系统登录界面相应区域内,验证无误后,成功登录到投票界面中,即可进行投票操作。在得到输入的信息后,需要检索数据库,通过检查用户信息表users中是否存在此用户,从而达到用户身份验证的目的。登录界面内的信息包括:用户信息(用户名,登录密码,数据类型:varchar,此处隐藏输入密码)。在填写数据完成后,若信息正确并通过认证即可进入投票页面,若信息出错则提示用户名或密码错误。5.2投票模块在投票模块中,用户可以进入投票界面,阅览投票题目,选择自己喜欢并支持的选项进行投票,输入验证码,点击“提交”,数据库增加相应票数。请求投票需要小于1秒的响应时间,数据库修改数据。被选中的投票项以蓝点显示,根据验证码图片输入验证码,点击提交后,若为第一次投票则显示提交成功;若已经提交过一次则提示你已经投过票了;若验证码出错则提示验证码错误;若在截止时间后进行的投票则提示已经过了投票日期;若题目没做完则提示请完善你的选择。投票题目的属性可以设计为多选或单选。投票界面如图5所示。图5投票界面5.3管理员登录后台模块在管理员登录后台模块中,管理员可以输入名字和密码,通过验证进入系统后台界面,在得到输入的信息后,需要检索数据库,通过检查用户信息表users中是否存在此管理员名,从而达到管理员身份验证的目的,反应时间要求在1秒之内。登录界面的信息包括:管理员信息(管理员名称,密码,数据类型:varchar,隐藏输入密码)。在填写数据完成后,若信息正确并通过验证则进入系统管理后台页面,若此信息错误则提示用户名或密码错误。5.4管理后台模块在管理后台模块中,只允许管理员进入,普通用户无法进入到系统后台,属于管理员操作的模块。管理员可以登录进入到系统管理后台,进行权限内的所有操作。包括修改管理员密码,修改投票的主题、题目、选项等,管理用户信息,查看投票数据等。在学生在线投票系统管理后台页面左侧菜单中,管理员通过单击相应的按钮,可以访问各种控制接口,每个接口都连接到一个单独的功能。管理后台图如图6所示。图6管理后台图5.5显示统计结果模块学生投完票后,数据库接收投票数据,增加相应票数并将投票数据输出。在显示统计结果模块中,投票的最终结果会显示在学生在线投票系统后台,管理员登录系统后台后可以在“投票数据查看”功能处阅览投票的最终结果。在投票数据查看页面中,会以数字和进度条百分比的形式显示此次投票的最终结果,每个题目以及其每个选项均显示在此页面中,在每一个选项后面均会显示该选项获得了几票,占比是多少。统计结果图如图7所示。图7统计结果图5.6防止多次投票模块某些用户为了提高某一个投票选项所获票数,极有可能会进行多次投票,这样将无法反映用户最真实的想法。因此,在防止多次投票模块中,为防止一名用户重复投票,影响投票的最终结果以及管理员的判断,设置防止多次投票的功能。一名学生投过票后将不能进行二次投票,无法提交二次投票的内容,数据库也不会接受到二次投票的数据。若一名已经参加过投票的学生再次进入投票界面并提交时,将会显示“你已经投过票”的字样。6系统测试6.1系统测试的环境和过程本系统使用搜狐浏览器,在Windows10下测试使用,系统运行正常,没有出现重大错误。手动模拟正常、异常输入以检测系统是否可以正常运行或什么地方存在错误。为了检测出系统的不足并加以修改,是系统更完善,需要将数据库中存在的不实用数据去除,录入大量有效数据,用正确和错误的信息进行反复测试,观察本系统能否正常运行,页面是否清晰美观;以学生用户的身份是否能够完成登录操作,是否能够实现权限内的所有操作,是否可以正常投票;以管理员的身份是否可以成功登录,进入后台后各项功能是否可以正常运行,然后对结果进行总结、分析。6.2系统测试结果学生在线投票表决系统运行正常,且界面清晰美观,与预期结果一致,基本实现了系统的功能;学生用户输入正确学号和密码,能够成功登录到系统投票界面,并且按照步骤操作,可以进行正常投票;管理员输入正确信息,能够成功进入系统管理后台,实现权限内管理信息的所有操作,如更改投票信息,管理用户等。投票数据查看窗口的投票信息正确显示,清晰明了,查看方便,并且不存在乱码。7总结本文重点介绍了使用PHP脚本和SQLSever技术对学生在线投票表决系统的设计与实现,详细地介绍了学生怎样在线进行投票操作,怎样在线防止学生重复进行投票,管理员怎样管理投票相关信息等。学生在线投票系统由具体明确的用户登录模块、投票模块、管理员登录后台模块、管理后台模块、显示统计结果模块和防止多次投票模块六大模块组成,系统整体架构清晰合理,各步骤的实现也简洁方便,很好地解决了收集学生意见等信息时耗费时间、效率低的问题。但是系统仍然存在着一些不足之处,系统的功能还不够全面,例如:普通用户投票结束后无法查看最终的投票结果,投票统计结果没有进一步的分析报告等,后期也会对其进行修改优化。作为一个实用可靠、功能多样的网站模块,学生在线投票系统也将获得越来越广泛的应用。参考文献[1]万早德.基于PHP的在线投票系统设计与实现[J].科教导刊:电子版,2020(06):263-263.[2]杨成义,林煌,李楚贞.基于ASP.NET的在线投票系统的设计与实现[J].信息与电脑(理论版),2019,(11):106-107.[3]林慧.MySQL在PHP动态网页设计中的应用[J].电子技术与软件工程,2021,(06):141-143.[4]陈仕许.MySQL数据库在PHP网页中的动态应用研究[J].信息记录材料,2021,2(09):112-113.[5]戴智彬,鄞志庭.互联网投票系统在小区自治中的应用研究[J
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 青岛2024年09版小学五年级英语第三单元期末试卷
- 强乡村医生队伍建设的几点建议
- 2023年非离子表面活性剂资金需求报告
- 第一学期数学教学工作计划(35篇)
- 母亲节致员工慰问信(5篇)
- 机动车辆典当借款合同(4篇)
- 营业执照出售合同(3篇)
- 我与地坛读书心得感受(33篇)
- 阅读兴奋主题演讲稿(汇编三篇)
- 《技术与设计的关系》教学设计
- 坚持总体国家安全观走中国特色强军之路模板课件
- 矿井火灾防治安全技术措施
- 大一新生的学业规划书(6篇)
- 腾讯秘书职业发展规划书
- 线缆敷设隐蔽验收记录
- 0-高压蒸汽管线焊缝返修施工方案
- 一年级上册道德与法治课件-10吃饭有讲究-人教(新版) (2)(共24张PPT)
- GB/T 16571-1996文物系统博物馆安全防范工程设计规范
- GB/T 11618.1-2008铜管接头第1部分:钎焊式管件
- GB/T 10855-2003齿形链和链轮
- 骨盆-教学讲解课件
评论
0/150
提交评论