2024年7月11日发(作者:滕依心)
基于微信公众平台的在线考试系统的设计与实现
施晓晗
【摘 要】微信在学生群体中使用广泛,是一款具有通售、社交、平台化功能的移动
应用软件,为在线考试提供良好的环境支持.基于PHP技术与My SQL数据库,设计
与实现在线考试系统,优化教师的教学管理,实现试题批阅自动化、高效化,在一定程
度上保证考试的公平性,提高考试管理的现代化水平.
【期刊名称】《苏州市职业大学学报》
【年(卷),期】2017(028)003
【总页数】5页(P29-33)
【关键词】微信公众平台;在线考试;PHP
【作 者】施晓晗
【作者单位】苏州大学计算机科学与技术学院,江苏苏州 215006;江苏省吴中中等
专业学校信息传媒系,江苏苏州 215104
【正文语种】中 文
【中图分类】TP315
Abstract:As a mobile application software, WeChat integrates the
functions of communication, socializing and platform and is widely used
among students. It can also provides favorable environment support for
online on PHP technology and MySQL database, it paper is
intended to design and implement online test system in order to optimize
teaching management, to realize automatic and efficient test paper
reading and marking, to ensure the fairness of examination to some
degree and to uplift the level of modern examination management.
Keywords:WeChat public platform;online examination;PHP
自2011年1月21日,腾讯公司推出微信以来,越来越多的人开始使用手机应用
软件进行交流和学习,其主要原因有:微信支持跨通信运营商、跨操作系统(支持
当前主流移动操作系统Android,IOS,WP,Blackberry,S60,Mac的终端设
备)平台,只需要网络流量即可快速发送语音短信、视频、图片、文字、位置和链
接等,用户可通过微信与好友进行形式上更加丰富的类似于短信、彩信等方式的联
系。微信软件本身完全免费,且使用任何功能都不会收取费用。这些优点吸引了广
大用户,截至2016年第二季度,微信这款移动端即时通信软件已经覆盖了中国
94%以上的智能手机,月活跃用户达到8.06亿,主要使用群体指向年轻人,特别
是学生群体,在各大学校范围内微信的使用量与日俱增。
2012年8 月,腾讯推出的微信公众平台,与微信一脉相承,让高校学生的生活和
学习方式逐步发生了改变,为新媒体环境下改善学生学习方式提供了新的可能。将
考试系统和微信公众平台相结合,利用微信公众平台强大的传播能力和简单的操作
方式,可优化教师的教学管理,实现试题批阅自动化、高效化,也使学生摆脱时间、
空间的束缚,随时随地进行考试[1]。基于微信公众平台的在线考试系统,必将成
为未来考试的一个重要分支。
考试是学校教学工作的重要环节之一,基于微信公众平台的在线考试系统要满足以
下基本条件:
1) 使用开源稳定的开发框架,能够便捷地实现客户端与服务器的交互;
2) 系统操作简便,流程合理,界面清晰,后台管理人员可快速对系统进行设置及
初始化;
3) 考生答题时设置倒计时功能,使考生能够知晓自己的考试时间;
4) 自动组卷防作弊功能,减轻教师人工组卷的工作量,并保证组卷速度快,重复
率低;
5) 实现考试时间结束、自动交卷的功能,确保考试的公平性;
6) 实现系统自动评卷功能,保证无人工参与阅卷过程,保障考试的公正性;
7) 实现多种方法信息输出,教师可通过PC端直接查看学生考试成绩、打印输出学
生成绩,学生可通过微信公众平台直接查看考试成绩。
1) 技术可行性。以Linux为操作系统,采用超文本预处理器(hypertext
preprocessor,PHP)为开发工具,运用MySQL数据库技术,设计与开发系统。
系统运行的硬件环境是Linux服务器,当用户使用系统时,通过输入正确的用户
名和密码进入系统,进行数据库的维护操作和运用[2]。
2) 经济可行性。系统中友好的人机界面和强劲的功能支持,提高了使用者的工作
效率,节省了人力、物力,进而提高了经济效益;同时,系统的开发成本低,
Linux作为操作系统,MySQL 作为数据库,PHP作为服务器端脚本解释器。这三
个软件都是免费或开放源码软件(FLOSS),因此,使用较低的成本就可以建立一个
稳定的系统。
3) 操作可行性。在操作上是对微信的应用,在线考试系统的使用,主要是凭借使
用手机微信操作技术,即可完成数据的录入、修改、删除等多项功能,简单方便。
系统分为学生端和教师端两个不同的角色,以及一个支持在线考试页面服务和管理
服务的Apache服务器。
1) 学生通过自己的智能手机扫描教师建立的微信订阅号,并用自己的学号和初始
密码进行登录,首次登录需要将自己的学号和微信号绑定在一起,以方便管理。绑
定成功后,可通过订阅号获取考试的页面入口,随后找到考试链接,点击链接后进
入考试的页面。页面需要教师在规定的时间发布,并要求学生在规定的时限内完成
答题。学生在规定考试的时限内完成答题并提交自己的答题情况,提交成功后,系
统能够当场反馈学生答题的结果。页面主要以单项选择题、多项选择题和判断题为
主。同时将答题学生的姓名、分数以及答题时间等信息提交到后台数据库系统[3]。
2) 教师可以通过自己已联网的个人电脑去登录在线考试系统,即时获取学生的答
题结果信息。系统自动对结果进行统计和排名,从提交的时间和分数两个指标进行
排名。通过提交的结果,还可以获取学生的考勤信息。
3) 后台的微信在线考试系统包括两方面的内容,一个是在线考试的每堂课程的考
试页面;另一个是教师进行试卷发布时间的控制和学生提交试卷后的结果管理。后
台系统可以利用Linux的IIS建立Apache服务器,采用PHP动态开发语言和
MySQL数据库建立学生答题环节的提交和数据库记录功能,利用这种方法部署起
来的系统具有简单、方便、快捷、实用的优点。
微信公众平台是微信公众账号所有者(政府、媒体、企业、组织或个人等)进行平台
推广、减少运营成本、提高影响力、与用户互动交流及提供服务的平台,公众账号
通过消息、事件、菜单等交互方式为用户提供服务[4]。
微信公众账号分为服务号、企业号和订阅号三种,其中服务号侧重于对用户进行服
务,主要适用于媒体、企业、政府或其他有需求的组织,企业号侧重于生产运营管
理,主要适用于企业、政府、事业单位或其他有需求的组织,这两种公众账号都不
适合教师教学使用,且部分功能需要付费才能够使用,因此,本系统申请的是微信
订阅号,订阅号每天可群发一条消息,认证后可申请自定义菜单,且所有功能均为
免费使用。学生只需通过微信的“扫一扫”功能即可关注该公众号,为学生获取资
源和教师发布信息提供了便利。
在微信公众平台中,微信号是识别每个用户的唯一依据,因此在首次使用在线考试
系统时,需要将学生的学号和微信号绑定。学生关注“在线考试”这一微信公众号
后,进入“绑定微信号”页面。页面要求学生输入自己的账号(学号)和登录密码
(身份证后6位数字),若学生输入的学号和登录密码与教师通过后台管理系统导入
的相匹配,则显示“绑定成功”页面;若不匹配,则提示“账号或密码错误,请重
新输入”信息,要求学生输入正确的账号和密码。绑定成功后,学生今后登录该微
信公众号,则提示“已授权过该公众号,系统自动跳转”信息,即不必再输入账号
和登录密码,就可进入“在线考试系统”。其核心代码如下:
public function loginAccount(){
$map=[];
$map['username']=input('me');
$map['pwd']=input('');
if($map['username']== '' || $map['pwd']== ''){
return ['data'=>'false'];
}
$student_db = db('student');
$student=$student_db->where($map)->find();
if($student){
//账号密码正确,绑定当前微信号
$wechat_user = session('wechat_user');
$student_db->where(['student_id'=>$student['student_id']])->
update(['weid'=>$wechat_user['id']]);
session('student_id',$student['student_id']);
return ['data'=>'true'];
}else{
return ['data'=>'false'];
}
}
为了有效防止学生作弊,系统采用随机抽题的组卷方式,保证每一位学生抽取到的
试题都是不相同的。系统组卷前,教师需通过后台管理系统,将不同类型的试题分
类导入到题库中。学生进入考试页面后,系统调用随机函数rand(),产生规定数
量的大于0且不重复的随机数,利用这些随机数在题库中随机抽取不同类型的试
题,以生成各不相同的试卷[5]。
系统要求学生在规定的时间内完成试卷,并提交答题情况,因此需实现计时功能。
考试开始前,教师需通过后台管理系统,设置考试时间。学生开始考试后,系统自
动开始进行倒计时。在倒计时结束前,学生均可提交答题情况;若倒计时结束,学
生仍未提交试卷,则系统强制提交。其核心代码如下:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>倒计时js代码</title>
<style>
*{ margin:0;padding:0;list-style:none;}
body{ font-size:18px;text-align:center;}
.time{ height:30px;padding:200px;}
</style>
</head>
<body>
<div class="time">
<span id="t_h">00时</span>
<span id="t_m">00分</span>
<span id="t_s">00秒</span>
</div>
<script>
function GetRTime(){
var EndTime= new Date('2017/05/10 00:00:00');
var NowTime = new Date();
var t =e()- e();
var d=0;
var h=0;
var m=0;
var s=0;
if(t>=0){
h=(t/1000/60/60%24);
m=(t/1000/60%60);
s=(t/1000%60);
}
mentById("t_h").innerHTML = h + "时";
mentById("t_m").innerHTML = m + "分";
mentById("t_s").innerHTML = s + "秒";
}
setInterval(GetRTime,0);
</script>
</body>
</html>
在线考试系统的整个管理后台包括学生试卷的制作与发布、学生的成绩统计与排名
等功能,都需要教师通过PC端来完成。在线考试后台管理系统可通过在浏览器输
入服务器的IP地址进行登录,登录页面如图1所示。教师输入正确的用户名和密
码后,可进入在线考试系统的后台管理系统。在系统中,教师可实现对试卷信息的
管理、试题的分类导入、学生成绩的管理等多项操作,如图2所示。
基于微信公众平台的在线考试系统,采用PHP技术、Apache服务器和MySQL
数据库进行开发,充分考虑了当前学校对于学生考试管理的需求,提高了教师的出
卷和阅卷的效率,简化了客户端的操作要求,基本实现了系统设计要求。在手持移
动终端设备高速发展的今天,该系统必将给学生的学习带来极大的便利。
【相关文献】
[1]杜娟.基于微信公众平台的移动学习应用初探[J].赤峰学院学报(自然科学版),2015(7):53-54.
[2]刘洪江.在线考试系统的数据库设计与实现[J].电脑知识与技术,2012,8(3):508-511.
[3]杨博雄,赖海婷,黄静,等.基于微信交互的随堂考试系统设计与开发[J].微型电脑应用,2016,
32(12):1-7.
[4]陶瑾.微信公众平台开发最佳实践[M].北京:机械工业出版社,2015:1-2.
[5]覃俊杰,高翔,黄金春.基于微信的考试系统设计与实现[J].大众科技,2015,17(12):18-20.
2024年7月11日发(作者:滕依心)
基于微信公众平台的在线考试系统的设计与实现
施晓晗
【摘 要】微信在学生群体中使用广泛,是一款具有通售、社交、平台化功能的移动
应用软件,为在线考试提供良好的环境支持.基于PHP技术与My SQL数据库,设计
与实现在线考试系统,优化教师的教学管理,实现试题批阅自动化、高效化,在一定程
度上保证考试的公平性,提高考试管理的现代化水平.
【期刊名称】《苏州市职业大学学报》
【年(卷),期】2017(028)003
【总页数】5页(P29-33)
【关键词】微信公众平台;在线考试;PHP
【作 者】施晓晗
【作者单位】苏州大学计算机科学与技术学院,江苏苏州 215006;江苏省吴中中等
专业学校信息传媒系,江苏苏州 215104
【正文语种】中 文
【中图分类】TP315
Abstract:As a mobile application software, WeChat integrates the
functions of communication, socializing and platform and is widely used
among students. It can also provides favorable environment support for
online on PHP technology and MySQL database, it paper is
intended to design and implement online test system in order to optimize
teaching management, to realize automatic and efficient test paper
reading and marking, to ensure the fairness of examination to some
degree and to uplift the level of modern examination management.
Keywords:WeChat public platform;online examination;PHP
自2011年1月21日,腾讯公司推出微信以来,越来越多的人开始使用手机应用
软件进行交流和学习,其主要原因有:微信支持跨通信运营商、跨操作系统(支持
当前主流移动操作系统Android,IOS,WP,Blackberry,S60,Mac的终端设
备)平台,只需要网络流量即可快速发送语音短信、视频、图片、文字、位置和链
接等,用户可通过微信与好友进行形式上更加丰富的类似于短信、彩信等方式的联
系。微信软件本身完全免费,且使用任何功能都不会收取费用。这些优点吸引了广
大用户,截至2016年第二季度,微信这款移动端即时通信软件已经覆盖了中国
94%以上的智能手机,月活跃用户达到8.06亿,主要使用群体指向年轻人,特别
是学生群体,在各大学校范围内微信的使用量与日俱增。
2012年8 月,腾讯推出的微信公众平台,与微信一脉相承,让高校学生的生活和
学习方式逐步发生了改变,为新媒体环境下改善学生学习方式提供了新的可能。将
考试系统和微信公众平台相结合,利用微信公众平台强大的传播能力和简单的操作
方式,可优化教师的教学管理,实现试题批阅自动化、高效化,也使学生摆脱时间、
空间的束缚,随时随地进行考试[1]。基于微信公众平台的在线考试系统,必将成
为未来考试的一个重要分支。
考试是学校教学工作的重要环节之一,基于微信公众平台的在线考试系统要满足以
下基本条件:
1) 使用开源稳定的开发框架,能够便捷地实现客户端与服务器的交互;
2) 系统操作简便,流程合理,界面清晰,后台管理人员可快速对系统进行设置及
初始化;
3) 考生答题时设置倒计时功能,使考生能够知晓自己的考试时间;
4) 自动组卷防作弊功能,减轻教师人工组卷的工作量,并保证组卷速度快,重复
率低;
5) 实现考试时间结束、自动交卷的功能,确保考试的公平性;
6) 实现系统自动评卷功能,保证无人工参与阅卷过程,保障考试的公正性;
7) 实现多种方法信息输出,教师可通过PC端直接查看学生考试成绩、打印输出学
生成绩,学生可通过微信公众平台直接查看考试成绩。
1) 技术可行性。以Linux为操作系统,采用超文本预处理器(hypertext
preprocessor,PHP)为开发工具,运用MySQL数据库技术,设计与开发系统。
系统运行的硬件环境是Linux服务器,当用户使用系统时,通过输入正确的用户
名和密码进入系统,进行数据库的维护操作和运用[2]。
2) 经济可行性。系统中友好的人机界面和强劲的功能支持,提高了使用者的工作
效率,节省了人力、物力,进而提高了经济效益;同时,系统的开发成本低,
Linux作为操作系统,MySQL 作为数据库,PHP作为服务器端脚本解释器。这三
个软件都是免费或开放源码软件(FLOSS),因此,使用较低的成本就可以建立一个
稳定的系统。
3) 操作可行性。在操作上是对微信的应用,在线考试系统的使用,主要是凭借使
用手机微信操作技术,即可完成数据的录入、修改、删除等多项功能,简单方便。
系统分为学生端和教师端两个不同的角色,以及一个支持在线考试页面服务和管理
服务的Apache服务器。
1) 学生通过自己的智能手机扫描教师建立的微信订阅号,并用自己的学号和初始
密码进行登录,首次登录需要将自己的学号和微信号绑定在一起,以方便管理。绑
定成功后,可通过订阅号获取考试的页面入口,随后找到考试链接,点击链接后进
入考试的页面。页面需要教师在规定的时间发布,并要求学生在规定的时限内完成
答题。学生在规定考试的时限内完成答题并提交自己的答题情况,提交成功后,系
统能够当场反馈学生答题的结果。页面主要以单项选择题、多项选择题和判断题为
主。同时将答题学生的姓名、分数以及答题时间等信息提交到后台数据库系统[3]。
2) 教师可以通过自己已联网的个人电脑去登录在线考试系统,即时获取学生的答
题结果信息。系统自动对结果进行统计和排名,从提交的时间和分数两个指标进行
排名。通过提交的结果,还可以获取学生的考勤信息。
3) 后台的微信在线考试系统包括两方面的内容,一个是在线考试的每堂课程的考
试页面;另一个是教师进行试卷发布时间的控制和学生提交试卷后的结果管理。后
台系统可以利用Linux的IIS建立Apache服务器,采用PHP动态开发语言和
MySQL数据库建立学生答题环节的提交和数据库记录功能,利用这种方法部署起
来的系统具有简单、方便、快捷、实用的优点。
微信公众平台是微信公众账号所有者(政府、媒体、企业、组织或个人等)进行平台
推广、减少运营成本、提高影响力、与用户互动交流及提供服务的平台,公众账号
通过消息、事件、菜单等交互方式为用户提供服务[4]。
微信公众账号分为服务号、企业号和订阅号三种,其中服务号侧重于对用户进行服
务,主要适用于媒体、企业、政府或其他有需求的组织,企业号侧重于生产运营管
理,主要适用于企业、政府、事业单位或其他有需求的组织,这两种公众账号都不
适合教师教学使用,且部分功能需要付费才能够使用,因此,本系统申请的是微信
订阅号,订阅号每天可群发一条消息,认证后可申请自定义菜单,且所有功能均为
免费使用。学生只需通过微信的“扫一扫”功能即可关注该公众号,为学生获取资
源和教师发布信息提供了便利。
在微信公众平台中,微信号是识别每个用户的唯一依据,因此在首次使用在线考试
系统时,需要将学生的学号和微信号绑定。学生关注“在线考试”这一微信公众号
后,进入“绑定微信号”页面。页面要求学生输入自己的账号(学号)和登录密码
(身份证后6位数字),若学生输入的学号和登录密码与教师通过后台管理系统导入
的相匹配,则显示“绑定成功”页面;若不匹配,则提示“账号或密码错误,请重
新输入”信息,要求学生输入正确的账号和密码。绑定成功后,学生今后登录该微
信公众号,则提示“已授权过该公众号,系统自动跳转”信息,即不必再输入账号
和登录密码,就可进入“在线考试系统”。其核心代码如下:
public function loginAccount(){
$map=[];
$map['username']=input('me');
$map['pwd']=input('');
if($map['username']== '' || $map['pwd']== ''){
return ['data'=>'false'];
}
$student_db = db('student');
$student=$student_db->where($map)->find();
if($student){
//账号密码正确,绑定当前微信号
$wechat_user = session('wechat_user');
$student_db->where(['student_id'=>$student['student_id']])->
update(['weid'=>$wechat_user['id']]);
session('student_id',$student['student_id']);
return ['data'=>'true'];
}else{
return ['data'=>'false'];
}
}
为了有效防止学生作弊,系统采用随机抽题的组卷方式,保证每一位学生抽取到的
试题都是不相同的。系统组卷前,教师需通过后台管理系统,将不同类型的试题分
类导入到题库中。学生进入考试页面后,系统调用随机函数rand(),产生规定数
量的大于0且不重复的随机数,利用这些随机数在题库中随机抽取不同类型的试
题,以生成各不相同的试卷[5]。
系统要求学生在规定的时间内完成试卷,并提交答题情况,因此需实现计时功能。
考试开始前,教师需通过后台管理系统,设置考试时间。学生开始考试后,系统自
动开始进行倒计时。在倒计时结束前,学生均可提交答题情况;若倒计时结束,学
生仍未提交试卷,则系统强制提交。其核心代码如下:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>倒计时js代码</title>
<style>
*{ margin:0;padding:0;list-style:none;}
body{ font-size:18px;text-align:center;}
.time{ height:30px;padding:200px;}
</style>
</head>
<body>
<div class="time">
<span id="t_h">00时</span>
<span id="t_m">00分</span>
<span id="t_s">00秒</span>
</div>
<script>
function GetRTime(){
var EndTime= new Date('2017/05/10 00:00:00');
var NowTime = new Date();
var t =e()- e();
var d=0;
var h=0;
var m=0;
var s=0;
if(t>=0){
h=(t/1000/60/60%24);
m=(t/1000/60%60);
s=(t/1000%60);
}
mentById("t_h").innerHTML = h + "时";
mentById("t_m").innerHTML = m + "分";
mentById("t_s").innerHTML = s + "秒";
}
setInterval(GetRTime,0);
</script>
</body>
</html>
在线考试系统的整个管理后台包括学生试卷的制作与发布、学生的成绩统计与排名
等功能,都需要教师通过PC端来完成。在线考试后台管理系统可通过在浏览器输
入服务器的IP地址进行登录,登录页面如图1所示。教师输入正确的用户名和密
码后,可进入在线考试系统的后台管理系统。在系统中,教师可实现对试卷信息的
管理、试题的分类导入、学生成绩的管理等多项操作,如图2所示。
基于微信公众平台的在线考试系统,采用PHP技术、Apache服务器和MySQL
数据库进行开发,充分考虑了当前学校对于学生考试管理的需求,提高了教师的出
卷和阅卷的效率,简化了客户端的操作要求,基本实现了系统设计要求。在手持移
动终端设备高速发展的今天,该系统必将给学生的学习带来极大的便利。
【相关文献】
[1]杜娟.基于微信公众平台的移动学习应用初探[J].赤峰学院学报(自然科学版),2015(7):53-54.
[2]刘洪江.在线考试系统的数据库设计与实现[J].电脑知识与技术,2012,8(3):508-511.
[3]杨博雄,赖海婷,黄静,等.基于微信交互的随堂考试系统设计与开发[J].微型电脑应用,2016,
32(12):1-7.
[4]陶瑾.微信公众平台开发最佳实践[M].北京:机械工业出版社,2015:1-2.
[5]覃俊杰,高翔,黄金春.基于微信的考试系统设计与实现[J].大众科技,2015,17(12):18-20.