3.2.1 学生功能的实现 学生是精品课程网站的主要服务对像。学生利用网络的获取更多的知识,并利用网络来提升自己的认识水平,但这些还不够,最终学生还需要能够验证自己的学习成果。为了更好的发展素质教育,避免传统教育方式所带来的只停留在书本之上的缺点――枯燥、乏味,、没有吸引力、跟不上时代的步伐,传统的教育方式往往只能达到事倍功半效果。怎样利用网络媒体的特点来吸引学生的注意力?让学生能够在更具吸引力的环境中学习知识成为了这个模块所要完成的任务之一,这也是精品课程网站研究要讨论的重要问题之一。 paper51.com
(1) 学生登录功能 copyright paper51.com 系统如何验证一个用户是学生用户?学生用户能做些什么?这是学生功能要研究与讨论的。理解这些也是实现学生功能的前提 内容来自论文无忧网 www.paper51.com
学生首先通过系统登录验证,证明是一个合法的系统用户。选择“学生进入在线考试――>考试”,得到如下一个页面,通过管理员给予的用户名及密码登录,成功过后,就可以进行考试,成绩查询等功能,该功能效果如图6所示: 内容来自www.paper51.com
内容来自论文无忧网 www.paper51.com 图6 学生测试 内容来自www.paper51.com 以下代码实现学生身份的验证: 内容来自论文无忧网 www.paper51.com <%if username<>"" andpassword<>"" then http://www.paper51.com
set rs=conn.execute("select * from userwhere user='"& username & "'") ''判断是否存在该用户 copyright paper51.com if not (rs.bof and rs.eof) then'判断是否有该权限 paper51.com if rs("passwd")=password thensession("password")=rs("passwd") '//为真则将该用户的该权限放入SESSION中 内容来自论文无忧网 www.paper51.com Response.Redirect"T_admin.asp" 内容来自www.paper51.com
验证成功过后才能够进行下一步的操作。 paper51.com (2) 学生在线考试 http://www.paper51.com 学生通过身份验证后,就拥有进行在线考试以及其它的一些操作的权力,考试题目是以选择题的形式存储在数据库当中的。通过调用数据库中的内容,学生能够在线完成考试并查看相应的得分。其实现的效果如图7所示: copyright paper51.com
内容来自论文无忧网 www.paper51.com
图7学生测试 copyright paper51.com <% sql="select * from test" //从题库中调出试题。 内容来自论文无忧网 www.paper51.com rs.open sql,conn,3,3 copyright paper51.com do while not rs.eof 内容来自论文无忧网 www.paper51.com
RANDOMIZE 内容来自www.paper51.com RandomValue = INT(10*RND)+1 paper51.com
rs("count")=rs("count")+RandomValue paper51.com
rs.update 内容来自论文无忧网 www.paper51.com rs.movenext copyright paper51.com loop paper51.com
rs.close paper51.com sql="select top 100 * from test order bycount desc"'//提取试题,降序排列 http://www.paper51.com Set rs = conn.Execute(sql) http://www.paper51.com %> 内容来自论文无忧网 www.paper51.com
得到权限后通过上面这段代码就可以从数据库中获取数据。 http://www.paper51.com 对于考试,得到数据后,考试就算进入正式开始,但怎样确定何时该交卷呢?此精品课程网站自定义了一个脚本函数实现考试定试。 copyright paper51.com 通过使用window.setTimeout("update();",1000)这个函数我们就要可以为考试设定一个时间那么时间一到,题目就将失效,不能再答题,作为答题错误计算。下面代码完成考试的时间设置: paper51.com <%if Request.Form("sec")=5 then'//在此设定时间 内容来自www.paper51.com Response.Write"时间已到。" 内容来自www.paper51.com
endif%> http://www.paper51.com <% i=i+1 paper51.com rs.movenext copyright paper51.com loop 内容来自论文无忧网 www.paper51.com
%> copyright paper51.com
上面这一段代码完成设定每题的时间的。可以任意更改。这由老师根据不同题目的难度来决定。下面一段代码实现的是考题正确性判断。 内容来自www.paper51.com <% id=request("id") %> copyright paper51.com <%ifrequest("id")<>"" then paper51.com sql="select1 * from test where id like'" &id& "'"//通过题目的ID号查找 内容来自www.paper51.com else http://www.paper51.com sql="selecttop 1 * from test" paper51.com
end if copyright paper51.com sql="select* from test where id like'"&id&"' " 内容来自论文无忧网 www.paper51.com rs.Opensql,conn,1,1 http://www.paper51.com if rs.EOF and rs.BOF then copyright paper51.com Response.Write"没有这个信息..." 内容来自www.paper51.com else copyright paper51.com %> copyright paper51.com
考试完成后学生可以马上查看自己的成绩,成绩是通过查找用户名来得到的。通过对比上传的考试数据与数据库中已有的数据进行比较后得出答题成绩。并给出最终的结果,不及格,及格,好,优等评定。下面一段代码所完成的功能是实现在成绩的评定。 http://www.paper51.com
<% 内容来自www.paper51.com
sql="select * from test" 内容来自www.paper51.com rs.open sql,conn,3,3 paper51.com dim score 内容来自论文无忧网 www.paper51.com rsCount=0 内容来自论文无忧网 www.paper51.com ycorrect=0 内容来自www.paper51.com Response.Write rs("ans") 内容来自www.paper51.com rsCount=rsCount + 1 http://www.paper51.com ifRequest.Form(rsCount)=rs("ans") then 内容来自论文无忧网 www.paper51.com
ycorrect=ycorrect+ 1 http://www.paper51.com endif copyright paper51.com rs.movenext http://www.paper51.com loop http://www.paper51.com score=int(ycorrect/rscount*100)//计算成绩 http://www.paper51.com
%> 内容来自www.paper51.com (3) 用户密码修改功能的实现。 内容来自论文无忧网 www.paper51.com 许多时候用户容易忘记自己的密码,对于这种初始密码由管理员赋予的情况,选择一个方便自己记忆的密码将是一种好的选择。因此需要设计密码的修改功能。不是任何人都可以修改别人的密码,要完成修改密码功能就必须是在合法身份被验证通过的前提下才能实现,如果谁都能更改别人的密码,那么系统就将缺少安全性保证。下面的这段代码完成学生用户在线考试功能中密码的修改。 paper51.com if request.QueryString("gn")="pass"then paper51.com user=Replace(Trim(Request.Form("user")),"'","''") 内容来自论文无忧网 www.paper51.com
pass=Replace(Trim(Request.Form("pass")),"'","''") paper51.com
new_pass=Replace(Trim(Request.Form("new_pass")),"'","''") http://www.paper51.com
sql2="select * from teacher where password='"& pass&"'" 内容来自论文无忧网 www.paper51.com if rs2.bof then 内容来自www.paper51.com rs2("username")=user rs2.updata; 内容来自论文无忧网 www.paper51.com 其界面效果如图8所示: paper51.com 内容来自论文无忧网 www.paper51.com 图8用户更改密码 paper51.com |