① 如何基于设计模式的在线考试系统设计
一般用B/S框架,C/S框架。用.net\java\php开发。
② PHP的在线考试系统,做每一题都可以返回前一题修改答案,如何实现
做一个可以左右滑动的按钮即可。如下图:
③ php考试系统数据库设计,主要是题库表和试卷表
1、题库记录各种试题
2、试卷是按规则生成出的试题;
3、用户考试:用户 关联 试卷 及试题 ,计算得分
大致就可以了1
④ 在线考试系统
目前好用的在线考试系统很多,具有以下库,每个库都有各自的功能:
考试库
考试库主要含有试卷创建、选题组卷、考试功能设置、考试证书发放等多个子级功能。通过考试模块的相关设置,用户能够完成从题库中选择具体题目组成试卷、考试时间以及在线考场环境的限制要求等内容设定。在考试结束以后,如果考生的成绩达到了预设值,那么系统可以自动发放用来证明考生通过考试的电子证书。
考试库是在线考试系统中使用最为频繁的,也是在线考试系统的核心功能模块。一般开发者都会针对考试模块的功能进行升级优化,使在线考试系统本身支持的功能变得更加强大。
成员库
成员库的内容不多,主要包含成员信息管理以及成员组织架构这两个方面。
内部考试需要确定参与考试的成员名单,而成员名单信息就需要从成员模块中进行选取。成员信息的录入支持在线编辑或者是批量导入的方式,还是十分方便的。如果机构的成员信息过多,那么管理起来相对麻烦,通过组织架构的设定可以将成员信息进行分类,让每个成员归属到对应的分类中。
在成员管理方面,超级管理员还可以设定子管理员来协助管理,每个子管理员可以分配一定的权限,使其按照成员组织架构或者是功能权限来进行分工管理合作。
题库
题库是用来保存在线考试的过程中所需要使用的试题的,一般支持线上添加、上传文档或者是批量导入的方式来新增题目信息。其中题目支持的题型比较多,有选择、判断、填空、简答等多种常见题型。针对不常见的题型,还可以利用多题型组合的方式来完成对应题目的录入,比如常见的完形填空或者是阅读理解之类的题目。
题库中的题目能够设置难易程度,也可以进行题库分类,方便选题组卷时能够有的放矢。
统计库
统计库不需要用户进行过多处理,主要是依托于考试结果来进行关键数据的计算,这也是在线考试系统的优势之一。在考试结束后,系统能够自动进行阅卷评分并将成绩信息进行批量汇总统计,用户通过统计功能,一键即可得到最高分、最低分、平均分、及格率等多项考试所需要的核心信息。
⑤ php在线考试系统单选题答案提交
客户端用JS的cookies保存答案/做个计时[]
弄个按纽,当时间到或按了按纽就直接提交所有答案到后台.
如果是单选就直接用字符串来表示.
后台分割POST过来的数据为数组和标准答案数组比较得到分数.
答案可以通过数据库保存.
数据表:
ID 问题 标准答案
ID 回答者 问题数组 标准答案数组 用户答案数组 分数
⑥ 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+mysql制作一个在线考试系统
你给多少钱啊,给你做?
⑧ php在线考试系统,可以自定义试卷的题数,数据库该怎么设计
一:题目表
字段为:题目id,题目标题,题目类型(填空,多选,单选,问答等)
二:答案表
字段为: 表自增id, 题目ID,答案文字 (如选择题,一个题目id会对应多个答案)
三: 试卷表
字段为:表自增id, 试卷名称,题目ID,分数 (该题在该试卷的分数)
⑨ 怎样比较用Java和PHP 开发的在线考试系统的区别在哪里
PHP很专一,用于创建动态网页的服务器端的脚本语言。作为一种为Web而特别设计的语言,PHP带来了许多商业机构渴望的特性。
·学习周期短,比较简单
·快速的开发时间
·非常高的性能
这对于缺乏熟练编程人员,时间又非常紧迫的公司来讲,具有非常重要的意义。跨平台性很好,PHP可以在所有主要的操作平台(UNIX,Windows,甚至是大型机)上运行,而且生来就支持各种流行的数据库。这决定它是一种进行Web开发的非常理想的选择:曾有运用PHP技术的网上商店称,他们只需雇佣业余的程序员,几天内就能够开发出可重用的代码。那些熟悉诸如C,C++或Java等语言的程序员们,也总是发现他们能够在几个小时之内就能够进行PHP编程。 ,可想而知,转行去php非常简单
“PHP是构建在Web开发人员现实需求之上的....不同于其它笨重的,高负荷的方法,PHP非常轻便,是为Web开发度身定做的。它可以比其它同类技术更快,更容易的解决复杂的问题。”
Java作为一种新的编程语言,最初用于运行嵌在浏览器中的客户端应用程序。在过去短短几年中,“applet”所暴露的问题迫使SUN和其它Java开发人员为该语言寻找新的出路。其中最为突出的就是服务器端编程,它允许Web站点连接数据库并产生其它服务器端的应用程序,即“servlets”。SUN最终推出了Java Server Pages(JSP)作为编写servlets的手段。与PHP一样,JSP在不同平台间也具有高可移植性(尽管PHP支持任何32位以及32位以上的平台,而JSP只能在安装了Java虚拟机的平台上运行)。 然后,一个没有编程背景的新手会发现,使用servlets编程是一件极为困难的事,原因在于该语言的复杂性以及JSP系统复杂的设计方式。
JSP的性能也存在许多待改进的地方:ZDnet的在线刊物eWeek最近的一项调查发现,PHP的运行速度差不多是JSP的3.7倍。可以说,JSP是Web环境中非常差的一种解决方案,这是因为它每秒钟只能处理很少的事务,而且响应速度相当的慢。
ZDnet的eWeek杂志还提到:
“JSP是一项相对较新的技术,从开发工具、资源、人才方面来看,还未具有完全的市场成熟度。”......由于JSP是基于Java的,而Java由是一种强类型的语言,所以我们不得不声明变量的类型,并在需要的地方手工转换类型。这使得JSP成为业余程序员最难于学习的一种脚本语言。
PHP与Java协同工作
JSP仅仅是一种能够访问Java对象的语言罢了,认识到这一点很重要。而PHP也可以整合Java,这意味着,PHP可以象JSP一样,成为一种能够调用Java逻辑的脚本语言。但与JSP不同的是,PHP还可以调用其它组件模型,如Microsoft的COM,而且增加对新的对象模型的支持也极为容易。可见,PHP的扩展能力是无穷的。而另一方面,JSP完全依赖于Java。
IBM程序员Sam Ruby联合使用PHP和Java。通过PHP对Java的良好支持,使得Java对象如同常规的PHP对象一样,透明地被创建和使用。
AutionWatch网站使得各种规模的商业团体都可以从其动态竞价环境中获益。它每月的访问人数在二百六十万以上;已有三十多万个注册用户;每个月进行一百二十万次拍卖。 他们曾尝试使用Java,但还是选择了PHP,就因为它更容易使用,开发速度更快。
编程顾问Reuven Lerner曾在各种语言之间作过比较。他对PHP的评价:
“这是门容易学习的语言。美工和Web设计师可能会说他们并非程序员,但事实上,他们在大型项目中,越来越多的使用了JavaScript,VBScript以及其它一些简单的编程语言。与Perl相比,PHP更加正规和明确;对一个新手来说,PHP比Java更容易掌握。确实,PHP有点象JavaScript(如果存在服务器端版本的话)。任何人,不管有无编程经验,都可以在很短的时间里学会并使用PHP。这一点也许VBScript可以做到,但Perl和Java肯定不行.....PHP绝对是一个非凡的,强大的系统。无怪乎能够成为创建Web站点的流行语言.....我认为,PHP将成为Java和JSP强有力的竞争对手,我会在某些客户和公司内部项目中极力推荐PHP。”
PHP:一直在前进
JSP有Sun作为其后盾,因此不断获得媒体的关注。但有趣的是,尽管没有任何宣传攻势,PHP的流行度仍然以8-11%的速度在增长,远远大于服务器端应用程序4%的月增长率。有六百五十万个站点使用了PHP。39%的Apache服务器上配置了PHP;而Perl占了11%的市场分额,名列第四。Apache保持着59%的Web服务器市场占有率;Microsoft次之,仅28%。
使用PHP的着名公司有:Unilever、Philips、NTT、Cisco、 Japan Airlines、 Air Canada、 Lufthansa、GE Marketplace、 Wallstreet:Online Germany、 AuctionWatch、 VillageVoic、 Dialpad以及BMC,等等很多,世界上前四十的网站中就有二十多个是用php语言开发的。
⑩ 假设我用PHP做了一个在线考试系统,有一个学生正常登录了,然后他通过在浏览器地址栏直接输入某个网页的
可以在打开这个系统的时候系统生成一个数组存在session中,当有人登录或者未登陆直接访问入口文件以外的文件时,做个判断,看当前登录或者未登录的人是否在session中.如果存在就是拥有访问权限,否则不可以. session中可以存储的是拥有权限用户的名字,分组或者ip等等.
基于上述的判断,也可以在入口文件被登录时生成一个常量,在直接访问入口文件以外的文件时,判断这个常量值,以便控制用户是否是经由入口文件访问其他文件的!