【问题标题】:Undefined Variables at $a, $b, $c and $d$a、$b、$c 和 $d 处的未定义变量
【发布时间】:2014-10-07 06:19:22
【问题描述】:

我正在做在线能力倾向测试,它将从数据库中随机抽取2个问题并显示在网页上以供回答。

下面的代码是从候选人那里得到答案(简单的演示只选择了 2 个随机问题)。

$nbQuestion = 2;
$form = '<form id="form1" name="quest" method="POST" action="" >';
$form .= getQuestion("SELECT * FROM `microsoftq`  ORDER BY RAND() LIMIT ".$nbQuestion);
$form .= '<input type="submit" id="submit_id" name="SUBMIT" value="SUBMIT"></form>';

// Save answer
if (isset($_POST['SUBMIT'])) 
{
    for($i=1;i<=$nbQuestion;$i++){
        saveAnswer($i);
    }
}
function getQuestion($query){
    $question = "";
    $i = 1;
    $result = mysql_query($query);
    while ($row = mysql_fetch_object($result)) {
        $question .= "<b>Question:-<br></b>".$row->Question." <br><br>";
        $question .= "<input type='hidden' name='q".$i."' value='".$row->QNo."'>";
        $question .= "<input type=radio name = 'answer".$row->QNo."' value = '".$row->Opt1."'></input>$a1 &nbsp &nbsp<br>"; 
        $question .= " <input type=radio name = 'answer".$row->QNo."' value = '".$row->Opt2."'></input>$b1 &nbsp &nbsp<br>"; 
        $question .= " <input type=radio name = 'answer".$row->QNo."' value = '".$row->Opt3."'></input>$c1 &nbsp &nbsp <br>"; 
        $question .= " <input type=radio name = 'answer".$row->QNo."' value = '".$row->Opt4."'></input>$d1 <br><br> ";
        $i++;
    }
    mysql_free_result($result);
}
function saveAnswer($nb){
    $qId=$_POST["q".$nb];
    if (is_numeric($qId)) {
        $query = mysql_query("SELECT * FROM `microsoftq` WHERE QNo=".$qId);
        $rows1 = mysql_fetch_array($query);
        $ans = $rows1['Ans'];
        $opt = $_POST["answer".$qId];
        if($ans==$opt)
        {
            $val="ct";
        }
        else
        {
            $val="wg";
        }
        mysql_query("insert into $username values('$qId','$opt','$val')")  

        //$username getting from previous page, pls dont worry about it,..

        or die(mysql_error());
    }
}

我在 $a、$b、$c 和 $d 处收到错误未定义变量。

【问题讨论】:

标签: php mysql sql database forms


【解决方案1】:

您不再需要使用这些变量(基于您之前的一个问题)。而是替换这个:

$question .= " <input type=radio name = 'answer".$row->QNo."' value = '".$row->Opt1."'></input>$a1 &nbsp &nbsp<br>"; 
$question .= " <input type=radio name = 'answer".$row->QNo."' value = '".$row->Opt2."'></input>$b1 &nbsp &nbsp<br>"; 
$question .= " <input type=radio name = 'answer".$row->QNo."' value = '".$row->Opt3."'></input>$c1 &nbsp &nbsp <br>"; 
$question .= " <input type=radio name = 'answer".$row->QNo."' value = '".$row->Opt4."'></input>$d1 <br><br> ";

用这个:

$question .= " <input type=radio name = 'answer".$row->QNo."' value = '".$row->Opt1."'></input>".$row->Opt1." &nbsp &nbsp<br>"; 
$question .= " <input type=radio name = 'answer".$row->QNo."' value = '".$row->Opt2."'></input>".$row->Opt2." &nbsp &nbsp<br>"; 
$question .= " <input type=radio name = 'answer".$row->QNo."' value = '".$row->Opt3."'></input>".$row->Opt3." &nbsp &nbsp <br>"; 
$question .= " <input type=radio name = 'answer".$row->QNo."' value = '".$row->Opt4."'></input>".$row->Opt4." <br><br> ";

我希望这会有所帮助。

【讨论】:

  • 据我从发布的代码中可以看出,您永远不会输出变量$form,这可以解释为什么没有显示任何内容。除此之外,您的getQuestion 函数既不输出也不返回变量$question,导致它本质上“什么都不做”。我建议将此行添加到代码的末尾:echo $form;,并将此行添加到 getQuestion 函数的末尾:return $question;。但是,我不能保证这些是您的代码正确运行所必需的唯一修订。
猜你喜欢
  • 2012-01-27
  • 1970-01-01
  • 1970-01-01
  • 2011-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-14
  • 2011-10-19
相关资源
最近更新 更多