




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要本文重要研究试题库技术、Web技术、数据库技术,摸索将这三种技术有机结合,实现基于Web题库系统。该系统可以和学校校园网或其他基于Web应用结合在一起,满足教师出题、学生在线做题和考试需要。本文对题库系统背景、概念、理论和技术进行了概述,比较分析了其她各种试题库系统,并在此基本上提出了通用性、网络化新特点,从而实现了此试题库管理系统。研究了客户机/服务器模式、数据库系统、PHP等有关理论和技术,给出了一种基于Web题库系统实现方案。系统采用B/S模式,顾客采用浏览器与系统实现交互。应用层由Web服务器和数据库构成。系统采用PHP作为重要开发语言,可实现试题录入,考卷自动生成、学生在线考试等功能。该系统由题库管理系统和在线考试子系统两某些构成。核心词B/S构造;题库系统;自动组卷AbstractThisdocumentisabouttoresearchexaminationquestiondatabasetechnology,webtechnology,databasetechnologyandexplorethecombinationofthesethreekindsoftechnologytoachieveweb-baseexaminationdatabasesystem.Thesystemisabletointegratewiththecampusnetworkorotherweb-baseapplicationtomeettherequirementofmakeexaminationquestionsbyteachersandthestudentsonlineself-test.Thispapersummarizestheexaminationquestiondatabasesystem’sbackground,concept,theoryandtechnology,comparativelyanalysestheexistingexaminationquestiondatabasesystem,andbasedonthisproposesthenewgeneralandnetworkcharacteristic,thusimplementsthesystem.Itmakesresearchaboutclient/servermodel,databasesystem,PHPandotherrelatetheoriesandtechnologies,givesaproposaltofulfillweb-baseexaminationquestiondatabasesystem.ThissystemadoptsB/Smode,andtheuseraccessesthesystemthroughabrowser.Theapplicationlayeriscomposedofwebserveranddatabase.SystemusersPHPasthemainprogramlanguage,anditcanfulfillthefunctionalityofonlinequestioninput,automaticgenerationofthetestpapers,onlineexaminationetc.Thissystemiscomposedoftwoparts:questiondatabasemanagementsubsystemandonlinetestsubsystem.Keywords:B/Sstructure;examinationquestiondatabasesystem;automatictestpapercombinationKeyWords:B/Sstructure;examinationquestiondatabasesystem;automatictestpapercombination
目录中文摘要 1Abstract 2目录 3第一章引言 51.1研究背景及意义 51.2研究现状及趋势 71.3论文构造 9第二章系统分析 92.1可行性分析 92.1.1技术分析 92.1.2应用分析 92.2系统需求分析 102.2.1功能需求 102.2.2顾客需求 102.2.3性能需求 102.3本章总结 11第三章系统总体设计 113.1系统功能模块设计 113.1.1后台管理系统 113.1.2前台子系统 123.2系统运营模式 133.2.1MVC架构特性 143.2.2题库系统构造 153.3系统数据库设计 153.3.1数据库需求分析 153.3.2数据库安全 163.3本章总结 16第四章系统详细设计 164.1开发环境和开发工具 164.1.1开发环境搭建 17安装MySQL 17安装Apache 17安装PHP 18安装CodeIgniter 184.1.2重要开发工具 194.2系统数据库表构造设计 194.3系统重要模块设计 234.3.1系统前端实现 23首页 23顾客注册与登陆 23在线考试 26资料上传与下载 274.3.2系统后端实现 29后端首页实现 29登入登出 30试题管理 31试卷管理 33考卷管理 36上传管理 38科目管理和知识点管理 39顾客和顾客组管理 414.4本章总结 43第五章系统测试 445.1系统特色 445.2系统测试 445.2.1系统测试工具 445.2.2系统测试筹划 445.2.3测试用例 45登陆模块测试 45试题管理测试 45试卷管理测试 45在线考试测试 455.2.4测试总结 465.3本章总结 46第六章结束语 46致谢 48第一章引言1.1研究背景及意义在学校教学工作中,考试是其中重要构成某些。通过考试,教师可以理解学生学习状况,并借此理解教学效果,改进教学办法,提高教学质量;学生则可以通过考试理解自己对内容掌握状况,有目进行学习。同步,考试也是衡量人能力重要手段,选拔人才重要原则。现阶段,学校与社会上各种考试大都采用老式考试方式,在此方式下,组织一次考试至少要通过人工出卷、文印试卷、考试安排、学生考试、收集试卷、人工阅卷、成绩评估和分析试卷等一系列环节.。显然,随着各种考试类型不断增长和考试规定不断提高,学校教师们工作量也将越来越大;并且,当考生数量比较大时,其阅卷工作及对考生考试成绩进行记录工作也将是一件十分琐碎并且容易出错事情。对于组卷办法,当前教师大多沿用老式方式,即经验型手工命题方式进行命题,供命题教师选取试题“资料库"是某些参照书和习题集,试题取舍取决于命题者对教学内容,教学目的理解和对学生学习水平预计,命题过程以教学经验为参照系,因而主观结识上局限性、随意性难以避免。可以说,老式考试方式己经不能适应当代考试需要。同步,当代社会信息爆炸,知识更新速度日益加快,旧知识传播途径已经满足不了人们需求,这就迫切需要一种全新知识传播方式。随着计算机技术、网络通信技术和多媒体技术飞速发展和广泛普及,为人们提供了一种巨大资源共享空间。人们越来越依托计算机网络作为彼此合伙、交流重要渠道。因而,随着计算机及其网络技术飞速发展和社会信息化水平不断提高,计算机网络技术在教诲测量和评价过程中得到了广泛应用。特别是计算机辅助评价(ComputerAssistantAssessment,简称CAA)应用,不但带来课程教学内容、教学办法、教学手段变化,并且引起了课程评价内容、评价办法和形式以及评价手段深刻变革。计算机考试及网上考试系统得到了广泛应用和发展,各种考试系统应势产生,在教学质量监控中发挥着越来越重要作用。当前,全球大多数大学都拥有自己网站,其中许多学校推出了网络教诲课程。欧美国家网络教诲走在世界前列,具备相称规模。在国内,教诲部提出实行“当代远程教诲工程”,形成开放式教诲网络,构建终身学习体系。网络教诲发展战略因而己成为一种有待探讨重大课题。清华大学、北京邮电大学、浙江大学等高等院校进行了当代远程教诲试点。如今,这些试点学校初步摸索出网络教诲办学模式,开发了一批网上课程和教诲资源,初步形成了校内基于校园网多媒体教诲与校外远程教学互相融合办学格局。近年来,人们始终在研究和改进如何运用高新技术,客观、精确地评估人知识和能力水平。随着虚拟大学蓬勃兴起,人们也迫切规定运用既有资源来创立题库并进行在线考试,以减轻教师工作承担及提高工作效率,与此同步也提高了考试质量,从而使考试更趋于公证和客观,增长了学生模仿练习机会,激发了学生学习兴趣。Internet技术发展使得考试技术手段和载体发生了划时代变化,计算机技术、网络技术和考试理论日渐成熟,使考试从老式纸笔考试到计算机辅助考试再发展到基于Web在线考试成为现实。Internet开放性、分布性特点和基于Internet巨大计算能力使得考试突破了时间和空间限制。任何人都可以随时随处开始一场考试,检查自己知识和水平。固然在比较正式考试中,还是需要进行严格组织,但比较老式考试,其形式可以更加灵活多样。此外,运用在线题库系统可以实现更高档考试功能,更好地达到考试目。例如自适应考试、多媒休考试等,都可以在远程考试系统中实现。本课题重要目的是设计并实现一种基于Web在线题库系统,为本学院教学考试提供服务,但愿能在有关考试中发挥高效、便捷作用,从而减轻教师工作量。同步也为解决远程教诲中远程考试问题提供参照。从以便性、安全性、通用性、可扩展性及高效率等多方面入手,克服老式网上考试系统局限性,提高软件系统工程质量。系统采用B/S构造,应用程序和数据库之问接口采用了PHP技术,通过PHP提供MySQL扩展互连。系统具备完善考试与管理功能,系统运营环境可以是Internet,也可以是校园网教室,系统扩展可以应用于考试,也可用于学生寻常在线自测练习等方面,对学生应考级别考试复习有较好实践指引意义。1.2研究现状及趋势当前类似题库系统或考试系统有两类:一类是基于局域网网络系统,一类是基于Web网络系统。基于局域网网络系统通惯用于比较正式考试,如计算机级别考试、职业技能考试、行业考试等;基于Web网络系统通惯用于考生自测或网络教学系统。计算机辅助考试在美国诞生,历经近年,已经在国外得到了广泛应用。国外有许多专门考试机构采用计算机辅助测试对参加考核对象进行评价。当前,经济发达国家己经建立了完善考试专业机构。各机构也都依照自己所承担职能,建立起了大型题库。如“律师资格考试”,“GRE考试",以及计算机方面“CiSCO职业资格认证”、“Microsoft职业资格认证”、“计算机级别考试"等。在英国已经实现了英语资格考试网上学习和水平认证全过程。在某些国家,试题库系统已应用于每一种教学阶段,在某些大学、中学校园里,考试、作业、远程教诲多方面应用,为各级人才培养提供了一种良好平台,收到了较好效果。国内在恢复高考制度后来,随着高考原则化实行,特别是计算机技术应用迅速发展,为题库建设提供了基本条件。80年代后期,浮现了多所学校或行机构联合开发试题库局面,同步,也浮现了许多其他学科试题库。90年代,政府部门在全国范畴内有筹划、有组织、系统地开展CAI教学与国家试题库建设。但由于种种因素,当前适合网络环境下通用型试题库系统却不多。因此,为了提高考试质量和增进教学水平提高,实现教考分离,开发基于Web平台题库系统具备非常重要韵意义。国内政府非常注重当代远程教诲工作,在全国教诲考试科研工作“十五”规划中,明确规定教诲考试科研工作要在教诲评价体系中发挥重要作用,在考试研究领域创造出与国内教诲事业蓬勃发展相适应成果,以全面提高教诲考试质量,为改革和完善教诲考试制度工作服务。北京师范大学当代教诲技术研究所何克抗、余胜泉研究开发成功基于Web通用题库系统。它具备老式单机考试系统不具备某些特点:集中管理,共享使用。为了保持题库高质量,题库由统一权威机构来进行维护和管理。开放使用,广泛征集试题和测试样本。顾客只要通过浏览器连接网络,便可以使用题库涉及提交试题,参加测试等。该系统提供:远程考试组卷、远程考试、阅卷、记录与分析以及题库管理功能。全美测评软件系统有限公司(ATA)是一家提供考试技术和考试内容服务专业公司,ATA针对中小学信息技术课程定制校园智能化测试平台一一E考通,支持广域网和局域网操作,考生可以进行网上互动练习、课外作业和提问;教师可以进行网上指引、网上批改作业b1。当前大多数考试系统系统构造比较流行是C/S构造和B/S构造。C/S构造:即C1ient/Server(客户机/服务器)构造,它通过将任务合理分派到C1ient端和Server端,减少了系统通讯开销。但随着Internet不断普及和应用迅速升级,c/s应用感到有些力不从心。这种构造考试系统规定在服务器和客户端单机上都安装考试应用软件,客户端软件具备考题显示,考试计时及与服务器通信联系等功能。服务器端软件则负责维护题库、抽取试题及考后阅卷、成绩收取、记录、汇总等工作。考生在单机上参加考试,考试成果被系统收集到服务器中指定目录下。此外,基于Web在线考试系统除了可以进行远程考试,还被广泛应用于校园网内学生自学与考核。通过对题库大量题目练习,可以提高学生学习和应试能力。它不受时间和空间限制,学生可以在任何闲暇时间进行练习和自我考查。学生课外学习以便并且不需金钱投入;教师可以布置在线作业,学生完毕作业后即时上交,大大减轻工作量。并且可以运用基于Web考试系统既有环境实现教与学互动,使教师和学生能即时沟通和交流,互相增进。因而,这也是对有限教诲资源高效共享。在线考试系统是计算机辅助教学一种有利工具,也是一种很有前程教诲辅助办法。1.3论文构造本系统采用B/S构造模型,挣脱了c/s模型对客户端依赖;采用三层构造设计,增强了系统可重用性和可移植性,便于日后维护和扩展。旨在为教师提供一种管理平台,对题库进行科学、高效、灵活管理,支持多样化试题,实现多科目试题存储;提供试题和试卷共享使用。其重要功能涉及:辅助教师组织试卷;容许学生在线考试和自我测评;为管理员提供基于Web模式远程管理和有图形顾客界面本地维护。论文共分五章,其重要内容分别为:绪论,系统分析,系统总体设计,系统详细设计,系统测试。第二章系统分析2.1可行性分析2.1.1技术分析随着网络技术和计算机技术发展迅猛,有着各种硬件、开发工具和数据库作为技术支撑,使技术可行性大为增强。题库存贮量大和解决速度慢等因素已不再是重要考虑问题。运用当前流行网络编程技术和开发经验,以及有关各种开发软件应用,就可以开发出该题库系统。本系统重要以LAMP为开发平台,MySQL为后台数据库,采用B/S模式,通过PHP提供MySQL扩展存取数据库数据。本系统开发是一种B/S(浏览器/服务器)模式网络题库系统,其特色就是使顾客定义操作过程。“即传即用"、“即出即和”、“即选即用”。其实现流程如下:顾客可通过ApacheWeb服务器,祈求调用.php页面,执行相应脚本,执行成果产生动态生成HTML页面并返回浏览器;顾客通过浏览器对HTML页面进行相应操作祈求(如考试试卷)返回浏览器,供顾客使用。软件安装只在服务器端进行,客户端实现了“零"安装;所有系统管理升级只在服务器进行,各客户端无需任何变化。2.1.2应用分析随着计算机和网络普及化,为网络化题库系统提供了良好实行环境和设备,教师和学生对该系统使用不受时空限制。在本系统中,界面操作都是基于Web界面,通过系统构造设计、表设计及前端开发,构建网络题库系统。通过浏览器访问,提供顾客登陆,试题库录入、维护,试卷生成,实时考试,自动阅卷,成绩查询等服务。对题库管理与在线考试等操作实现更加以便和高效。本系统建成后,可以加强在校教师教学效果和提高工作效率。在平时教学过程中使用,使学生可以在此系统平台上进行学习、训练、考试。为避免相领考生互相抄袭,保证了每个考生试卷各不相似;为避免重复抽题,每个考生只能抽取一份试卷;可进行在线评分;试卷随机生成;由于试题、考生身份、考生成绩等机密信息都存储在数据库中,一旦数据库遭到破坏或者非法入侵,都就会导致无法挽回损失,因而本系统保证了数据库安全性。2.2系统需求分析为了明确顾客规定和应用现场环境特点,理解系统应具备哪些功能、数据流程和数据之间联系,本系统在开发迈进行了较详细系统需求分析。本系统应用规定有两个方面:一方面是教师可以进行试题录入、编辑,试卷配备、生成,以及对题库管理,另一方面该系统可以基于不同知识点和难度进行组卷,并对考卷进行自动评分。2.2.1功能需求本系统是为教师提供一种管理平台,对题库进行科学、高效、灵活管理,支持多样化及多科目试题存储;提供试题和试卷共享使用;为考生提供一种学习、训练、考试平台。系统重要实现如下功能:1.题库管理:试题增长、删除、修改:试题批量导出、导入;题目类型设立等。2.试卷管理:组卷,试卷添加和编辑、删除。3.权限角色与顾客注册管理:系统管理员、教师、考生三种角色。系统管理员负责管理控制整个站点,负责对教师、考生等角色进行授权:教师负责试题收集和管理、管理试卷、维护试卷、单科题库录入和编辑;考生可进行考试、自测、成绩查询。4.安全机制:数据备份,权限管理等。5.成绩管理:自动评分等。2.2.2顾客需求1.顾客解决规定:系统管理员可以对所有教师、考生进行管理,并享有所有后台管理功能。教师能对题库执行增长、删除和修改操作;考试科目增长、删除和修改操作;由教师设立考试信息,在考试时,系统将依照考试信息设立对每个考生自动生成试卷;教师可设立考试信息,系统控制考试时间、防刷新、考试成绩自动生成等。2.对系统适应性、通用性规定:规定系统可以不受课程设立变化影响。通用性方面,不但可以进行计算机基本课程考试,并且在稍作设立或改动后,其她学科也能使用本系统进行在线考试。3.对系统安全性规定:规定进入系统必要进行口令校验。2.2.3性能需求系统具备良好扩充性;系统具备先进性、实用性,是在实用基本上先进性;系统具备良好顾客界面,操作以便,尽量减少误操作率;系统具备良好安全保密机制、防止顾客非法入侵系统提供三种顾客登录身份:系统管理员、教师、考生,不同身份登录后可以访问资源和对资源访问权限都完全不同。2.3本章总结本章从可行性分析和系统需求分析两个方面对系统进行分析,为随后系统总体设计做好了准备。第三章系统总体设计3.1系统功能模块设计本基于Web题库系统是基于B/S三层构造开发,为了保证合法顾客帐号安全性,系统提供了修改个人信息功能,管理员和教师可以通过这项功能,及时修改自己登录密码,保证自己帐号不被其她人盗用。题库系统如果只是对试题进行管理,那样话意义就不是很大,因而本人加了一项功能即在线考试。考试是有特定对象,因此考生进入系统应当进行身份验证。考生进入考试系统后,需要选取相应考试科目,因此系统尚有考试科目选取功能。鉴于考试环境普通为机房,考试者之间距离很近,为了避免考试做弊,试卷试题和题量虽然是相似,但卷面并不相似。在线考试基于网络环境,试卷是从服务器数据库随机抽取试题后动态生成。此外,考试是有时间限制,系统还对考试时间进行控制,结束时间到了便逼迫考生交卷。考生交卷后,由计算机自动判卷,得到成绩后显示出来。考试结束后,考生可以不久地查询到自己成绩,以以便其有目地加强某方面训练。本系统从功能上可以分为:前台顾客系统和后台管理系统两某些。基于Web题库系统基于Web题库系统前台顾客系统后台管理系统前台顾客系统后台管理系统图3-1题库系统两大子系统后台管理系统重要是面对教师和管理员,而前台顾客系统重要面对考生。每个子系统又包括若干个功能模块。下面将对每个子系统各功能模块详细功能进行分析和阐述。3.1.1后台管理系统其功能构造如图3-2所示:后台管理系统后台管理系统主控面板主控面板上传管理试卷管理考卷管理科目管理试题管理成绩管理顾客组管理顾客管理上传管理试卷管理考卷管理科目管理试题管理成绩管理顾客组管理顾客管理图3-2后台管理系统功能构造图1.主控模块:提供主界面和与其她模块设立相应入口参数。2.顾客管理模块:该模块具备对登录题库管理子系统顾客进行增长、删除、顾客所属顾客组、顾客密码修改等功能。3.顾客组管理模块:该模块重要用于对系统顾客顾客组信息进行增长、删除、以及权限设立等操作。4.成绩管理模块:本子模块由教师通过Web方式访问,对于试卷评分,系统会自动完毕客观题评分,主观题评分由后台管理员完毕,然后由系统记录出总分,这样也避免浮现人为因素统分错误。5.试题管理模块:该模块用于试题管理,可以对试题进行录入、查找、删除和修改等操作。题库信息有效组织是开发考试系统前提。6.科目管理模块:该模块用于对试题所属科目进行添加,删除等操作。由于科目是个共同属性,有各种模块与它有联系,因此本系统中,把科目独立出来,作为一种项目进行管理。7.考卷管理模块:该模块中可以依照试卷配备信息动态生成一份考卷,并可对已有考卷信息进行管理。8.试卷管理模块:该模块可以尽心配备试卷操作,并可对已有试卷配备信息进行编辑、浏览、查询、删除等管理。9.上传管理模块:该模块可以上传文献格式试卷,并可对已上传文献进行浏览、删除等操作。3.1.2前台子系统其功能构造如图3-3所示:前台首页前台首页资料分享分数查询在线考试顾客登陆在线做题顾客注册资料分享分数查询在线考试顾客登陆在线做题顾客注册图3-3前台顾客系统构造图1.顾客注册模块:顾客选取注册并输入有关顾客资料完毕注册。2.顾客登录模块:从顾客资料数据库中提取顾客有关资料进行认证,如果为合法顾客,提示顾客登陆成功,否则提示登陆失败并跳转回登陆页面。3.在线考试子模块:考试子模块是本系统重要某些。从理论上讲,考试可以在任何时候、任何地点进行,但在实际操作中,为了以便考场组织和管理,本系统对考试时间作了严格限制。在顾客选取进行考试时,系统一方面判断当前时间与否为考试规定期间,由于判断时间是服务器端时间,跟考试客户端计算机时间无关,因此虽然考生修改本地计算机时间,也不会影响管理员规定考试时间。如果时间符合规定,便会显示试卷页面;否则,提示考试尚未开始。同步在页面上动态地显示考试所剩时间,当考试时间到或考生点击“交卷"按钮时,系统便会把考生答案传送至服务器数据库中保存起来。当考生做题时间达到考试规定期间时,系统会自动提交试卷。此外,考生可以在试卷有效时间范畴内进行定制试卷测试,考生可以点击交卷按钮提前交卷,也可等到考试时间结束时系统自动收卷。4.在线做题子模块:顾客可以选取自己感兴趣科目,系统会列出该科目试题列表,顾客点击题目边可竟如到单道试题做题页面,顾客提交完答案就可以看到成果。5.成绩查询子模块:为了能让顾客及时、以便地理解考试成绩,查询子模块也采用Web方式实现。考生在合法登录后,在有关Web页就会显示其相应考试科目成绩信息,让考生从整体上理解自己该学科学习状况。6.资料分享子模块:顾客可如下载其她顾客上传试卷资料,并可以上传资料到系统与其她顾客分享。3.2系统运营模式从信息系统运营模式发展看,信息系统运营模式重要有三种:主机/终端(M/T)模式、客户/服务器(C/S)模式、浏览器服务器(B/S)模式。其中B/S模式是当前在Internet/Intranet网络平台上最流行运营模式。B/S模式由浏览器和网络服务器构成,通过网络连接,其构造如图3-4所示。它和C/S模式有许多相似之处,但浏览器是通用顾客界面,不需在浏览器端安装顾客应用程序,服务器负责提供顾客需要信息,但要访问网络数据库中信息还需要进行某种扩展。图3-4B/S模式典型构造图信息系统采用此种模式可以使数据解决、内部信息(Intranet)浏览和外部信息(Internet)浏览界面完全一致,以便顾客使用;同步,由于浏览器端不安装顾客应用程序,可大大减少运营维护费用。3.2.1MVC架构特性本系统整个软件架构采用是MVC架构模式。MVC(Model-View-Controller)架构是软件工程中一种架构模式,把软件系统分为三个基本某些:模型(Model)、视图(View)和控制器(Controller)。软件系统通过对自身基本部份分离同步也赋予了各个基本某些应有功能。模型(Model):模型用于封装与应用程序业务逻辑有关数据以及对数据解决办法。模型有对数据直接访问权利,例如对数据库访问。模型不依赖视图和控制器,也就是说,模型不关怀它如何显示或是如何操作。视图(View):视图层可以数据有目显示。在视图中普通没有程序上逻辑。控制器(Controller):控制器起到了不同层面组织作用,用于控制应用程序流程。它介于模型和视图之间。MVC构造模式如图3-5所示:图3-5MVC架构模式图3.2.2题库系统构造由于题库系统使用环境普通是校园网,同步题库系统具备保密性规定高特点;因此在研究基于Web试题库系统中,采用了Web技术基本模式即B/S(浏览器服务器)模式,采用PHP为数据库中间件,采用MySQL为后台数据库,形成了Internet三层体系构造构,本系统三层应用系统构造如图3-6所示:图3-6系统构造图3.3系统数据库设计基于Web题库系统核心技术之一是Web数据库技术。Internet是推动Web数据库应用重要因素,近几年,Web技术应用是数据库管理系统重要发展方向。Web数据库技术采用三层或多层体系构造,前端采用基于瘦客户机浏览器技术,通过Web服务器及中间件访问数据库。其体系构造如图3-7所示:图3-7Web数据库体系构造3.3.1数据库需求分析数据库设计是整个管理系统重要构成某些,直接影响到系统是实现。现将数据库系统中核心数据库和表设计予以阐述。科目信息表:重要存储科目信息,如科目名称,管理密码,所属类别等等。分类信息表:重要存储分类信息,如可按系别分类,可按知识点分类等等,分类办法是自定义。3.3.2数据库安全系统所有关于课程、试题、顾客等最有价值信息都存储于数据库中,一旦数据泄漏或丢失后果不堪设想,因而数据库安全性设计是整个系统安全性设计重中之重。本系统采用安全性较强MySQL数据库系统,并采用如下安全办法:1.及时更新补丁程序:与操作系统同样,MySQL补丁程序可以弥补安全漏洞,因而应及时更新。2.修改root具备对MySQL数据库操作所有权限,极易受到袭击。因而一定要选中“强制实行密码方略”,重设root密码,最佳把root这个登录名修改为其他名称。3.数据库定期备份:数据库备份是最主线、最安全办法。数据库备份有完整备份和差别备份两种类型,本研究采用定期完整备份方式,以保证在发生意外状况时可以恢复数据库,把损失降到最低。此外,本文数据库安全还从如下两个方面保证程序运营安全可靠:一是作为后端数据库管理系统自身所能提供安全性能;二是前端应用程序也要提供安全性管理。前端应用程序安全性管理涉及如下内容:一方面是提供顾客认证系统管理,控制顾客使用数据库对象管理。设立具备一定权限顾客,才干使用相应数据库对象。本系统有三种类型顾客:教师、管理员和考生,不同类型顾客访问数据库权限不同。系统管理员具备增、删、改等各种权限。教师可以对数据库进行浏览和增长试题等操作,以及对单科题库管理。并且同一类型顾客在访问不同对象时设立不同样访问权限。如:对于教师信息表中教师顾客,教师可按照分级授权进行控制。教师可以跨学科浏览和检索题库所有试题;教师新增题目,要通过审核才可成为正式考试题;教师只可以修改出题人为自己试题,可删除当天自己出试题,只可以逻辑删除出题人为自己试题。另一方面,设立数据库管理对数据库信息进行备份。数据库备份就是制作数据库构造和数据拷贝,拷贝所有对象、系统表和数据。在数据库遭到破坏时可以恢复数据库。3.3本章总结本章重要对系统总体设计进行陈述,为开发题库管理系统详细设计奠定了基本。第四章系统详细设计4.1开发环境和开发工具本项目采用了当前流行LAMP(Linux+Apache+MySQL+PHP)架构作为重要开发环境。它有四个组件构成,每个组件都是都是相对独立但又是整个架构必不可少一某些。系统同步采用了CodeIgniter作为整个项目开发框架。Linux:Linux处在整个架构最底层,其他每个组件都是在Linux之上运营。但是,并不是一定局限于Linux,如果必要,其她组件在Windows、MacOS和UNIX同样可以运营。Apache:Apache是一种开源Web服务器,它提供了可让顾客获得Web页面机制。Apache是一款稳定、支持核心任务服务器,Internet上超过65%网站都在使用它作为Web服务器。PHP组件事实上是在Apache中,动态页面可以通过Apache和PHP创立。MySQL:MySQL提供了LAMP机构数据存储端。有了MySQL,便可以获得一种非常强大、适合运营大型复杂站点数据库。在Web应用程序中,所有数据、产品、帐户和其他类型数据都存储在数据库中,通过SQL语言可以很容易查询、修改、删除这些性息。PHP:PHP是一门简朴有效编程语言,它像是粘合剂,可以将LAMP系统所有其他组件粘合在一起,您可以使用PHP编写能访问MySQL数据库中数据和Linux提供某些特性动态内容。CodeIgniter:CodeIgniter是一套给PHP开发者使用应用程序开发框架和工具包。它提供一套丰富原则库以及简朴接口和逻辑构造,采用了MVC逻辑构造,是开发人员可以更迅速进行项目开发。4.1.1开发环境搭建安装MySQL一方面去MySQL官方网站()下载安装包到/usr/local/src目录下。然后在终端输入一下命令:>cd/usr/local/src>tar–zxvfmysql-6.0.0-alpha.tar.gz>cdmysql-6.0.0-alpha>./configure–prefix=/usr/local/mysql>make&&makeinstall>cpsupport-files/f/etc/f>cd/usr/local/mysql>chown–Rmysql>chgrp–Rmysql>bin/mysql_install_db–user=mysql>bin/mysql_safe–user=mysql&到这里mysql就安装完毕了。安装Apache一方面去Apache官方网站()下载Apache安装包程序到/usr/local/src目录中。然后在终端键入一下命令:>cd/usr/local/src>tar–zxvfhttpd-2.2.4.tar.gz>cdhttpd-2.2.4>./configure–prefix=/usr/local/apache--with-mysql=/usr/local/mysql--enable-module=so–enable-share=max>make&&makeinstall安装PHP一方面去PHP官方网站主页(/downloads.php)下载安装包到/usr/local/src目录下,然后在终端键入一下命令:>cd/usr/local/src>tar–zxvfphp-5.3.6.tar.gz./configure–prefix=/usr/local/php–with-mysql=/usr/local/mysql–with-apxs2=/usr/local/apache/bin/apxs>make&&makeinstall>cpphp.ini-dist/usr/local/lib/php.ini安装CodeIgniterCodeIgniter是为PHP开发人员提供一种轻量级迅速开发框架。采用了典型MVC架构。其程序执行流程如图4-1所示:图4-1CodeIgniter程序执行流程图index.php作为前端控制器,初始化运营CodeIgniter所需要基本资源。Router检查HTTP祈求,以拟定谁来解决祈求。如果缓存(Cache)文献存在,它将绕过普通系统执行顺序,被直接发送给浏览器。安全(Security)。应用程序控制器(ApplicationController)装载之前,HTTP祈求和任何顾客提交数据将被过滤。控制器(Controller)装载模型、核心库、辅助函数,以及任何解决特定祈求所需其他资源。最后视图(View)渲染发送到Web浏览器中内容。如果启动缓存(Caching),视图一方面被缓存,因此将可用于后来祈求。CodeIgniter安装分为一下四个环节:解压缩安装包。把CodeIgniter文献夹和里面文献上传到你服务器。普通index.ph在根目录。用任何文本编辑器打开application/config/config.php去设立你网站根URL。如果你打算使用加密或Session,请设立你加密密钥。如果你打算使用数据库,用任何文本编辑器打开application/config/database.php去设立你数据库参数。4.1.2重要开发工具项目重要用到开发工具备vim、Firefox、Firebug和phpMyAdmin。其中vim是从vi发展出来文本编辑器,具备代码补全、语法高亮显示、编译及错误跳转等许多以便编程功能,是Linux下使用最广泛编辑器之一。Firefox(中文名火狐)是一款使用广泛浏览器,它提供了许多以便编程和调试扩展,涉及Firebug、HttpWatch等许多使用以便扩展。Firebug是一种Firefox扩展,它提供了对涉及html页面、CSS样式表、Javascript脚本和http祈求响应信息调试,是快发Web应用必不可少工具之一。phpMyAdmin是一款基于phpMySQL数据库管理软件,它提供了对数据库图形操作界面,在本系统中重要用于MySQL数据库管理。4.2系统数据库表构造设计数据库包具有试题表、顾客信息表、顾客组信息表、试卷表、考卷表、答卷表、资料表、知识点表。顾客信息表构造如表4-1所示:字段名类型备注uidint(11),unsigned,notnull顾客id主键usernamevarchar(20),notnull顾客名passwordvarchar(40),notnull顾客密码emailvarchar(60),notnull顾客邮箱u_namevarchar(20),notnull顾客真是姓名u_cardidvarchar(30),notnull身份证号码groupint(10),unsigned,notnull顾客组authtinyint(1),unsigned,notnull认证顾客表4-1顾客(user)信息表顾客信息表重要用于存储题库系统顾客信息,依照顾客角色不同分为普通顾客管理员顾客等,不同角色通过顾客所属顾客组不同进行区别。创立顾客信息表SQL语句为:CREATETABLE`user`(`uid`INT(11)UNSIGNEDNOTNULLAUTO_INCREMENT,`username`VARCHAR(20)NOTNULLDEFAULT'’,`password`VARCHAR(40)NOTNULLDEFAULT'',`email`VARCHAR(60)NOTNULLDEFAULT'',`u_name`VARCHAR(20)NOTNULLDEFAULT'’,`u_cardid`VARCHAR(30)NOTNULLDEFAULT'',`group`INT(10)UNSIGNEDNOTNULLDEFAULT'0',`auth`TINYINT(1)UNSIGNEDNOTNULLDEFAULT'0',`regtime`INT(11)UNSIGNEDNOTNULLDEFAULT'0',PRIMARYKEY(`uid`),UNIQUEKEY`username`(`username`))ENGINE=MYISAMAUTO_INCREMENT=12DEFAULTCHARSET=utf8。顾客组信息表如表4-2所示:字段名类型备注pidint(11),unsigned,notnull顾客组id主键namevarchar(20),notnull顾客组名rightstext,notnull顾客组权限表4-2顾客组(usergroup)信息表顾客组表包括了顾客组id、顾客组名字以及该顾客在所具备权限,顾客组有三种权限属性:超级管理员权限、题目管理权限、普通管理员权限。同一种顾客组可以拥有不同权限,各种权限可以同步拥有。创立顾客组表SQL语句为:CREATETABLE`usergroup`(`pid`smallint(5)NOTNULLauto_increment,`name`varchar(50)NOTNULLdefault'',`rights`textNOTNULLCOMMENT'权限',PRIMARYKEY(`pid`))ENGINE=MyISAMAUTO_INCREMENT=6DEFAULTCHARSET=utf8。题目表构造如表4-3所示:字段名类型备注idint(11),unsigned,notnull题目id主键titletext,notnull题干typesmallint(6),notnull题型xuanxiangtext,notnull选项daantext,notnull答案jiedatext,notnull解答fensmallint(6),notnull答对得分kfsmallint(6),notnull答错扣分unusedtinyint(1),notnull使用标志authorint(11),notnull题目作者levelsmallint(6),notnull难度tagvarchar(255),notnull标签categoryint(4),unsigned,notnull所属科目knowledgeint(11),unsigned,notnull涉及知识点timeint(11),unsigned,notnull添加时间orderkeyint(11),notnull排序值表4-3题目(question)信息表题目性息保包具有单个题目所有核心信息,这些信息涉及题干、题目类型、题目答案、题目解答、题目分值以及题目难度等相信息。创立题目表SQL语句为:CREATETABLE`question`(`id`int(11)unsignedNOTNULLauto_increment,`title`textNOTNULL,`type`smallint(6)NOTNULLdefault'0',`xuanxiang`textNOTNULL,`daan`textNOTNULL,`jieda`textNOTNULL,`fen`smallint(6)NOTNULLdefault'0',`kf`smallint(6)NOTNULLdefault'0',`unuse`tinyint(1)NOTNULLdefault'0',`author`int(11)NOTNULLdefault'0',`level`smallint(6)NOTNULLdefault'0',`tag`varchar(250)NOTNULLdefault'',`category`int(4)unsignedNOTNULLdefault'0',`time`int(11)unsignedNOTNULLdefault'0',`orderkey`int(11)NOTNULLdefault'0',PRIMARYKEY(`id`))ENGINE=MyISAMAUTO_INCREMENT=34DEFAULTCHARSET=utf8。试卷信息表构造如表4-4所示:字段名类型备注idint(11),unsigned,notnull试卷id主键titlevarchar(100),notnull试卷标题descriptvarchar(255),notnull试卷描述dotimesmallint(6),notnull答题时间shititext,notnull试题构成fentext,notnull分数构成scoretinyint(3),notnull试卷总分subjecttinyint(3),notnull所属科目leveltinyint(1),notnull难度authorint(11),notnull试卷作者deltinyint(1),notnull删除标志timeint(11),unsigned,notnull创立时间表4-4试卷(shijuan)信息表试卷信息表包括了一份试卷所有核心信息,这些信息涉及试卷标题、时间规定答题时间、试卷题目构成、试卷分数构成、试卷所属科目、试卷难度级别等。创立试卷SQL语句为:CREATETABLE`shijuan`(`id`int(11)unsignedNOTNULLauto_increment,`title`varchar(100)NOTNULLdefault'',`descrip`varchar(250)NOTNULLdefault'',`dotime`smallint(6)NOTNULLdefault'0',`shiti`textNOTNULL,`fen`textNOTNULL,`score`tinyint(3)NOTNULL,`subject`tinyint(3)unsignedNOTNULLdefault'0',`level`tinyint(1)NOTNULL,`author`tinyint(1)NOTNULLdefault'0',`del`tinyint(1)unsignedNOTNULLdefault'0',`time`int(11)unsignedNOTNULLdefault'0',PRIMARYKEY(`id`))ENGINE=MyISAMAUTO_INCREMENT=7DEFAULTCHARSET=utf8。考卷信息表构造如表4-5所示:字段名类型备注idint(11),unsigned,notnull考卷id主键kidint(11),unsigned,notnull所属试卷titlevarchar(255),notnull考卷标题questionstext,notnull题目startint(11),unsigned,notnull开始时间endint(11),unsigned,notnull结束时间dotimesmallint(6),notnull考试时间leasttimesmallint(6),notnull至少答题时间validtinyint(1),notnull有效标志timeint(11),unsigned,notnull创立时间表4-5考卷(kaojuan)信息表考卷信息表包具有考卷名字、考卷开始和结束时间、考卷详细题目构成以及考卷答卷时间等核心信息。创立考卷表SQL语句为:CREATETABLE`kaojuan`(`id`int(11)unsignedNOTNULLauto_increment,`kid`int(11)unsignedNOTNULL,`title`varchar(255)NOTNULLdefault'',`questions`textNOTNULL,`start`int(11)unsignedNOTNULLdefault'0',`end`int(11)unsignedNOTNULLdefault'0',`dotime`smallint(6)NOTNULLdefault'0',`leasttime`smallint(6)unsignedNOTNULLdefault'0',`valid`tinyint(1)NOTNULLdefault'0',`time`int(11)unsignedNOTNULLdefault'0',PRIMARYKEY(`id`))ENGINE=MyISAMAUTO_INCREMENT=9DEFAULTCHARSET=utf8。答卷表构造如表4-6所示:字段名类型备注idint(11),unsigned,notnull答卷id主键uidint(11),unsigned,notnull答题人sidint(11),unsigned,notnull所属试卷answertext,notnull答案scoretinyint(3),notnull得分timeint(11),unsigned,notnull作答时间表4-6答卷(dajuan)信息表答卷表是顾客某次考试成果信息,包具有答卷所属考卷id、答卷人id以及答案等信息。创立答卷表SQL语句为:CREATETABLE`dajuan`(`id`int(11)unsignedNOTNULLauto_increment,`uid`int(11)unsignedNOTNULL,`sid`int(11)unsignedNOTNULL,`answer`textNOTNULL,`score`tinyint(3)NOTNULLdefault'-1',`time`int(11)unsignedNOTNULLdefault'0',PRIMARYKEY(`id`))ENGINE=MyISAMAUTO_INCREMENT=13DEFAULTCHARSET=utf8。资料表构造如表4-7所示:字段名类型备注idint(11),unsigned,notnull文献id主键filenamevarchar(255),notnull文献名randnamevarchar(255),notnull随机文献名datetimeint(11),unsigned,notnull上传时间表4-7资料(paper)信息表资料表是顾客上传资料信息记录,这些信息涉及上传文献文献名、存储在服务器文献名以及上传时间等。创立资料表SQL语句为:CREATETABLE`paper`(`id`int(11)unsignedNOTNULLauto_increment,`filename`varchar(255)NOTNULL,`randname`varchar(255)NOTNULL,`datetime`int(11)unsignedNOTNULL,PRIMARYKEY(`id`))ENGINE=MyISAMAUTO_INCREMENT=14DEFAULTCHARSET=utf8。知识点表成果如表4-8所示:字段名类型备注idint(11),unsigned,notnull知识点id主键sidint(11),unsigned,notnull所属科目namevarchar(255),notnull知识点名称descripvarchar(255),notnull知识点描述表4-8知识点表构造知识点构造表重要用于存储题目设计知识点信息,在进行自动组卷时,依照知识点信息,保证计算机在自动选题时可以覆盖所有知识点,保证抽題科学性。创立该表SQL语句为:CREATETABLE`knowledge`(`id`int(11)unsignedNOTNULLauto_increment,`sid`int(11)unsignedNOTNULL,`name`varchar(255)NOTNULL,`descrip`varchar(255)NOTNULL,PRIMARYKEY(`id`))ENGINE=MyISAMAUTO_INCREMENT=8DEFAULTCHARSET=utf8。4.3系统重要模块设计系统提成前端和后端两个相对独立某些,前段重要提供应普通顾客使用,涉及有注册、在线考试、资料贡献等功能。后端重要提供应管理员使用,后端可使用功能有试题管理、试卷管理、考卷管理、答卷管理等。4.3.1系统前端实现首页首页index.php是普通顾客访问系统时展示给她页面,页面包具有最新题目、进行中考试、已结束考试、最新上传资料等信息。同步首页还提供了顾客注册、顾客登陆、网站声明等有关信息链接,顾客点击相应连接可以进入到相应页面。首页截图如图4-2所示:图4-2前端首页截图顾客注册与登陆该模块重要功能是实现系统顾客注册。重要涉及接受新顾客注册,引导新顾客填写必要个人资料;实现顾客登陆和登出控制。顾客必要先登陆才干使用网站其她功能,当顾客在未登录状态使用系统有关功能时,会跳转到登陆界面提示顾客登陆。在顾客注册登陆系统中,需要存储和调用顾客个人资料,这一过程通过PHP与MySQL协同完毕。从顾客角度考虑,当顾客连接到题库系统页面时,如果是新顾客,就选取“顾客注册”,如果是已注册顾客,就可以输入登录帐号和密码登录进入系统。在服务器端,依照顾客输入帐号和密码如数据库相应帐号和密码相比对,如果密码对的则登录成功,将顾客信息和登录状态存入session,否则登陆失败,提示顾客密码错误。该过程流程如图4-3所示:登陆注册登陆注册顾客存在?输入注册信息N顾客存在?输入注册信息顾客存在,重新注册顾客唯一顾客存在,重新注册顾客唯一Y提示顾客登陆成功N提示顾客登陆成功提示顾客注册成功Y提示顾客注册成功登陆结束登陆结束注册结束注册结束(a)顾客注册流程(b)顾客登陆流程图4-3顾客注册与登陆流程顾客注册界面如图4-4所示:图4-4顾客注册界面顾客注册界面(register.php)重要内容是一种htmlform表单,顾客必要完毕表单有关内容才干完毕注册,表单分为必填项和选填项,所有带*标志项都是顾客必要填写,只有填写完所有必填想才干提交注册。当顾客在提交表单时尚有必填项未填写时,页面会弹出一种提示框提示顾客。当顾客两次输入email地址和密码不一致时,页面也会给出两次输入不一致提示。当顾客完毕所有必填项然后提交注册后,页面会将顾客注册信息通过form表单post办法将顾客注册信息发送到controllerregister函数,register函数对顾客提交信息进行验证,并把信息插入到数据库user表中。添加顾客信息代码如下:functionadd($username,$password,$group,$email='',$uname='',$ucardid=''){ $query=$this->db->query("INSERTINTO".$this->_table."VALUES('','$username','".MD5($password)."','$email','$uname','$ucardid','$group','','".time()."')"); return$query;}顾客登陆界面如图4-5所示:图4-5顾客登陆界面顾客登陆界面比较简朴,页面有两个输入框,分别是顾客名和密码。当顾客输入顾客名和密码并点击登陆后,页面会通过form表单post办法将顾客输入顾客名和密码发送到前段controllerlogin办法。login办法连接数据库并检查顾客输入密码与否与输入顾客名想匹配,如果匹配,则登陆成功。否则,登陆失败。登陆状态通过session实现,session是指顾客在浏览某网站时,标记顾客状态一种机制,PHP提供了相应session操作模块和$_SESSION全局变量。login办法核心代码如下所示:functioncheckLogin($name,$password){ $query=$this->db->query("SELECT*FROMuserWHEREusername='".$name."'ANDpassword='".MD5($password)."'LIMIT1"); if($query->num_rows()>0) { return$query->row_array(); }else { returnFALSE; }}在线考试在线考试模块提供了一种和谐、以便操作界面,该模块具备如下功能:从数据库中读取试卷,并依照不同题型试题使用模版展示给顾客;时间控制,顾客可以提前交卷,当顾客做题时间达到规定做题时间时,系统会自动提价试卷,并且只有在试卷规定答题时间范畴内才干查看试卷;登陆控制,只有已登录顾客才有答卷资格;时间提示,系统会显示距离考试结束时间,以以便顾客掌握节奏。在线考试页面如图4-6所示:图4-6顾客在线考试截图考试过程如图4-7所示:开始开始提示错误与否在考试时间N提示错误与否在考试时间Y读取试卷,依照模板生成试卷读取试卷,依照模板生成试卷考生答卷考生答卷考试时间与否到考试时间与否到Y提示时间提示时间提交试卷提交试卷考试结束考试结束图4-7在线考试流程图当顾客点击提交试卷时,页面form表单会将顾客答案通过post办法发送到前段Controllerreply办法,reply办法将顾客提交答案插入到数据库。插入到数据答卷可供后台管理员查看并进行评分。顾客可在myexam.php中查看到自己参加过考试以及考试得分状况。reply办法核心代码如下:functionadd($uid=0,$sid=0,$answer=''){ $query=$this->db->query("INSERTINTO".$this->_table."VALUES('','$uid','$sid','$answer','-1','".time()."')"); if($query) { returnTRUE; } else { returnFALSE; }} 资料上传与下载上传资料模块实质上一种文档分享模块,该模块容许顾客上传文献,上传后文献可供其她顾客下载,上传资料操作同步也可以在后台文献管理模块完毕。资料上传页面(download.php)如图4-8所示:图4-8资料上传页面截图htmlform表单提供了file表单用于文献上传,上传有前段Controllerupload办法实现,上传核心代码如下://获取上传文献类型$x=explode('.',$_FILES['paper']['name']);$type=end($x);//文献类型检测$allow_type=array('doc','docx','txt','pdf');if(!in_array($type,$allow_type)){ $data['online_user_count']=$this->_online_user_count(); $this->load->view('error',array('message'=>'错误文献类型,请上传doc、docx、txt、pdf格式文献','tourl'=>'index.php?c=index&m=upload','online_user_count'=>$this->_online_user_count())); return;}$randname=time().'.'.$type;move_uploaded_file($_FILES['paper']['tmp_name'],dirname(__FILE__).'/../../admin/upload/'.$randname);if($this->paper->add($_FILES['paper']['name'],$randname)){ redirect('c=index&m=paper&upload=ok');}通过php全局数组$_FILES,可以获取上传文献信息,$_FILES数组内容如下:$_FILES["file"]["name"]-被上传文献名称;$_FILES["file"]["type"]-被上传文献类型;$_FILES["file"]["size"]-被上传文献大小,以字节计;$_FILES["file"]["tmp_name"]-存储在服务器文献暂时副本名称;$_FILES["file"]["error"]-由文献上传导致错误代码。顾客上传文献被存在$_FILE[‘file’][‘tmp_name’]中,php提供了move_upload_file函数将上传文献移动到系统寻访上传文献目录。move_upload_file定义如下:bool
move_uploaded_file
(
string
$filename
,
string
$destination
)。顾客上传文献存储在系统中文献名是由系统随机生成,文献名通过time函数生成,time函数返回系统当前时间戳。time函数定义为int
time
(
void
)。上传文献信息同步也存入到数据库资料信息表中。文献下载页面如图4-9所示:图4-9下载页面截图顾客点击相应文献名即可完毕下载,下载有前端Controllerdownload办法实现,download办法使用了codeigniterDownloadHelper。加载DownloadHelper语句为$this->load->helper(‘download’)。文献下载核心代码如下:$data=file_get_contents(dirname(__FILE__).'/../../admin/upload/'.$paperinfo['randname']);$filename=$paperinfo['filename'];force_download($filename,$data);file_get_contents是php提供函数,用与获取文献内容,该函数定义为string
file_get_contents
(
string
$filename),返回文献内容字符串。force_download是DownloadHelper提供函数,其定义为force_download(filename,data),其中,filename是下载文献名,data是文献内容。4.3.2系统后端实现系统后端重要是提供应系统管理员管理整个系统时使用,它包括重要功能有后台登入登出、试题管理、试卷管理、考卷管理、上传管理、顾客管理等。后端首页实现后端首页由三个iframe页面构成,分别是页首top.php、菜单栏menu.php和内容页。后台首页如图4-10所示:图4-10后台首页截图当顾客点击页面左侧控制面板链接,相应内容便会显示在页面右侧,这样页面布局极大提高了顾客使用感受,操作也一目了然。整个首页布局代码为:<framesetrows=”24,*”> <framename=”top”/> <framesetcols=”160,*”> <framename=”menu”/> <framename=”content”/> </frameset></frameset>HTMLFRAMESET元素用来定义一种框架集,rows和cols属性是用来控制frameset内框架所占行数和列数。FRAME元素则用来定义一种特定框架,具备name等属性。当将menu框架里链接元素<A>加上属性target=”content”时,点击munu框架里连接就会显示到content框架里。登入登出系统后台登入与登出和前端是互相独立,顾客登陆了前端并不能访问后台内容。顾客想要访问后台必要单独登陆。后台登陆页面login.php如图4-11所示:图4-11首台登陆页面截图只有拥有管理员权限顾客才干登陆后台,当顾客点击登陆时,系统会对顾客所属顾客组进行权限检查,如果顾客所在顾客组不具备登陆后台权限便回绝顾客登陆。登陆成功后,系统会自动跳转到后台首页。检查登陆核心代码如下:functioncheckLogin($name,$password){ $query=$this->db->query("SELECT*FROMuserWHERE`group`='1'ANDusername='".$name."'ANDpassword='".MD5($password)."'LIMIT1"); if($query->num_rows()>0) { return$query->row_array(); }else { returnFALSE; }}系统依照顾客输入顾客名和密码连接到数据库进行查询,如果查询存在这样顾客切密码对的则返回TRUE,否则返回FALSE。需要指出是,顾客密码信息并不是以明文信息存在数据库,存储是通过MD5加密后信息,这样做可以保证密码只有顾客本人懂得,应此,当顾客忘掉密码时,只能联系管理员重新设立密码。MD5函数原型为:string
md5
(
string
$str
),该函数将任何输入字符串通过hash算法转化成一种32位长度字符串。PHP提供了许多加密算法,比较惯用有md5、sha1、crc32等。试题管理试题管理重要用于整个试题库管理,涉及试题录入、编辑、查看和删除。在试题录入功能中,系统依照顾客选取题型不同而提供不同试题模板,试题模板为顾客提供了试题所有核心信息输入框。例如当顾客选取题型是单选题时,题型模板提供了选项输入框,同步容许顾客将摸一种选项设为答案,而当顾客选取多选題时,容许顾客将一种或各种选项设为答案,当顾客选取录入填空題时,便不存在选项输入框。系统提供了五种题型供顾客选取,涉及单选题、多选题、判断题、填空題、简答题。题型信息字段在数据库里是以一种整数形式存储,应为查询时候数字比字符全效率更高。试题录入界面如图4-12、4-13所示:图4-12单选题录入页面截图图4-13多选题录入页面截图题干输入框内嵌了文本编辑器,为顾客提供了丰富文本编辑功能,顾客除了可以编辑题目题干、选项、答案、解答等基本性息外,还可以设立题目分值、题目排序值、题目难度、题目所属科目、题目所属知识点、标签等性息等性息。题目分值信息重要用于在线考试时使用,默认是0。题目难度性息
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《第二单元 汉字输入:第5课 词语输入速度快》教学设计-2024-2025学年浙江摄影版(2020)三年级下册
- 2024秋八年级数学上册 第13章 全等三角形13.5 逆命题与逆定理 3角平分线-角平分线的性质教学设计(新版)华东师大版
- 8《课余生活真丰富》(教学设计)-2024-2025学年统编版(2024)道德与法治一年级上册
- 10方便的手轮 教学设计-2024-2025学年科学六年级上册粤教粤科版
- 7 鹿角和鹿腿(教学设计)-2024-2025学年语文三年级下册统编版
- 2023三年级英语上册 Unit 1 Hello Part A 第一课时教学设计 人教PEP
- 12我的环保小搭档(教学设计)-部编版(五四制)道德与法治二年级下册
- 胃息肉术后护理诊断及措施
- 5《 煮鸡蛋》(教学设计)人教版劳动三年级上册
- 14 文言文二则 学弈 教学设计-2024-2025学年语文六年级下册统编版
- 影视剧组聘请工作人员合同二零二五年
- 中国轮毂电机市场发展状况与投资方向预测报告2024-2030年
- 2025年长袜子皮皮考试题及答案
- 2025年陕西金融资产管理股份有限公司招聘笔试参考题库含答案解析
- 2025年广西机场管理集团有限责任公司招聘笔试参考题库含答案解析
- 2025年九年级中考语文第一次模拟考试卷附答案解析
- 部队食品安全知识课件
- 中建商务管理手册
- 海洋中国知到智慧树章节测试课后答案2024年秋哈尔滨工程大学
- 学生心理韧性对教学策略的影响研究
- 2024年医院客服部工作计划(三篇)
评论
0/150
提交评论