PHP:获取表单输入

时间:2015-04-21 07:30:42

标签: php html foreach

我有这样的表格

<input type="text" name="question[]" />
   <input type="text" name="answer[]" />
   <input type="text" name="answer[]" />
<input type="text" name="question[]" />
    <input type="text" name="answer[]" />
    <input type="text" name="answer[]" />
    <input type="text" name="answer[]" />

*用户可以动态添加或删除输入。

我累了

foreach($_POST['question_title'] as $question_key=>$question_title){ 
    echo $question_title.'<br>';
    foreach($_POST['answer_title'] as $answer_key=>$answer_title){ 
        echo $answer_title.'<br>';
    }
}

但是我得到了

question 1
answer 1
answer 2
answer 3
answer 1
answer 2

question 2
answer 1
answer 2
answer 3
answer 1
answer 2

但我想要输出代码

question 1
answer 1
answer 2
answer 3


question 2
answer 1
answer 2

*结果是输入值。

提前感谢。

更新:感谢downvote,这是一个很棒的社区。经过多次研究后,我来到这里并发布了我的代码。谢谢stackoverflow。

2 个答案:

答案 0 :(得分:1)

尝试:

<input type="text" name="question[1]" />
    <input type="text" name="answer[1][]" />
    <input type="text" name="answer[1][]" />
<input type="text" name="question[2]" />
    <input type="text" name="answer[2][]" />
    <input type="text" name="answer[2][]" />
    <input type="text" name="answer[2][]" />

然后

foreach($_POST['question_title'] as $question_key=>$question_title){ 
    echo $question_title.'<br>';
    foreach($_POST['answer_title'][$question_key] as $answer_key=>$answer_title){ 
        echo $answer_title.'<br>';
    }
}

答案 1 :(得分:0)

问题/答案具有相同的名称。你必须给他们不同的名字,否则PHP无法告诉你哪些答案与哪些问题有关。

当您添加问题/答案时,请确保其名称与&#34; answer[question_id/index][]&#34;或&#34; question[id]&#34;