将多个文本框中的值与mysql表进行比较

时间:2013-11-12 18:50:28

标签: php mysql

我正在尝试实现一个表单,在表单中向用户询问存储在数据库中的一些问题。还存储了各个问题的答案,并且用户应该回答所提供的文本框中的答案(如在线测试系统)。我想将用户输入的所有答案存储在一个数组中,同时将数据库的答案列的值存储在另一个数组中。比较两个数组的值应该给我正确答案的数量。我提到了这个question,并使用了以下代码。但问题是结果在我使用变量$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;

                    ?>

1 个答案:

答案 0 :(得分:0)

未定义的偏移量意味着$ answer或$ result_array小于4.尝试首先打印结果并查看问题所在的位置。