在页面重新加载时保留选中复选框

Keep the check in checkbox on page reload

我有表格:

foreach($array as $c){
        echo '<tr><td>';
            echo '<input type="checkbox" name="check[]" value="'.$c.'"';

            if(isset($_POST['check'])){
                echo 'checked="checked"';   
            }

            echo '>';
        echo '</td></tr>';
    }

我想在页面重新加载时将复选标记保留在同一个复选框中(以防发生错误)。问题是此脚本会检查所有复选框,而不是仅检查之前已选中的复选框。

您正在发布一个复选框数组,并且仅测试是否设置了该数组。 将您的检查更改为此以测试是否发布了实际值:

        if(isset($_POST['check']) && in_array($c, $_POST['check'])){
            echo 'checked="checked"';   
        }