获取是否使用名称选中了复选框

时间:2019-01-06 01:18:30

标签: php mysql mysqli

我想创建一个真/假测验表单,其中填充了来自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>

2 个答案:

答案 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脚本中,您可以基于该脚本运行逻辑。