gpt4 book ai didi

php - 四个问题中只有一个单选按钮被选中

转载 作者:太空宇宙 更新时间:2023-11-04 14:50:01 24 4
gpt4 key购买 nike

我想列出四个问题,每个问题有四个选项。我已经使用 foreach 循环成功获取了问题,但是,单选按钮似乎不适用于 foreach 循环。

例如:我从第一个问题中选择了一个答案并跳转到第二个问题,但是如果我为第二个问题选择了一个答案,那么第一个问题的已选选项将被取消选择。我尝试过更改选项的值,但没有用,我尝试在 foreach 循环中使用 for 循环,但即使那样也没有用。

以下是我的代码:

<form method="post" action="process/quiz.php">
<?php

$quizList = $quiz->getQuiz(4);

if($quizList){

foreach($quizList as $list){
?>
<div class="row rowpadding">
<div class="col-md-8 col-md-offset-2" id="panel1">
<div class="panel panel-default">
<div class="panel-heading">
<h5 class="panel-title">
<?php echo $list->title; ?>
</h5>
</div>
<div class="panel-body two-col">
<div class="row">
<div class="col-md-6">
<div class="frb frb-danger margin-bottom-none">
<input type="radio" id="radio-button-1" name="ans1" value="<?php echo $list->option_A ?>">
<label for="radio-button-1">
<span class="frb-title"><?php echo $list->option_A ?> </span>
<span class="frb-description"></span>
</label>
</div>
</div>
<div class="col-md-6">
<div class="frb frb-danger margin-bottom-none">
<input type="radio" id="radio-button-2" name="ans2" value="<?php echo $list->option_B ?>">
<label for="radio-button-2">
<span class="frb-title"><?php echo $list->option_B ?></span>
<span class="frb-description"></span>
</label>
</div>
</div>

<div class="col-md-6">
<div class="frb frb-danger margin-bottom-none">
<input type="radio" id="radio-button-3" name="ans3" value="<?php echo $list->option_C ?>">
<label for="radio-button-3">
<span class="frb-title"><?php echo $list->option_C ?></span>
<span class="frb-description"></span>
</label>
</div>
</div>
<div class="col-md-6">
<div class="frb frb-danger margin-bottom-none">
<input type="radio" id="radio-button-4" name="ans4" value="<?php echo $list->option_D ?>">
<label for="radio-button-4">
<span class="frb-title"><?php echo $list->option_D ?></span>
<span class="frb-description"></span>
</label>
</div>
</div>

</div>
</div>
</div>
</div>
</div>
<?php
}

}

?>


<div class="panel-footer rowpadding">
<div class="row">
<div class="col-md-6">
<button type="submit" class="btn btn-sm btn-block ">
<span class="fa fa-send"></span>
submit </button>
</div>

</div>
</div>
</form>

有什么我遗漏的吗?

最佳答案

您的问题是您正在重复使用输入的名称和 ID。名称和 ID 必须是唯一的,HTML 才有效,并按您的预期工作。您可以将输入名称作为 HTML 数组,并以此为基础进行分组。

使用 $key在数组中,您可以为每组答案定义一个唯一的名称。我们还使用它来定义元素的 ID,因为它们必须是唯一的。

所做的更改是,

  • 包括 $key在循环中
  • 正在添加 -<?php echo $key; ?>对于您使用按钮 ID(以及标签中的引用)的所有实例,以确保所有 ID 都是唯一的
  • 使用 name="answer[<?php echo $key; ?>]"而不是 ans1 , ans2 , ans3 , ans4 .这样可以确保每个答案只能选择一个单选按钮,并且您有一组答案,每个元素都是一个问题的答案。

foreach ($quizList as $key=>$list){
?>
<div class="row rowpadding">
<div class="col-md-8 col-md-offset-2" id="panel1-<?php echo $key; ?>">
<div class="panel panel-default">
<div class="panel-heading">
<h5 class="panel-title">
<?php echo $list->title; ?>
</h5>
</div>
<div class="panel-body two-col">
<div class="row">
<div class="col-md-6">
<div class="frb frb-danger margin-bottom-none">
<input type="radio" id="radio-button-1-<?php echo $key; ?>" name="answer[<?php echo $key; ?>]" value="<?php echo $list->option_A ?>">
<label for="radio-button-<?php echo $key; ?>">
<span class="frb-title"><?php echo $list->option_A ?> </span>
<span class="frb-description"></span>
</label>
</div>
</div>
<div class="col-md-6">
<div class="frb frb-danger margin-bottom-none">
<input type="radio" id="radio-button-2-<?php echo $key; ?>" name="answer[<?php echo $key; ?>]" value="<?php echo $list->option_B ?>">
<label for="radio-button-2-<?php echo $key; ?>">
<span class="frb-title"><?php echo $list->option_B ?></span>
<span class="frb-description"></span>
</label>
</div>
</div>

<div class="col-md-6">
<div class="frb frb-danger margin-bottom-none">
<input type="radio" id="radio-button-3-<?php echo $key; ?>" name="answer[<?php echo $key; ?>]" value="<?php echo $list->option_C ?>">
<label for="radio-button-3-<?php echo $key; ?>">
<span class="frb-title"><?php echo $list->option_C ?></span>
<span class="frb-description"></span>
</label>
</div>
</div>
<div class="col-md-6">
<div class="frb frb-danger margin-bottom-none">
<input type="radio" id="radio-button-4-<?php echo $key; ?>" name="answer[<?php echo $key; ?>]" value="<?php echo $list->option_D ?>">
<label for="radio-button-4-<?php echo $key; ?>">
<span class="frb-title"><?php echo $list->option_D ?></span>
<span class="frb-description"></span>
</label>
</div>
</div>

</div>
</div>
</div>
</div>
</div>
<?php
}

现在,当您提交表单时,所选答案将位于名称为 answer 的数组中。 .所以你将不得不做类似的事情

foreach ($_POST['answer'] as $key=>$value) {
// $key is the same key from the loop above
// $value is the value of the selected radio button
}

关于php - 四个问题中只有一个单选按钮被选中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55135186/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com