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

Php 使用名称获取是否选中复选框,php,mysql,mysqli,Php,Mysql,Mysqli,我想创建一个由mysql数据库中的问题填充的真/假测验表单,并保存用户的答案,这取决于它是真还是假(如果他选中复选框或不选中),并将它们插入数据库中,但在同一列中 比如这个例子:id_问题:true;id\u问题:false。。。。 因此,我决定当用户加载表单时,chackbox的名称将填充问题id,并将每个id与每个用户的答案相结合,但我不知道如何操作 这是我的代码: <?php include('CodePHP/my_database.php'); $questions =

我想创建一个由mysql数据库中的问题填充的真/假测验表单,并保存用户的答案,这取决于它是真还是假(如果他选中复选框或不选中),并将它们插入数据库中,但在同一列中 比如这个例子:id_问题:true;id\u问题: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>


只要在发送post请求时输入被命名,$\u post变量应将选中的输入显示为1。这适用于复选框和单选按钮输入类型。在后端php脚本中,您可以基于此运行您的逻辑。

在花了数小时思考和测试之后,我确实独自找到了答案 我没有使用复选框,而是使用单选按钮,因为这是真/假测验

这是我为需要帮助的其他人编写的代码:

<?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>


我知道,但它是用问题ID命名的,复选框是从数据库中填充的,我不知道如何获取这些名称并检查每个复选框是否被选中。当我进行检查时,我用每个id填充一个数组,用户回答如下:$my_array=[id1:true,id2:true,id3:false]。