0

我正在尝试实现一个表单,其中向用户询问一些存储在数据库中的问题。相应问题的答案也被存储,用户应该在提供的文本框中回答这些问题(如在线测试系统)。我想将用户输入的所有答案存储在一个数组中,同时将数据库的答案列的值存储在另一个数组中。比较两个数组的值应该会给我正确答案的数量。我提到了这个问题并使用了以下代码。$i但问题是结果在我使用变量比较两个数组的地方显示了一个未定义的偏移错误。请帮我。

表单代码(giveexam.php)

<form id ="answersheet" name="answersheet" action="assessment.php" method="post">
<table border="1px">
<tr>
<!--td>sr_no</td-->
<td width="144">Question</td>
<td width="50">option1</td>
<td width="50">option2</td>
<td width="50">option3</td>
<td width="50">option4</td>
<td width="30">
<strong>ANSWER</strong></td>


</tr>
<?php
require_once("connection.php");

$query = "select * from mgmt";
$result = mysql_query($query, $connection);

if(!$result)
echo "ERROR: No results";
else
{
while($row = mysql_fetch_array($result))
{

?>

<tr>
<!--td><?php echo $row['eid'];?></td-->
<td><?php echo $row['question'];?></td>
<td><?php echo $row['op1'];?></td>
<td><?php echo $row['op2'];?></td>
<td><?php echo $row['op3'];?></td>
<td><?php echo $row['op4'];?></td>
<td><input type="text" name="ans[]"/></td>

</tr>


<?php }
} //end while
?>
</table>
<tr>

<td></td>
<td><input type="submit" value="submit" /></td>
</tr>
</form>

PHP 文件(assessment.php)

<?php
session_start();
$m=0;
//$c=0;

            require_once("connection.php");

            $query="select answer from mgmt";
            $result=mysql_query($query, $connection);

            $result_array=array();
            while($row=mysql_fetch_assoc($result))
            {$result_array[]=$row;}

            $answer=array();
            $answer[]=$_POST["ans"];
            for($i=1;$i<4;$i++)
            {
                if($answer[$i]==$result_array[$i])
                    $m++;

            }
            echo $m;

                    ?>
4

1 回答 1

0

未定义的偏移量意味着 $answer 或 $result_array 小于 4。尝试先打印结果,看看问题出在哪里。

于 2013-11-12T19:02:12.467 回答