1#楼 |
|
|
回复人:一起PHP |
注册时间:2004-02-27 |
主题/回复:247/1521 |
积分:4649 |
等级:★★★★★☆(十一级) |
称号:论坛圣人 |
|
|
|
1#楼 发表于2005-06-27 17:14:20
评分:1
|
|
看来有两个问题:防止某个人重复答题和防止某台机器重复答题
一、如果防止某个同学重复提交(相当于重复参加考试),那太简单了。数据库里面加一个字段,来表示这个同学是否已经参加过考试了。
可以做个登陆系统,每个参加考试者使用用户名密码登陆,如果他没有参加考试,那么调出试题让其作。如果已经参加了,那么给出提示。
也可以在用户提交试题的时候,先判断一下他时候已经参加过了(判断是否已经参加过了的方法就是用上面的一个字段,比如,如果已经参加过了,字段值为1,否则为0。或者不用一个新字段。直接看其成绩,如果这人成绩不为0没,那说明已经有成绩了,就不能再做了),如果参加过了,就不再提交。如果没有参加过,就进行评定成绩并写入数据库。
二、如果要让某台机器一段时间之内只能答题一次,那么可以通过记录IP地址的方法(这种做法只适用于局域网,也就是内网,因为局域网用户使用同一个IP出口,无法区别每一个用户)。这么做得考虑清楚确实有必要才行。因为有人可能在公共办公室的机器或者机房的机器做题,完之后又有下一个人来做,如果限制了IP,那么这个机器上只能有一个人做题,其他人不能用。除非更换IP。
这种情况下,建立一个表用来存放IP地址,或者用户名与IP地址的对应关系。每有一个用户登录到系统,那么先查看一下其IP是否已经被使用,如果已经被使用,则提示无法答题。如果没有被使用,那么可以答题。 |
|
2#楼 |
|
|
回复人:cykk |
注册时间:2004-12-30 |
主题/回复:41/99 |
积分:688 |
等级:★★★(六级) |
称号:声名鹊起 |
|
|
|
2#楼 发表于2005-06-28 03:52:57
评分:×
|
|
有点思路了,谢谢!不过这几天要考试,没有多少时间来搞,等考试完之后再做做看! |
|