我想创建一个真/假测验表单,其中填充了来自mysql数据库的问题,并根据用户的回答是对还是错(如果他选中了复选框,则保存了用户的回答)并将它们插入数据库中但在同一列中 像这个例子:id_question:true; id_question:false; .... 因此,我决定在用户加载表单时,将在chackbox的名称中填写问题ID,并将每个ID与每个用户的答案结合起来,但是我不知道该怎么做。
这是我的代码:
<?php include('CodePHP/my_database.php');
$questions = get_questions();
/*------------------------- add into database --------------------------------*/
$ids_qst = $answers = [];
if (isset($_POST['submit_answers'])){
}
?>
<form action="" method="post" role="form" class="questionForm">
<?php foreach($questions as $cle=>$question) {?>
<div class="form-group">
<div class="row">
<div class="col-sm-10"><p><?php echo $question['question'] ?></p>
</div>
<div class="col-sm-2">
<span class="outerDivFull" >
<span class="switchToggle">
<input type="checkbox" name="<?php echo $question['id_qst']?>" id="<?php echo $question['id_qst']?>">
<label for="<?php echo $question['id_qst']?>">Vrai/Faux</label>
<?php
/* Ajouter id question dans la liste des ids*/
array_push($ids_qst, $question['id_qst']);?>
</span>
</span>
</div>
</div>
</div>
<?php }?>
<div class="text-center">
<button name="submit_answers" type="submit" class="btn btn-primary btn-lg">Valider</button>
<button type="reset" class="btn btn-primary btn-lg">Annuler</button>
</div>
</form>
答案 0 :(得分:1)
经过数小时的思考和测试,我确实找到了答案 我必须使用单选按钮,而不是使用复选框,因为它是对/错测验
这是我给其他需要帮助的代码:
<?php
$user_answers = "";
if (isset($_POST['submit_answers'])){
foreach ($_POST as $key => $value){
if($key!='submit_answers'){
$user_answers=$user_answers.$key.":".$value.";";
}
}
}
echo $user_answers;
?>
<span class="radio-group btn-group" >
<input type="radio" class="checkmark" name="<?php echo $question['id_qst']?>" value="True">
<label>True</label>
<input type="radio" class="checkmark" name="<?php echo $question['id_qst']?>" value="False">
<label>False</label>
</span>
答案 1 :(得分:0)
只要在发送帖子请求时命名输入,您的$ _POST变量应将选中的输入显示为1。这适用于复选框和单选按钮输入类型。在您的后端php脚本中,您可以基于该脚本运行逻辑。