带有复选框的Php提交表单复选框

问题描述 投票:0回答:1

我有一个数据库,在该数据库中读取了我读的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>";
        }
    }
}

仅检查输出,如果有人删除了检查,则似乎没有输出

php arrays post checkbox checked
1个回答
0
投票

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

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

这样,它将发布所有框,但将添加一个不同的值来确定哪个打开,哪个不打开。

© www.soinside.com 2019 - 2024. All rights reserved.