php - 复选框的值无法正常工作

 mobiledu2502858393 发布于 2023-02-06 18:55

我有这个复选框:


 >

我从我的数据库中获取数据.因此,如果在我的数据库中启用了维护,则将选中该复选框.这是这样的:

if($sdata['maintenance']==1):
    $maintenance="checked='checked'";
else: 
    $maintenance="";
endif;

问题是,每当我想要禁用维护时,它都不会更新数据库.它仍将设置为"1".

这是我发布的方式:

$maintenance = inputFilter($_POST['maintenance']);

我的数据库表有两列:

setting_namesetting_value.在这种情况下,它将是:

maintenance1

我这样更新:

foreach($_POST as $key => $value)
{
  $value = inputFilter($value);
  mysql_query("UPDATE settings SET setting_value='$value' where setting_name='$key' limit 1")
  or die(mysql_error());
}

每当我取消选中该复选框并保存设置时,都不会发生任何事情.我甚至试图$maintenance从帖子中获取echp ,当它未经检查时,值为0.

任何人都知道是什么原因造成的?

1 个回答
  • 未检查的复选框不会在POST请求中发送,因此其密钥不在$ _POST中

    您应该检查复选框名称是否存在.

    if(!isset($_POST['maintenance'])) {
         // Checkbox is unchecked
    }
    

    2023-02-06 18:59 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有