不能在php的foreach中使用HTML输入保存/检索值


cannot save/retrieve value using html input in a foreach with php

由于某些显而易见的原因,我无法保存单选按钮的输入值并使用php检索它们。$_POST['answerToQuestion']不为空,将打印每个问题的$key,但值为空。有人能看出我的错误吗?

html:

<form action="answerswerQuestion.php" method="post">
    <?php foreach($questions as $k => $q):
        if(!$q['is_subquestion']):?>
        <div class="questionAnswer">
            <?php echo $q['body']; ?><br/>
            <div class="btn-group"  data-toggle="buttons-radio">
                <button type="button" class="btn" id="answerswer_yes" name="answerswerToQuestion[<?php echo $k; ?>]" value= 1>Yes</button>
                <button type="button" class="btn" id="answerswer_no" name="answerswerToQuestion[<?php echo $k; ?>]" value= 0>No</button>
                <button type="button" class="btn" id="answerswer_na" name="answerswerToQuestion[<?php echo $k; ?>]" value= 2>N/A</button>
            </div>
            <input type="hidden" id="hidden_2" name="answerswerToQuestion[<?php echo $k; ?>]" value="">
        </div>
        <?php endif;?>
    <?php endforeach; ?>
    <input type="submit" value="Next" name="submit-form" /> 
</form>
php:

foreach($_POST['answerToQuestion'] as $key=>$value)
{
    echo ' '.$value.'<br/>';
}

基于这个问题清楚地说明了"my单选按钮"。

你不需要回显$k变量,你应该使用实际的单选按钮:

<form action="answerswerQuestion.php" method="post">
    <div class="btn-group" data-toggle="buttons-radio">
        <label><input type="radio" name="answerswerToQuestion" value="1"> Yes</label>
        <label><input type="radio" name="answerswerToQuestion" value="0"> No</label>
        <label><input type="radio" name="answerswerToQuestion" value="2"> N/A</label>
    </div>
    <input type="submit" value="Submit">
</form>

另外,删除空格value= 0(从您的示例中),我也使用引号。

 $_POST['answerToQuestion'];

应该可以。