我正在使用foreach循环遍历php数组来发布范围输入列表。
foreach ($question_array as $a)
{
$inputName = $a->name;
print_r('<form action="" method="post">');
print_r("<input type='range' name=$inputName ...>");
prin_r('</form>');
}
一旦用户回答了所有问题,他们将按下页面底部的提交按钮,触发重新迭代以检索输入
foreach ($question_array as $a)
{
$questionName = $a->name;
$response = $_POST[$questionName];
print_r("<p>Question $questionName = $response</p>");
}
当用户提交时,会有一个问题列表,其中包含回复空白
q1 =
q2 =
etc
我已成功传递一个字符串变量作为单个输入的$ _POST的输入名称和参数,所以我相信这不是我的问题。
此外,正确的字符串会进入print_r语句中的$ questionName变量,因此我不认为这会导致问题。
知道我的问题可能是什么?
答案 0 :(得分:0)
我的问题是,在我的第一个循环的每次迭代中,我都放了一个新的表单标记。
这是错的:
foreach(...)
{
print_r('<form ...>');
...
print_r('</form>');
}
这是正确的
print_r('<form ...>');
foreach(...)
{
...
}
print_r('<input name="submit"...>');
print_r('</form>');
将整个发布循环和提交按钮封装在单个表单标记中时,我的回复正确发布。
感谢@u_mulder和@Mihai回答这个问题