【问题标题】:PHP - Get Input from multiple Range Inputs with POST and a foreach loopsPHP - 使用 POST 和 foreach 循环从多个范围输入中获取输入
【发布时间】:2015-10-25 18:25:23
【问题描述】:

我正在使用 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 变量,所以我认为这也不会导致问题。

知道我的问题可能是什么吗?

【问题讨论】:

  • 你的问题在于很多无用的&lt;form&gt;标签。
  • 将表单标签放在循环之外
  • 这成功了!谢谢!这个问题我纠结了好久

标签: php


【解决方案1】:

我的问题是,在我的第一个循环的每次迭代中,我都放置了一个新的表单标签。

这是错误的:

foreach(...)
{
    print_r('<form ...>');
    ...
    print_r('</form>');
}

这是正确的

print_r('<form ...>');
foreach(...)
{
    ...
}
print_r('<input name="submit"...>');
print_r('</form>');

当将整个发布循环和提交按钮封装在单个表单标签中时,我的回复正确发布。

感谢@u_mulder 和@Mihai 回答这个问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 2017-04-13
    • 1970-01-01
    • 2013-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多