管理模块
管理员可通过登陆名和密码登录后台管理系统,管理员有普通管理员和高级管理员,不同的管理员登录后根据权限可执行不同的功能。后台的管理可分以下几个部分。
(1)试题管理
①管理员可以在指定的科目和套题里添加单选题或多选题,可以指定题目的分数。
②管理员可以对指定题目的内容就行修改和删除指定考题。
③管理员可以对考试科目进行增加和删除。
(2)账号管理
①高级管理员可以对普通管理员的信息进行删除和添加新的管理员。
②管理员可以对学生信息进行查看和删除某些信息。
4.关键技术实现
系统使用分层模式:数据库层,业务层和界面层(web层)。 数据库层有一个与数据库操作相关的通用类:sqlHelperTool 类,该类实现了对数据库所有的操作,包括连接数据库,对数据库中表记录的添加,删除,修改,关闭连接等操作。业务逻辑层针对不同的表建立不同的通用类,通过调用底层的sqlHelperTool类中的功能函数,实现web层要实现的功能,对其进行业务逻辑的控制。界面层即web层用于实现静态页面的生成,并调用业务层实现动态网页效果。整个系统的代码清晰简洁,有利于新功能模块的添加,大大减少了代码的冗余度。系统中使用的典型技术如下所述。
4.1 Ajax技术实现时间的显示
Ajax是Asynchronous Javascript and XML 的缩写,意思是异步的Javascript与XML。是一种运用浏览器的技术,它可以在浏览器和服务器之间得到异步通信机制进行数据通信,从而允许浏览器向服务器获取少量信息而不是刷新整个页面,实现了无刷新更新页面的功能。通过Ajax技术实现在线考试的计时与显示剩余时间,首先要创建一个XMLHttpRequest对象实例,确保其能够在所有支持XMLHttpRequest 的浏览器中运行,将其代码保存在一个名称为xmlHttpRequest.js的文件中,在需要使用ajax技术的页面中,将该文件包含进去。
然后编写两个自定义的JavaScript函数showtime()和sparetime()函数,通过showtime()和sparetime()函数向服务器发送请求,分别读取显示当前时间文件中的数据和显示剩余时间文件中的数据,并获取服务器返回的响应信息。运用setInterval()函数每隔一秒调用一次showtime()和sparetime()来计时。最后在考试页面中输出考试时间和剩余时间。
4.2考题输出和答案处理
在线考试最核心的功能是如何输出考题、如何对考题提交的答案进行判断,并
算出正确的得分。首先根据选择考题一页表单提交的数据,从数据库中查询出要显示的题目,通过for循环输出查询结果,其中考题答案用explode()函数以*进行分割,并创建单选或双选按钮,将考题输出到网页中。考试时间到系统自动提交或点击提交按钮提交后,根据单选或多选表单提交的答案和数据库中对应题目的正确答案进行比较,如果两者相同,则该题正确,加上该题的分值,循环得到考试的总分。把分数和考试时间保存到数据库中,并输出试卷自动批阅后的页面,以供考生回顾、学习。
4.3 PHP绘图技术绘制验证码
用PHP绘图技术绘制验证码,是为了防止批量注册和灌水。在注册页面上生成一组随机数,每次刷新时,随机数都会改变。PHP中的验证码可以通过rand()函数生成随机数的方式得到。然后用dechex()函数将参数转为十辣进制表示,在一个图片中显示随机数。在PHP中可以使用GD函数库实现,使用到的函数主要有imagecreate()函数、imagecolorallocate()函数、imagestring()函数、imagesetpixel()函数、imagepng()函数和imagedestroy()函数。
上一页 [1] [2] [3] [4] [5]
php+mysql在线考试系统设计+流程图 第5页下载如图片无法显示或论文不完整,请联系qq752018766