Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从表单获取post中的数组_Php_Arrays - Fatal编程技术网

Php 从表单获取post中的数组

Php 从表单获取post中的数组,php,arrays,Php,Arrays,我有一个使用复选框的表单,它从mysql数据库获取所有数据。所以可以有1到无限的复选框 我需要在提交表单时检查每个表单 如果全部选中,则它可以工作,但如果只选中了少数,则它要么不显示,要么只显示其中一个 下面是我用来显示带有数据的复选框的代码: while ($myrow = mysqli_fetch_array($result)){ echo<<<END <input type="checkbox" id="units" name="unit[$i]" value="$

我有一个使用复选框的表单,它从mysql数据库获取所有数据。所以可以有1到无限的复选框

我需要在提交表单时检查每个表单

如果全部选中,则它可以工作,但如果只选中了少数,则它要么不显示,要么只显示其中一个

下面是我用来显示带有数据的复选框的代码:

while ($myrow = mysqli_fetch_array($result)){
echo<<<END
<input type="checkbox" id="units" name="unit[$i]" value="$myrow[unit_id]" /> $myrow[unit_id]<br />
END;
$i++;
}//end while
以下是我在提交表单时使用的代码:

$i=0;
while($_POST["unit"][$i] != ""){
$unit = $_POST["unit"][$i];
$unit = $res2->real_escape_string($unit);
echo $unit."<br />";
$i++;
} // end while
我相信问题在于,我有while$_POST[unit[$1]!=并且如果选中一个框,然后选中另一个2或3向下的框,它会看到第二个框为空并停止


如果是这样的话,我需要帮助来找出如何使它在所有这些文件中运行,并打印出已检查的文件。请记住,可能有1到无限多个已检查文件,因此它不能像while$I那样是一个固定的数字,如果$I不重要,您应该使用:

名称=单位[]

然后在foreach循环中检索值


对于每个$u请求['unit']作为$unit…

如果$i不重要,您应该使用:

名称=单位[]

然后在foreach循环中检索值


前述$$请求[单位]…< /p> < p>复选框只在被检查时发送。而循环由一个由$$POST([Ung])[$i]表示的复选框停止,所以其余的永远不会得到评价。
foreach($_POST["unit"] as $unit) {
    echo $unit . "<br />";
}
如果钥匙很重要:

foreach($_POST["unit"] as $key => $unit) {
    echo $key . " is " . $unit . "<br />";
}

复选框只在被检查时发送,而当一个由$$POST([Ung])[$i]表示的复选框不被设置时,循环停止,因此其余的永远不会得到评价。

foreach($_POST["unit"] as $unit) {
    echo $unit . "<br />";
}
如果钥匙很重要:

foreach($_POST["unit"] as $key => $unit) {
    echo $key . " is " . $unit . "<br />";
}

另外,你的html不好,不能有重复的id字段。你可以删除id=UnitsAllso,你的html不好,不能有重复的id字段。你可以删除id=Units谢谢你,工作得很好。当stackoverflow让我等待5分钟的时间结束时,我会给你绿色支票。哈哈,非常感谢你,工作顺利很好。我会给绿色检查时,5分钟stackoverflow让我等待了lol。