带有复选框的Php活动取消活动

带有复选框的Php活动取消活动,php,arrays,list,Php,Arrays,List,我有包含多个复选框的表单。系统功能的每个复选框 我想将所有系统功能列为复选框,并将“选中”属性设为活动功能。所以这里没有问题。但我想,如果未选中活动功能,则此功能将禁用。如果选中“停用”功能,则此选项将激活 但我不知道如何区分之前选择的 我写代码 function generate_menu($parent) { $has_childs = false; global $activeModule; global $actives; global $menu

我有包含多个复选框的表单。系统功能的每个复选框

我想将所有系统功能列为复选框,并将“选中”属性设为活动功能。所以这里没有问题。但我想,如果未选中活动功能,则此功能将禁用。如果选中“停用”功能,则此选项将激活

但我不知道如何区分之前选择的

我写代码

    function generate_menu($parent)
{
    $has_childs = false;
    global $activeModule;
    global $actives;
    global $menu_array;
    foreach($menu_array as $key => $value)
    {
        if ($value['cat'] == $parent) 
        {              
            if ($has_childs === false)
            {                        
                $has_childs = true;
                echo '<ul id="categories" style="list-style:none;">';
            } 
            echo '<li><label><input name="module[]" type="checkbox" '.(($value['check'])?'checked':'').' value="'.$value['id'].'"> ' . $value['modulename'] .'</label>';
            generate_menu($key); 
            echo '</li>';
        }
    }
    if ($has_childs === true) 
        echo '</ul>';

}

如何检测未选中的复选框以及数据库中是否有使删除?

正如您所发现的,PHP将只在
$\u POST
中接收复选框的值。要检查“未检查”框,您必须循环查看已知复选框列表,并在
$\u POST
中检查该变量名称幸运的是,您在
$menu\u array
中已经有了该列表:

foreach ($menu_array as $varName => $varValue)
{
    if (array_key_present($varName,$_POST)===TRUE) // Has it been selected?
    {
        echo "{$varName} is checked".PHP_EOL;
        /*
         * Do your activation bit here
         */
    } else
    {
        echo "{$varName} is unchecked".PHP_EOL
        /*
         * Do your deactivation bit here
         */
    }
}
foreach ($menu_array as $varName => $varValue)
{
    if (array_key_present($varName,$_POST)===TRUE) // Has it been selected?
    {
        echo "{$varName} is checked".PHP_EOL;
        /*
         * Do your activation bit here
         */
    } else
    {
        echo "{$varName} is unchecked".PHP_EOL
        /*
         * Do your deactivation bit here
         */
    }
}