很多站长朋友们都不太清楚Php在线考试系统的设计,今天小编就来给大家整理Php在线考试系统的设计,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 假设我用PHP做了一个在线考试系统,有一个学生正常登录了,然后他通过在浏览器地址栏直接输入某个网页的 2、 php考试系统怎么去做? 3、 php thinkphp 在线考试 系统 1000分求设计思路 4、 php在线考试系统,可以自定义试卷的题数,数据库该怎么设计? 5、 php考试系统怎么去做 假设我用PHP做了一个在线考试系统,有一个学生正常登录了,然后他通过在浏览器地址栏直接输入某个网页的可以在打开这个系统的时候系统生成一个数组存在session中,当有人登录或者未登陆直接访问入口文件以外的文件时,做个判断,看当前登录或者未登录的人是否在session中.如果存在就是拥有访问权限,否则不可以. session中可以存储的是拥有权限用户的名字,分组或者ip等等.
基于上述的判断,也可以在入口文件被登录时生成一个常量,在直接访问入口文件以外的文件时,判断这个常量值,以便控制用户是否是经由入口文件访问其他文件的!
php考试系统怎么去做?我只说简单的吧 首先设计数据表questions,questions表包括三个字段,id,question,answer 分别是,题目ID,题目,题目答案 然后在前台 <?php $num=array(); //保存题目数的数组 for($i=0;$i<$question_num;$i++) //$question_num是要读取的题目数量 { $b=mt_rand(0,$max_questionID); //这里$max_questionID是说你的数据表中一共几道题。 while(in_array($b,$num)) { $b=mt_rand(0,$max_questionID); //这个循环是为了防止生成重复的题目号 } $num[]=$b; } ?> 这样我们就得到了一个保存着要读取的题目号的数组; 然后就可以连接数据库进行读取了 <?php mysql_connect("","",""); mysql_select_db('db'); mysql_query('SET NAMES gb2312'); foreach($num as $value) { $string.=$value.','; } $string=substr($string,0,-1); $sql="select question,answer from questions where id in ($string)"; $r=mysql_query($sql); $answer=array(); $i=0; while($row=mysql_fetch_array($r)) { echo $row['question'].'<br>'; $answer[$i][]=$row['answer']; //把答案保存进一个二维数组 $i++; } $fname=mt_rand(0,1000); $fp=fopen($fname,'w'); fwrite($fp,serialize($answer)); //把序列化后的答案写入一个随机生成的文件中; fclose($fp); ?> 添加题目就不用我说了吧?插入数据呗。。。很简单,不啰嗦了 然后是得分是么? 前台设计的时候要注意,单选框的名字要是一个数组才行,<input type="radio" name="answer[]" value="a"/>类似这样的,并且创建一个隐藏域<input type="hidden" value="<? echo $fname ?>" name="fname" />这是为了能够获得此次考试对应的答案 后台就可以通过这个数组来获取回答者的答案并且进行判断了 <?php $answer=$_POST['answer']; $fname=$_POST['fname']; $fp1=fopen($fname,'r'); $content=fread($fp); fclose($fp1); $rightanswer=unserialize($content); 剩下得就是判断提交的答案是否与正确答案相同了,然后加分数,不用啰嗦了吧? ?>
求采纳
php thinkphp 在线考试 系统 1000分求设计思路1、因为报名系统是活动性质的,必须使用Js配合来实现按钮根据时间动态切换可点击状态,报名按钮提交后可由php再进行二次时间判断,增强系统稳定性,因为js读取的时间可能不是很统一,但php的时间是统一的。
2、考试的题目每次新建临时表,由第一个打开考试试题的人触发,然后将题目存储到数据库,其它人判断数据库,或者报名结束之后,即生成考题并存储到数据库表中
3、因为考题已经写入数据库了,所以自然可以增加一个字段做为该试卷的编号。
php在线考试系统,可以自定义试卷的题数,数据库该怎么设计?一:题目表
字段为:题目id,题目标题,题目类型(填空,多选,单选,问答等)
二:答案表
字段为: 表自增id, 题目ID,答案文字 (如选择题,一个题目id会对应多个答案)
三: 试卷表
字段为:表自增id, 试卷名称,题目ID,分数 (该题在该试卷的分数)
php考试系统怎么去做一般在线考试系统,会事先将题库和题型都设置好,并设置考试时间。在没有到达考试时间时,考生登录系统进入等待页面,到达考试时间后用户进入考场,显示考试试题,考生作答完成提交自动阅卷生成成绩。
试题只在考试时生成试卷,提交答案时操作数据库,这个应当不存在什么压力不压力的。但是考虑将试题输出到客户端缓存,这个是有必要的。假若为每个用户生成的试卷都不相同时,则可以试卷存储到cookie(Cookie是保存在客户端的,而且可以设置过期时间,考试结束提交试卷后清空),进入考场后从Cookie读取试卷而无需再次从数据库生成下载,即使中途断电,试题也无需再次生成。
至于有的朋友说将试题输出到JS,这个是不可行的,因为JS只能在当前页面保存,刷新操作或者跳转页面都会丢失,处理起来也麻烦,而且还很有可能没考试考题都泄露干净了。
关于Php在线考试系统的设计的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于关于Php在线考试系统的设计的信息的详细内容...