想做一个在线答题系统,看看网上有个现成的,拿来试试,下载源码上传到sina云,为什么和原创的不一样呢?(答完题后没分数)
我的sina云地址:http://1.xyqcsmwly.sinaapp.com/quizphp/quiz.php
原创的演示地址:http://www.helloweba.com/demo/quiz/quiz.php
我的代码:
quiz.php
1 | <?phpinclude_once( "connect.php" ); $sql = "select * from quiz order by id asc" ; $query = mysql_query( $sql ); while ( $row =mysql_fetch_array( $query )){ $answers = explode ( '###' , $row [ 'answer' ]); $arr [] = array ( 'question' => $row [ 'id' ]. '、' . $row [ 'question' ], 'answers' => $answers );} $json = json_encode( $arr );?><!DOCTYPE HTML><html><head><meta charset= "utf-8" ><meta name= "viewport" content= "width=device-width, initial-scale=1, maximum-scale=1" ><title>演示:如何使用jQuery+PHP+MySQL来实现一个在线测试项目</title><meta name= "keywords" content= "jquery,php,mysql" /><meta name= "description" content= "Helloweba文章结合实例演示HTML5、CSS3、jquery、PHP等WEB技术应用。" /><link rel= "stylesheet" type= "text/css" href= "main.css" /><link rel= "stylesheet" type= "text/css" href= "styles.css" /><style type= "text/css" >.demo{width:760px; margin:60px auto 10px auto}</style><script src= "my.js" ></script><script src= "quizs.js" ></script><script>$( function (){ $( '#quiz-container' ).jquizzy({ questions: <?php echo $json ;?>, sendResultsURL: 'data.php' });});</script></head><body> <div id= "header" > <div id= "logo" ><h1 id= "a-nbsp-href-http-www-helloweba-com-nbsp-title-返回helloweba首页-helloweba-a" ><a href= "http://www.helloweba.com" title= "返回helloweba首页" >helloweba</a></h1></div> <div class = "demo_topad" ><script src= "/js/ad_js/demo_topad.js" type= "text/javascript" ></script></div></div><div id= "main" > <h2 id= "a-nbsp-href-http-www-helloweba-com-view-blog-html-如何使用jQuery-PHP-MySQL来实现一个在线测试项目-a" ><a href= "http://www.helloweba.com/view-blog-297.html" >如何使用jQuery+PHP+MySQL来实现一个在线测试项目</a></h2> <div class = "demo" > <div id= 'quiz-container' ></div> </div> <div class = "ad_76090" ><script src= "/js/ad_js/bd_76090.js" type= "text/javascript" ></script></div><br/></div><div id= "footer" > <p>Powered by helloweba.com 允许转载、修改和使用本站的DEMO,但请注明出处:<a href= "http://www.helloweba.com" >www.helloweba.com</a></p></div><p id= "stat" ><script type= "text/javascript" src= "/js/tongji.js" ></script></p></body></html>
|
Copier après la connexion
connect.php
1 | <?php $host =SAE_MYSQL_HOST_M; $port =SAE_MYSQL_PORT; $db_user =SAE_MYSQL_USER; $db_pass =SAE_MYSQL_PASS; $db_name =SAE_MYSQL_DB; $link =mysql_connect( $host . ':' . $port , $db_user , $db_pass );mysql_select_db( $db_name , $link );mysql_query( "SET names UTF8" );header( "Content-Type: text/html; charset=utf-8" );date_default_timezone_set( $timezone );
|
Copier après la connexion
data.php
1 | <?phpinclude_once( "connect.php" ); $data = $_REQUEST [ 'an' ]; $answers = explode ( '|' , $data ); $an_len = count ( $answers )-1;
|
Copier après la connexion
Copier après la connexion
回复讨论(解决方案)
data.php
1 | <?phpinclude_once( "connect.php" ); $data = $_REQUEST [ 'an' ]; $answers = explode ( '|' , $data ); $an_len = count ( $answers )-1;
|
Copier après la connexion
Copier après la connexion
quizs.js
1 | ( function ($) { $.fn.jquizzy = function (settings) { var defaults = { questions: null, startImg: 'images/start.gif' , endText: '已结束!' , shortURL: null, sendResultsURL: null, resultComments: { perfect: '你是爱因斯坦么?' , excellent: '非常优秀!' , good: '很好,发挥不错!' , average: '一般般了。' , bad: '太可怜了!' , poor: '好可怕啊!' , worst: '悲痛欲绝!' } }; var config = $.extend(defaults, settings); if (config.questions === null) { $(this).html( '<div class="intro-container slide-container"><h2 id="Failed-nbsp-to-nbsp-parse-nbsp-questions">Failed to parse questions.</h2></div>' ); return ; } var superContainer = $(this), answers = [], introFob = ' <div class="intro-container slide-container"><a class="nav-start" href="#">请认真完成测试题。准备好了吗?<br/><br/><span><img src="/static/imghw/default1.png" data-src="' +config.startImg+ '" class="lazy" +config.startImg+' " alt=" 昨晚忙到凌晨3点都没解决的问题,大侠,今天晚能不熬夜不?HELP! " ></span></a></div> ', exitFob = '<div class=" results-container slide-container "><div class=" question-number ">' + config.endText + '</div><div class=" result-keeper "></div></div><div class=" notice ">请选择一个选项!</div><div class=" progress-keeper " ><div class=" progress "></div></div>', contentFob = '', questionsIteratorIndex, answersIteratorIndex; superContainer.addClass('main-quiz-holder'); for (questionsIteratorIndex = 0; questionsIteratorIndex < config.questions.length; questionsIteratorIndex++) { contentFob += '<div class=" slide-container "><div class=" question-number ">' + (questionsIteratorIndex + 1) + '/' + config.questions.length + '</div><div class=" question ">' + config.questions[questionsIteratorIndex].question + '</div><ul class=" answers ">'; for (answersIteratorIndex = 0; answersIteratorIndex < config.questions[questionsIteratorIndex].answers.length; answersIteratorIndex++) { contentFob += '<li>' + config.questions[questionsIteratorIndex].answers[answersIteratorIndex] + '</li>'; } contentFob += '</ul><div class=" nav-container ">'; if (questionsIteratorIndex !== 0) { contentFob += '<div class=" prev "><a class=" nav-previous " href=" # ">< 上一题</a></div>'; } if (questionsIteratorIndex < config.questions.length - 1) { contentFob += '<div class=" next "><a class=" nav-next " href=" # ">下一题 ></a></div>'; } else { contentFob += '<div class=" next final "><a class=" nav-show-result " href=" # ">完成</a></div>'; } contentFob += '</div></div>'; answers.push(config.questions[questionsIteratorIndex].correctAnswer); } superContainer.html(introFob + contentFob + exitFob); var progress = superContainer.find('.progress'), progressKeeper = superContainer.find('.progress-keeper'), notice = superContainer.find('.notice'), progressWidth = progressKeeper.width(), userAnswers = [], questionLength = config.questions.length, slidesList = superContainer.find('.slide-container'); function checkAnswers() { var resultArr = [], flag = false; for (i = 0; i < answers.length; i++) { if (answers[i] == userAnswers[i]) { flag = true; } else { flag = false; } resultArr.push(flag); } return resultArr; } function roundReloaded(num, dec) { var result = Math.round(num * Math.pow(10, dec)) / Math.pow(10, dec); return result; } function judgeSkills(score) { var returnString; if (score === 100) return config.resultComments.perfect; else if (score > 90) return config.resultComments.excellent; else if (score > 70) return config.resultComments.good; else if (score > 50) return config.resultComments.average; else if (score > 35) return config.resultComments.bad; else if (score > 20) return config.resultComments.poor; else return config.resultComments.worst; } progressKeeper.hide(); notice.hide(); slidesList.hide().first().fadeIn(500); superContainer.find('li').click(function() { var thisLi = $(this); if (thisLi.hasClass('selected')) { thisLi.removeClass('selected'); } else { thisLi.parents('.answers').children('li').removeClass('selected'); thisLi.addClass('selected'); } }); superContainer.find('.nav-start').click(function() { $(this).parents('.slide-container').fadeOut(500, function() { $(this).next().fadeIn(500); progressKeeper.fadeIn(500); }); return false; }); superContainer.find('.next').click(function() { if ($(this).parents('.slide-container').find('li.selected').length === 0) { notice.fadeIn(300); return false; } notice.hide(); $(this).parents('.slide-container').fadeOut(500, function() { $(this).next().fadeIn(500); }); progress.animate({ width: progress.width() + Math.round(progressWidth / questionLength) }, 500); return false; }); superContainer.find('.prev').click(function() { notice.hide(); $(this).parents('.slide-container').fadeOut(500, function() { $(this).prev().fadeIn(500); }); progress.animate({ width: progress.width() - Math.round(progressWidth / questionLength) }, 500); return false; }); superContainer.find('.final').click(function() { if ($(this).parents('.slide-container').find('li.selected').length === 0) { notice.fadeIn(300); return false; } superContainer.find('li.selected').each(function(index) { userAnswers.push($(this).parents('.answers').children('li').index($(this).parents('.answers').find('li.selected')) + 1); }); progressKeeper.hide(); var resultSet = ''; if (config.sendResultsURL !== null) { var collate = []; var myanswers = ''; for (r = 0; r < userAnswers.length; r++) { collate.push('{" questionNumber ":" ' + parseInt(r + 1, 10) + ' ", " userAnswer ":" ' + userAnswers[r] + ' "}'); myanswers = myanswers + userAnswers[r]+'|'; } $.getJSON(config.sendResultsURL,{an:myanswers},function(json){ if(json==null){ alert('通讯失败!'); }else{ var corects = json['res']; $.each(corects,function(index,array){ resultSet += '<div class=" result-row ">' + (corects[index] === 1 ? " <div class ='correct '>#"+(index + 1)+"<span></span></div>": "<div class=' wrong '>#"+(index + 1)+"<span></span></div>")+' </div> '; }); resultSet = ' <h2 id="nbsp-nbsp-judgeSkills-json-score-nbsp-nbsp-br-nbsp-您的分数-nbsp-nbsp-nbsp-json-score-nbsp-nbsp ">' + judgeSkills(json.score) + '<br/> 您的分数: ' + json.score + '</h2><div class=" jquizzy-clear "></div>' + resultSet + '<div class=" jquizzy-clear"></div> '; superContainer.find(' .result-keeper ').html(resultSet).show(500); } }); } //superContainer.find(' .resultsview-qhover ').hide(); $(this).parents(' .slide-container').fadeOut(500, function () { $(this).next().fadeIn(500); }); return false; }); };})(jQuery);
|
Copier après la connexion
文件目录:
原创在线答题源码地址:http://www.helloweba.com/downsoft/297/
大侠们,帮忙看看,谢谢!
quiz.sql
1 | -- phpMyAdmin SQL Dump-- version 3.2.0.1-- http:
|
Copier après la connexion
感谢版主大人xuzuning的回复,补齐4个文件,仍不能统计出结果。
补齐4个文件后的测试连接:http://2.xyqcsmwly.sinaapp.com/quiz.php
Warning: Cannot modify header information - headers already sent by (output started at /data1/www/htdocs/795/xyqcsmwly/2/quiz.php:1) in connect.php on line 12
你自己 F12
感谢,xuzuning,程序已正常运行。估计和SINA云身份认证有关,谢谢!