在线考试系统PHP编码,在线考试系统 php版

[php]代码库<?php

set_include_path('.' . PATH_SEPARATOR . './admin'. PATH_SEPARATOR . get_include_path());

include("global.php");

$threadid = intval($_REQUEST[threadid]);

if($_POST["action"]=="dotest"){

$_POST[radio] = $_POST[radio] ? $_POST[radio] : array();

$_POST[checkbox] = $_POST[checkbox] ? $_POST[checkbox] : array();

//取得单选和多选分值

$getsetmark = $db->query_first("SELECT radio,checkbox FROM ".$db_prefix."setmark");

//缓存所有正确答案

$answers = $db->query("SELECT id,title,choicetype,answer FROM ".$db_prefix."title WHERE 1");

$answer_array = array();

$titles = array();

$error = array();

$tmark = 0;

while($row = $db->fetch_array($answers)){

$answer_array[$row[id]] = $row[answer];

$titles[$row[id]] = $row[title];

if($row[choicetype]=="radio"){

$tmark += $getsetmark[radio];

}elseif($row[choicetype]=="checkbox"){

$tmark += $getsetmark[checkbox];

}

}

$mark = 0;

foreach($_POST[radio] as $titleid=>$choice){

if($choice == $answer_array[$titleid]){

$mark += $getsetmark[radio];

}else{

$error[] = array($titleid,$choice,$answer_array[$titleid]);

}

}

foreach($_POST[checkbox] as $titleid=>$choice){

$c_answers = explode(",",$answer_array[$titleid]);

$flag = false;

foreach($c_answers as $answer){

if(!in_array($answer,$choice)){

$flag = true;

}

}

foreach($choice as $answer){

if(!in_array($answer,$c_answers)){

$flag = true;

}

}

if($flag){

$error[] = array($titleid,implode(",",$choice),$answer_array[$titleid]);

continue;

}

$mark += $getsetmark[checkbox];

}

$msg = "本次考试总分{$tmark}分\\n你的得分{$mark}分\\n";

if($error){

$msg .= "以下题目你回答错误:\\n";

foreach($error as $v){

$msg .= "{$titles[$v[0]]}\\n你的答案:{$v[1]}\\n正确答案:{$v[2]}\\n\\n";

}

}

echo "";

exit;

}

if(!$threadid){

echo "参数错误";

echo '';

exit;

}

//考试名称

$threads = $db->query_first("SELECT name FROM ".$db_prefix."thread WHERE id=$threadid");

$threadtitle = $threads[name];

//题目表单

$conditions = $threadid ? "threadid='$threadid'" : 1;

$titles = $db->query("SELECT * FROM ".$db_prefix."title WHERE $conditions ORDER BY id ASC");

$titlelist = false;

$int = 0;

while($title = $db->fetch_array($titles)){

$int++;

$choices = false;

$tests = $db->query("SELECT * FROM ".$db_prefix."choice WHERE extends=$title[id] ORDER BY id ASC");

$i=0;

while($test=$db->fetch_array($tests)) {

$i++;

$checked = $test["IsDefault"] ? "checked" : false;

if($title[choicetype]=="radio"){

$choices .= " $test[choice]"; //

}else{

$choices .= " $test[choice]";//

}

}

eval("\$titlelist .= \"".gettemplate("test_title_list")."\";");

}

eval("\$header = \"".gettemplate("test_header")."\";");

eval("\$footer = \"".gettemplate("test_footer")."\";");

eval("dooutput(\"".gettemplate("test_test")."\");");

?>

[源代码打包下载]

7ab7b94785bbdb79d4aaa6009386543f.gif在线考试系统 php版.rar(50积分)[345 次下载]

694748ed64b9390909c0d88230893790.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值