【问题标题】:How to use PHP to grade multiple choice questions on a form如何使用 PHP 对表单上的多项选择题进行评分
【发布时间】:2012-03-30 03:38:38
【问题描述】:

这个板上的人是我认识的一些最聪明的人,所以我转向这里寻求支持......

我不是非常精通网络,但我是一名社会研究教师,我正在尝试建立一个网站,让我的学生在家完成在线测试。

我不是程序员,所以我购买了一个带有网站设计工具包的起始网址,以便我可以将测试创建为表单。

我希望学生观看视频,然后回答有关我输入表格的视频的问题。

我的问题是--- 由于大部分问题是 T/F 或多项选择题,我该如何设置以便当学生的测试提交给我时,任何可以通过计算机评分的问题都已经评分了,所以我只需要对填空题和作文题评分???

这是我在网站上的一个测试表格的示例,它有 16 个问题--

<div id="content">

  <div id='wsite-content' class='wsite-not-footer'>
<div class='wsite-not-footer'>
<div  class="paragraph editable-text"><font size="2"><span style="font-weight: bold;"><br /><font style="color: rgb(0, 0, 0);" color="#33ccff">There are 3 videos that go with&nbsp;Step 1.&nbsp; </font></span></font><font style="color: rgb(0, 0, 0);" color="#33ccff"><br /><span></span><br /><span style="font-weight: bold;">After you watch each video there will be questions that you will need to answer about that video.&nbsp; Once you have completed the questions for all 3 videos, then hit 'SUBMIT' and your answers will be sent out to be graded.</span></font><br /><br /></div>

<div >
<form enctype="multipart/form-data" action="http://www.dragndropbuilder.com/editor/apps/formSubmit.php" method="POST" id="form-775529455932787620">
<div id="775529455932787620-form-parent" class="wsite-form-container" style="margin-top:10px;">
  <ul class="formlist" id="775529455932787620-form-list">
    <h2  style=" text-align: center; "><FONT size=2>Use the 3 videos to answer questions 1-16 and then submit them for review.</FONT></h2>

<div ><div class="wsite-form-field" style="margin:5px 0px 5px 0px;">
  <label class="wsite-form-label" for="input-545537524713528365">Enter your User ID# <span class="form-required">*</span></label>
  <div class="wsite-form-input-container">
    <input id="input-545537524713528365" class="wsite-form-input wsite-input" type="text" name="_u545537524713528365" style="width:100px;" />
  </div>
  <div id="instructions-545537524713528365" class="wsite-form-instructions" style="display:none;">The User ID# that was assigned to you
(YA#)</div>
</div></div>

<div ><div class="wsite-form-field" style="margin:5px 0px 5px 0px;">
  <label class="wsite-form-label" for="input-712144062427340201">Email <span class="form-required">*</span></label>
  <div class="wsite-form-input-container">
    <input id="input-712144062427340201" class="wsite-form-input wsite-input" type="text" name="_u712144062427340201" style="width:370px;" />
  </div>
  <div id="instructions-712144062427340201" class="wsite-form-instructions" style="display:none;"></div>
</div></div>

<h2  style=" text-align: center; "><br /><span></span>Video #1</h2>

<div  style=" margin-top: 10px; margin-bottom: 10px; "><div style="text-align: center;"><object width="300" height="247"><param name="movie" value="http://www.youtube.com/v/rT3QOqttWj4"></param><param name="wmode" value="transparent"></param><param name="allownetworking" value="internal"></param><embed src="http://www.youtube.com/v/rT3QOqttWj4" type="application/x-shockwave-flash" allownetworking="internal" wmode="transparent" width="300" height="247"></embed></object></div></div>

<h2  style=" text-align: center; "><br /><span></span>Video #1 Questions</h2>

<div ><div class="wsite-form-field" style="margin:5px 0px 0px 0px;">
  <label class="wsite-form-label" for="input-186019324657526747">1)  You learned about 2 types of creeds- what were they?  <span class="form-required">*</span></label>
  <div class="wsite-form-radio-container">
    <span class='form-radio-container'><input type='checkbox' name='_u186019324657526747[A)  Internal Creed]' value='1' /><label>A)  Internal Creed</label></span>
<span class='form-radio-container'><input type='checkbox' name='_u186019324657526747[B)  Behavioral Creed]' value='1' /><label>B)  Behavioral Creed</label></span>
<span class='form-radio-container'><input type='checkbox' name='_u186019324657526747[C)  Emotional Creed]' value='1' /><label>C)  Emotional Creed</label></span>
<span class='form-radio-container'><input type='checkbox' name='_u186019324657526747[D)  Intellectual Creed]' value='1' /><label>D)  Intellectual Creed</label></span>

  </div>
  <div id="instructions-1)  You learned about 2 types of creeds- what were they? " class="wsite-form-instructions" style="display:none;"></div>
</div></div>

<div ><div class="wsite-form-field" style="margin:5px 0px 0px 0px;">
  <label class="wsite-form-label" for="input-483240168633160132">2)  Which creed is the most ideal for making good decisions? <span class="form-required">*</span></label>
  <div class="wsite-form-radio-container">
    <span class='form-radio-container'><input type='radio' name='_u483240168633160132' value='A)  Internal Creed' /><label>A)  Internal Creed</label></span>
<span class='form-radio-container'><input type='radio' name='_u483240168633160132' value='B)  Behavioral Creed' /><label>B)  Behavioral Creed</label></span>
<span class='form-radio-container'><input type='radio' name='_u483240168633160132' value='C)  Intellectual Creed' /><label>C)  Intellectual Creed</label></span>
<span class='form-radio-container'><input type='radio' name='_u483240168633160132' value='D)  All of the above' /><label>D)  All of the above</label></span>
<span class='form-radio-container'><input type='radio' name='_u483240168633160132' value='E)  None of the above' /><label>E)  None of the above</label></span>

  </div>
  <div id="instructions-2)  Which creed is the most ideal for making good decisions?" class="wsite-form-instructions" style="display:none;"></div>
</div></div>

<div ><div class="wsite-form-field" style="margin:5px 0px 0px 0px;">
  <label class="wsite-form-label" for="input-746217096361999826">3)  Which creed is the one that we usually use when we make decisions? <span class="form-required">*</span></label>
  <div class="wsite-form-radio-container">
    <span class='form-radio-container'><input type='radio' name='_u746217096361999826' value='A)  Emotional Creed' /><label>A)  Emotional Creed</label></span>
<span class='form-radio-container'><input type='radio' name='_u746217096361999826' value='B)  Behavioral Creed' /><label>B)  Behavioral Creed</label></span>
<span class='form-radio-container'><input type='radio' name='_u746217096361999826' value='C)  Intellectual Creed' /><label>C)  Intellectual Creed</label></span>
<span class='form-radio-container'><input type='radio' name='_u746217096361999826' value='D)  All of the above' /><label>D)  All of the above</label></span>
<span class='form-radio-container'><input type='radio' name='_u746217096361999826' value='E)  Both A &amp; B' /><label>E)  Both A &amp; B</label></span>

  </div>
  <div id="instructions-3)  Which creed is the one that we usually use when we make decisions?" class="wsite-form-instructions" style="display:none;"></div>
</div></div>

<div ><div class="wsite-form-field" style="margin:5px 0px 5px 0px;">
  <label class="wsite-form-label" for="input-434256132673880428">4)  Why is self-assessment & awareness important on a daily basis? <span class="form-required">*</span></label>
  <div class="wsite-form-input-container">
    <input id="input-434256132673880428" class="wsite-form-input wsite-input" type="text" name="_u434256132673880428" style="width:370px;" />
  </div>
  <div id="instructions-434256132673880428" class="wsite-form-instructions" style="display:none;"></div>
</div></div>

<div ><div class="wsite-form-field" style="margin:5px 0px 5px 0px;">
  <label class="wsite-form-label" for="input-444728886557485101">5)  What does it mean when Dr. Benzio says that we need to do maintenance work to prevent crisis work? <span class="form-required">*</span></label>
  <div class="wsite-form-input-container">
    <input id="input-444728886557485101" class="wsite-form-input wsite-input" type="text" name="_u444728886557485101" style="width:370px;" />
  </div>
  <div id="instructions-444728886557485101" class="wsite-form-instructions" style="display:none;"></div>
</div></div>

<div ><div class="wsite-form-field" style="margin:5px 0px 5px 0px;">
  <label class="wsite-form-label" for="input-547180780270073494">6)  What stands out as the most important thing that you learned by watching this video?  <span class="form-required">*</span></label>
  <div class="wsite-form-input-container">
    <input id="input-547180780270073494" class="wsite-form-input wsite-input" type="text" name="_u547180780270073494" style="width:370px;" />
  </div>
  <div id="instructions-547180780270073494" class="wsite-form-instructions" style="display:none;"></div>
</div></div>

<h2  style=" text-align: center; "><br /><span></span>Video #2</h2>

<div  style=" margin-bottom: 10px; margin-top: 10px; "><div style="text-align: center;"><object width="300" height="247"><param name="movie" value="http://www.youtube.com/v/WYE123qP6dc"></param><param name="wmode" value="transparent"></param><param name="allownetworking" value="internal"></param><embed src="http://www.youtube.com/v/WYE123qP6dc" type="application/x-shockwave-flash" allownetworking="internal" wmode="transparent" width="300" height="247"></embed></object></div></div>

<h2  style=" text-align: center; "><br /><span></span>Video #2 Questions</h2>

<div ><div class="wsite-form-field" style="margin:5px 0px 0px 0px;">
  <label class="wsite-form-label" for="input-329313228349741149">7)  People have a fear of the unknown because they are creatures of habit. <span class="form-required">*</span></label>
  <div class="wsite-form-radio-container">
    <span class='form-radio-container'><input type='radio' name='_u329313228349741149' value='A)  True' /><label>A)  True</label></span>
<span class='form-radio-container'><input type='radio' name='_u329313228349741149' value='B)  False' /><label>B)  False</label></span>

  </div>
  <div id="instructions-7)  People have a fear of the unknown because they are creatures of habit." class="wsite-form-instructions" style="display:none;"></div>
</div></div>

<div ><div class="wsite-form-field" style="margin:5px 0px 5px 0px;">
  <label class="wsite-form-label" for="input-775199879195536251">8)  Do you want change to happen in your life?  Why or why not? <span class="form-required">*</span></label>
  <div class="wsite-form-input-container">
    <input id="input-775199879195536251" class="wsite-form-input wsite-input" type="text" name="_u775199879195536251" style="width:370px;" />
  </div>
  <div id="instructions-775199879195536251" class="wsite-form-instructions" style="display:none;"></div>
</div></div>

<div ><div class="wsite-form-field" style="margin:5px 0px 0px 0px;">
  <label class="wsite-form-label" for="input-251551848140163874">9)  What is the smallest piece that we can break down life into? <span class="form-required">*</span></label>
  <div class="wsite-form-radio-container">
    <span class='form-radio-container'><input type='radio' name='_u251551848140163874' value='A)  Molecules' /><label>A)  Molecules</label></span>
<span class='form-radio-container'><input type='radio' name='_u251551848140163874' value='B)  Days' /><label>B)  Days</label></span>
<span class='form-radio-container'><input type='radio' name='_u251551848140163874' value='C)  Minutes' /><label>C)  Minutes</label></span>
<span class='form-radio-container'><input type='radio' name='_u251551848140163874' value='D)  Decisions' /><label>D)  Decisions</label></span>

  </div>
  <div id="instructions-9)  What is the smallest piece that we can break down life into?" class="wsite-form-instructions" style="display:none;"></div>
</div></div>

<div ><div class="wsite-form-field" style="margin:5px 0px 5px 0px;">
  <label class="wsite-form-label" for="input-903706497668752803">10)  What does Dr. Benzio refer to as the "key to life"? <span class="form-required">*</span></label>
  <div class="wsite-form-input-container">
    <input id="input-903706497668752803" class="wsite-form-input wsite-input" type="text" name="_u903706497668752803" style="width:370px;" />
  </div>
  <div id="instructions-903706497668752803" class="wsite-form-instructions" style="display:none;"></div>
</div></div>

<div ><div class="wsite-form-field" style="margin:5px 0px 0px 0px;">
  <label class="wsite-form-label" for="input-350633213472754726">11)  What is this course really about? <span class="form-required">*</span></label>
  <div class="wsite-form-radio-container">
    <span class='form-radio-container'><input type='radio' name='_u350633213472754726' value='A)  How to get out of trouble' /><label>A)  How to get out of trouble</label></span>
<span class='form-radio-container'><input type='radio' name='_u350633213472754726' value='B)  How to score higher on tests' /><label>B)  How to score higher on tests</label></span>
<span class='form-radio-container'><input type='radio' name='_u350633213472754726' value='C)  Making better decisions' /><label>C)  Making better decisions</label></span>
<span class='form-radio-container'><input type='radio' name='_u350633213472754726' value='D)  Figuring out ways that people will like you better' /><label>D)  Figuring out ways that people will like you better</label></span>

  </div>
  <div id="instructions-11)  What is this course really about?" class="wsite-form-instructions" style="display:none;"></div>
</div></div>

<h2  style=" text-align: center; "><br /><span></span>Video #3</h2>

<div  style=" margin-bottom: 10px; margin-top: 10px; "><div style="text-align: center;"><object width="300" height="247"><param name="movie" value="http://www.youtube.com/v/TVRr5HHRUhk"></param><param name="wmode" value="transparent"></param><param name="allownetworking" value="internal"></param><embed src="http://www.youtube.com/v/TVRr5HHRUhk" type="application/x-shockwave-flash" allownetworking="internal" wmode="transparent" width="300" height="247"></embed></object></div></div>

<h2  style=" text-align: center; "><br /><span></span>Video #3 Questions</h2>

<div ><div class="wsite-form-field" style="margin:5px 0px 0px 0px;">
  <label class="wsite-form-label" for="input-415479768763719608">12)  What do these SPECT scans of the brain show us?  <span class="form-required">*</span></label>
  <div class="wsite-form-radio-container">
    <span class='form-radio-container'><input type='radio' name='_u415479768763719608' value='A)  How smart a person is' /><label>A)  How smart a person is</label></span>
<span class='form-radio-container'><input type='radio' name='_u415479768763719608' value='B)  How smart a person COULD BE' /><label>B)  How smart a person COULD BE</label></span>
<span class='form-radio-container'><input type='radio' name='_u415479768763719608' value='C)  Brain activity- What&#039;s actually going on in the brain' /><label>C)  Brain activity- What&#039;s actually going on in the brain</label></span>
<span class='form-radio-container'><input type='radio' name='_u415479768763719608' value='D)  How long until the next meal is necessary' /><label>D)  How long until the next meal is necessary</label></span>

  </div>
  <div id="instructions-12)  What do these SPECT scans of the brain show us? " class="wsite-form-instructions" style="display:none;"></div>
</div></div>

<div ><div class="wsite-form-field" style="margin:5px 0px 0px 0px;">
  <label class="wsite-form-label" for="input-517463426874736495">13)  Brain chemistry can change dramatically in just 8 days- True or False?   <span class="form-required">*</span></label>
  <div class="wsite-form-radio-container">
    <span class='form-radio-container'><input type='radio' name='_u517463426874736495' value='A)  True' /><label>A)  True</label></span>
<span class='form-radio-container'><input type='radio' name='_u517463426874736495' value='B)  False' /><label>B)  False</label></span>

  </div>
  <div id="instructions-13)  Brain chemistry can change dramatically in just 8 days- True or False?  " class="wsite-form-instructions" style="display:none;"></div>
</div></div>

<div ><div class="wsite-form-field" style="margin:5px 0px 0px 0px;">
  <label class="wsite-form-label" for="input-886916715838687323">14)  Once brain cells are damaged, they can never be repaired- True or False? <span class="form-required">*</span></label>
  <div class="wsite-form-radio-container">
    <span class='form-radio-container'><input type='radio' name='_u886916715838687323' value='A)  True' /><label>A)  True</label></span>
<span class='form-radio-container'><input type='radio' name='_u886916715838687323' value='B)  False' /><label>B)  False</label></span>

  </div>
  <div id="instructions-14)  Once brain cells are damaged, they can never be repaired- True or False?" class="wsite-form-instructions" style="display:none;"></div>
</div></div>

<div ><div class="wsite-form-field" style="margin:5px 0px 0px 0px;">
  <label class="wsite-form-label" for="input-192117433637760155">15)  What happened to the damaged brains after treatment according to SPECT scans? <span class="form-required">*</span></label>
  <div class="wsite-form-radio-container">
    <span class='form-radio-container'><input type='radio' name='_u192117433637760155' value='A)  The brain chemistry stayed the same' /><label>A)  The brain chemistry stayed the same</label></span>
<span class='form-radio-container'><input type='radio' name='_u192117433637760155' value='B)  The brain chemistry improved' /><label>B)  The brain chemistry improved</label></span>
<span class='form-radio-container'><input type='radio' name='_u192117433637760155' value='C)  The brain chemistry got worse' /><label>C)  The brain chemistry got worse</label></span>

  </div>
  <div id="instructions-15)  What happened to the damaged brains after treatment according to SPECT scans?" class="wsite-form-instructions" style="display:none;"></div>
</div></div>

<div ><div class="wsite-form-field" style="margin:5px 0px 0px 0px;">
  <label class="wsite-form-label" for="input-846595324763565200">16)  Our brains are in a constant stage of change, both positive and negative- True or False? <span class="form-required">*</span></label>
  <div class="wsite-form-radio-container">
    <span class='form-radio-container'><input type='radio' name='_u846595324763565200' value='A)  True' /><label>A)  True</label></span>
<span class='form-radio-container'><input type='radio' name='_u846595324763565200' value='B)  False' /><label>B)  False</label></span>

  </div>
  <div id="instructions-16)  Our brains are in a constant stage of change, both positive and negative- True or False?" class="wsite-form-instructions" style="display:none;"></div>
</div></div>


  </ul>
</div>
<div style="display:none; visibility:hidden;">
  <input type="text" name="wsite_subject" />
</div>
<div style="text-align:left; margin-top:10px; margin-bottom:10px;">
  <input type="hidden" name="form_version" value="2" />
  <input type="hidden" name="wsite_approved" id="wsite-approved" value="approved" />
  <input type="hidden" name="ucfid" value="775529455932787620" />
  <input type="submit" name="submit" value="Submit" />
</div>
</form>


</div>

【问题讨论】:

  • 哇,请不要发那么多代码,任何人都可以看。

标签: php


【解决方案1】:

那个页面一团糟。您的网站设计套件似乎真的很喜欢随机数。

无论如何,重要的是每个&lt;input&gt; 元素的name 属性。例如,User ID 输入框的名称为_u545537524713528365。同样,第二个问题的所有五个单选按钮都具有名称 _u483240168633160132,并且仅在 value 上有所不同,因为只会选择其中一个。

由于您将问题标记为“php”,我假设您打算用 PHP 编写这个自动评分程序。 &lt;form&gt; 标记为 method="POST",因此每个学生提交的内容都可以通过表单的 action 属性引用的 PHP 程序中的 $_POST['name'] 访问。

例如,变量 $_POST['_u545537524713528365'] 将包含用户 ID,变量 $_POST['_u483240168633160132'] 将包含学生选择的单选按钮的 value 属性中的任何内容。在 PHP 程序中获得所有数据后,只需将其与正确答案一一进行比较即可。 (所有这些随机数都变得非常不方便,这就是为什么您应该为表单元素提供人类可读的名称。)

在那之后你做什么取决于你。也许您的程序会计算正确答案的数量并将其通过电子邮件发送给您,将其保存在数据库中等。但是所有这些都完全超出了这里的单个答案所能提供的范围。 StackOverflow 对于想要找到特定问题的答案的人来说是一个很好的资源,但是如果你尝试使用这个站点学习一门全新的编程语言,你可能会感到失望。有更好的资源可以做到这一点。

与此同时,您可能会问自己以下一些其他问题:

  1. 这件事需要几十小时,如果不是几百小时的话。想象一下以这种方式编写每个问题需要多少时间。 (不仅仅是设计,还有给它评分的代码。)也许你应该下载一个做同样事情的程序?

  2. 您的第一个程序 100% 可能包含安全漏洞。精通技术的学生可能会滥用它来谋取利益,而您永远不会知道。使用新编写的、不安全的网络应用对学生的作品进行评分甚至可能受到法律或其他监管限制。

【讨论】:

    【解决方案2】:

    使用Google Forms 并且只使用电子表格,与学习如何进行 Web 开发相比,使用它会容易得多:

    【讨论】:

      【解决方案3】:

      理论上,你肯定可以。从头开始会是相当多的工作,特别是如果您不熟悉 PHP 和/或 MySQL。

      您最好的选择是找到一个可以为您处理此问题的 Web 应用程序...

      【讨论】:

        猜你喜欢
        • 2012-09-17
        • 2018-12-25
        • 1970-01-01
        • 2014-04-14
        • 1970-01-01
        • 2020-09-09
        • 1970-01-01
        • 2013-03-02
        • 2011-11-05
        相关资源
        最近更新 更多