带有复选框的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
*/
}
}