PHP提交表单复选框和复选框

时间:2019-10-30 09:22:59

标签: php arrays post checkbox checked

我有一个数据库,其中读取了所有信息,我读取了optino,并确认了stato,0否。。。我创建了一个表,任何人都可以更新,检查或删除检查,提交后我更新所有数据,但是提交我只看到“选中” ...其他没有。

$c_row = current($row);

if ($y > 1) {
    echo "<form name=salvo method=post action='dettaglio.php?tipo=1'>";

    $id = substr($c_row,0,strpos($c_row, '|'));
    $stato = substr($c_row,strpos($c_row, '|')+1,1);

    echo "<td class='tg-dett' align=center>";

    if ($stato == 1) {
        echo "<input type='checkbox' name='chkColor[]' value='$c_row' checked>";
    } else {
        echo "<input type='checkbox' name='chkColor[]' value='$c_row' >";
    }

    echo "</td>";

    for($i = 0; $i < count($_POST["chkColor"]); $i++)
    {
        if(trim($_POST["chkColor"][$i]) != "") {
            echo "chkColor $i = ".$_POST["chkColor"][$i]."<br>";
        }
    }
}

仅检查输出,如果有人删除了检查,则不会显示

1 个答案:

答案 0 :(得分:0)

您可以在将其发布为空或未设置后检查这些值。或者您可以使用隐藏的输入技巧,如下所示:

<input type='hidden' name='chkColor[' . $row["id"] . ']' value='0'><input type='checkbox' name='chkColor[' . $row["id"] . ']' checked>

通过这种方式,它将张贴所有框,但会添加一个不同的值来确定哪个打开,哪些不打开。