PHP var_dump仅输出底部复选框的值

PHP var_dump仅输出底部复选框的值,php,forms,post,input,var-dump,Php,Forms,Post,Input,Var Dump,嗨,谢谢你阅读我的问题。我使用一个简单的表单获取一些输入: <p>Select your favorite two countries below:</p> <form id="world" name="world" action="/order.php" method="post"> <input type="checkbox" name="countries" value="USA" /> USA<br /> <input

嗨,谢谢你阅读我的问题。我使用一个简单的表单获取一些输入:

<p>Select your favorite two countries below:</p>

<form id="world" name="world" action="/order.php" method="post">
<input type="checkbox" name="countries" value="USA" /> USA<br />
<input type="checkbox" name="countries" value="Canada" /> Canada<br />
<input type="checkbox" name="countries" value="Japan" /> Japan<br />
<input type="checkbox" name="countries" value="China" /> China<br />
<input type="checkbox" name="countries" value="France" /> France<br />
<input type="submit" value="Order">
</form>
<pre>
<?php var_dump($_POST);?>
</pre>
在下面选择您最喜欢的两个国家:

美国
加拿大
日本
中国
法国
我想确保order.php正在获取所有选定的选项,因此order.php仅包含以下代码:


不幸的是,它只输出被选中的最下面的复选框

输出如下:

阵列(1){ [“国家]=> 字符串(6)“加拿大” }

如果我尝试以下输出代码:

<input type="checkbox" name="countries[]" value="Canada" /> Canada<br />
                                      ^^

我得到这个输出:

您发布:国家=加拿大

有人能告诉我哪里出了问题,以及如何检索每个勾选框的所有数据吗


谢谢。

您为复选框提供了相同的
名称,PHP将用当前值覆盖以前解析的
名称
提交。您需要使用数组表示法hack:

echo "You posted: " . implode(',', $_POST['countries']);
在下面选择您最喜欢的两个国家:

美国
加拿大
日本
中国
法国

将其更改为上文,这将为您存储所有复选框结果

使用
name=“countries[]”
它将在
$\u POST['countries]
中提交值数组。谢谢Michael和Mark B。不幸的是,使用数组表示法,我用来检查是否只勾选了一定数量的框的脚本将无法工作。该脚本名为checkboxlimit,如下所示:checkboxlimit(document.forms.world.countries,2)当然会<代码>如果(计数($_POST['countries'))>5{die(“太多”);}
。javascript不会关心
[]
。只是名称中的一些额外字符。这是检查限制的脚本,我能将对checkgroup的所有引用更改为数组吗?我从未学习过JS:'函数checkboxlimit(checkgroup,limit){var checkgroup=checkgroup var limit=limit for(var I=0;它带有标记B。这行代码是PHP来检查限制的,是吗?如果是这样,那么我就不需要JS了?JS不工作了,因为我已经将表单更改为数组符号。你可以在下一页用这行代码来检查它(在您的案例中是order.php)
echo "You posted: " . implode(',', $_POST['countries']);
<p>Select your favorite two countries below:</p>

<form id="world" name="world" action="/order.php" method="post">
<input type="checkbox" name="countries[]" value="USA" /> USA<br />
<input type="checkbox" name="countries[]" value="Canada" /> Canada<br />
<input type="checkbox" name="countries[]" value="Japan" /> Japan<br />
<input type="checkbox" name="countries[]" value="China" /> China<br />
<input type="checkbox" name="countries[]" value="France" /> France<br />
<input type="submit" value="Order">
</form>