4

我已经构建了一个具有复选框输入数组的表单(保存到数组)。但是,当我发布它并检索结果时,它只提供最后一个选择。

<input type="checkbox" value="Friendly" name="quest[9]"> Friendly<br>
<input type="checkbox" value="Attentive" name="quest[9]"> Attentive<br>
<input type="checkbox" value="Enthusiastic" name="quest[9]"> Enthusiastic<br>
<input type="checkbox" value="Understanding" name="quest[9]"> Understanding<br>
<input type="checkbox" value="Well Mannered" name="quest[9]"> Well Mannered<br>
<input type="checkbox" value="Efficient" name="quest[9]"> Efficient<br>
<input type="checkbox" value="Genuine" name="quest[9]"> Genuine<br>

例如,假设我选择了“友好”、“高效”和“正版”。

当我将其发布到 PHP 文档并运行时

print_r($_POST['quest']);

我只收到

Array ( [9] => Genuine )

回来所以“正版”是我回来的唯一项目。有没有办法解决这个问题?我做错了什么?

这是调查中的第 9 个问题,因此很遗憾无法更改名称。有没有办法将结果组合到用逗号分隔的单个数组中?我总是可以explode在 php 方面。

4

3 回答 3

3

您所有的复选框都具有相同的名称,使它们独一无二

<input type="checkbox" value="Friendly" name="quest[3]"> Friendly<br>
<input type="checkbox" value="Attentive" name="quest[4]"> Attentive<br>
<input type="checkbox" value="Enthusiastic" name="quest[5]"> Enthusiastic<br>
<input type="checkbox" value="Understanding" name="quest[6]"> Understanding<br>
<input type="checkbox" value="Well Mannered" name="quest[7]"> Well Mannered<br>
<input type="checkbox" value="Efficient" name="quest[8]"> Efficient<br>
<input type="checkbox" value="Genuine" name="quest[9]"> Genuine<br>

或使用空方括号,以便 php 将输入视为数组

<input type="checkbox" value="Friendly" name="quest[]"> Friendly<br>
<input type="checkbox" value="Attentive" name="quest[]"> Attentive<br>
<input type="checkbox" value="Enthusiastic" name="quest[]"> Enthusiastic<br>
<input type="checkbox" value="Understanding" name="quest[]"> Understanding<br>
<input type="checkbox" value="Well Mannered" name="quest[]"> Well Mannered<br>
<input type="checkbox" value="Efficient" name="quest[]"> Efficient<br>
<input type="checkbox" value="Genuine" name="quest[]"> Genuine<br>
于 2012-08-20T03:10:28.553 回答
3

在名称中使用 quest[] 而不是 quest[9]。也在 php 部分使用它来添加多个选择。

<?php
$quest = implode(',',$_post['quest']);
print_r($quest);
?>

编码快乐!!

于 2012-10-16T12:17:58.113 回答
2

我正在发布一个关于您对上一个评论的新答案:

由于您必须将 quest[9] 作为复选框数组的组织..

您可能想尝试使它成为一个更复杂的数组,每个数组<input>都有 name="quest[9][1]"name="quest[9][2]"依此类推。

并通过以下方式查找内容

print_r($_POST['quest']);

再次

于 2012-08-20T03:24:06.323 回答