在使用php的foreach中使用html输入无法保存/检索值

时间:2013-01-07 13:12:03

标签: php html

对于其他人可能显而易见的原因,我无法保存单选按钮的输入值并使用php检索它们。 $ _POST ['answerToQuestion']不为空,将打印每个$键,但该值为空。任何人都可以轻易看到我的错误吗?

HTML:

<form action="answerQuestion.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="answer_yes" name="answerToQuestion[<?php echo $k; ?>]" value= 1>Yes</button>
                <button type="button" class="btn" id="answer_no" name="answerToQuestion[<?php echo $k; ?>]" value= 0>No</button>
                <button type="button" class="btn" id="answer_na" name="answerToQuestion[<?php echo $k; ?>]" value= 2>N/A</button>
            </div>
            <input type="hidden" id="hidden_2" name="answerToQuestion[<?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/>';
}

1 个答案:

答案 0 :(得分:1)

根据明确说明“我的单选按钮”的问题得出答案。

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

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

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

 $_POST['answerToQuestion'];

这应该有效。