不确定问题标题是否足够清楚 - 但我指的是 - 给单选按钮的 name 属性提供一个数值说 102 是一种不好的做法,比如
<input type="radio" name="102" value="2032" /> Hello World
如果这是一个坏主意 - 我该如何处理这种情况。我有一个多项选择考试,其中所有 60 个问题一次显示在页面上。
问题存储在问题数组中,对于每个问题 - 多项选择存储在答案数组中
这是生成 60 个问题及其多项选择答案的 for 循环 - 现在我使用 question_id 作为单选按钮的值
<?php
$question_ids = array_keys($this->question_array);
foreach($question_ids as $question_id)
{
$question = $this->question_array[$question_id];
$answers = $this->answer_array[$question_id];
?>
<div>
<strong>Q) <?php echo $question['question'];?></strong>
<div>
<?php foreach ($answers as $answer) { ?><br/>
<input type="radio" name="<?php echo $question_id;?>" value="<?php echo $answer['answer_id'];?>" /> <?php echo $answer['answer'];?>
<?php } ?>
</div>
</div>
<?php
} ?>
所以我用 question_id 分配了名称,用 answer_id 分配了值 - 所以在服务器端 - 我会知道为哪个问题选择了哪个答案选项 - 不用说它们是数据库中唯一的自动生成的 id
foreach ($_POST as $key => $value)
echo "For question id ".htmlspecialchars($key)." answer selected is ".htmlspecialchars($value)."<br>";
如果分配号码是一个坏主意 - 为什么会这样。我的另一个选择是分配一个名称值,例如 name="questionId-102" 并在服务器端解析它。
让我知道处理此问题的最佳方法是什么。谢谢