我想创建一个用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>
发布于 2019-01-07 04:27:35
经过几个小时的思考和测试,我确实找到了我的答案,而不是使用复选框,我必须使用单选按钮,因为这是对/错测验
这是我为其他需要帮助的人编写的代码:
<?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>
发布于 2019-01-06 09:49:43
只要您的输入在发送post请求时被命名,您的$_POST变量就应该将选中的输入显示为1。这适用于复选框和单选按钮输入类型。在你的后端php脚本中,你可以基于此来运行你的逻辑。
https://stackoverflow.com/questions/54057828
复制相似问题