Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Html表单提交复选框-更改mysql表中的值_Php_Html_Mysql - Fatal编程技术网

Php Html表单提交复选框-更改mysql表中的值

Php Html表单提交复选框-更改mysql表中的值,php,html,mysql,Php,Html,Mysql,我有一个数据库,它是由一些布尔值字段组成的,因此在我的html表单中,我将输入类型设置为复选框,并希望将if checked=“True”, 取消选中=“false”。 我怎样才能存档? 现在,如果我检查它们,我会看到一个0,如果我不检查,我什么也看不到。 我试着放置和隐藏字段,并用它工作,但没有得到任何结果 如果您需要代码或打印屏幕来更好地理解问题,请告诉我。 谢谢。如果选中HTML复选框,则返回值;如果未选中,则不返回任何内容。所以使用isset() HTML: 这是复选框输入的默认行为:

我有一个数据库,它是由一些布尔值字段组成的,因此在我的html表单中,我将输入类型设置为复选框,并希望将if checked=“True”, 取消选中=“false”。
我怎样才能存档? 现在,如果我检查它们,我会看到一个0,如果我不检查,我什么也看不到。 我试着放置和隐藏字段,并用它工作,但没有得到任何结果

如果您需要代码或打印屏幕来更好地理解问题,请告诉我。
谢谢。

如果选中HTML复选框,则返回值;如果未选中,则不返回任何内容。所以使用isset()

HTML:


这是复选框输入的默认行为:

  • 如果选中复选框,则张贴参数“value”的值
  • 如果复选框未选中,则不发布任何内容
因此,如果您有以下情况:

<input type="checkbox" value="TRUE" name="my_checkbox" />
if (isset($_POST["my_checkbox"])) {
    echo "checkbox is checked";    
} else {  
    echo "checkbox not checked";
}
如果您绝对想要发布某些内容,即使复选框未选中,正如您所说,您可以使用如下隐藏字段:

<input type="checkbox" value="TRUE" name="my_checkbox_1" />
<input type="hidden" value="my_checkbox_1,my_checkbox_2,my_checkbox_3" name="my_checkboxes" />
如果您有一个具有未知数量复选框的动态表单,那么该解决方案将是很好的


如果某个内容被选中或没有不同的值,则可以使用JavaScript将其发布为“my_checkbox”($\u POST['my_checkbox'])。

感谢您的精彩解释,出于某些原因,我在任何地方都看不到回音,但我正在浏览代码,试图找出错误所在,但现在我明白了逻辑。非常感谢。可能重复的
if (isset($_POST["my_checkbox"])) {
    echo "checkbox is checked";    
} else {  
    echo "checkbox not checked";
}
<input type="checkbox" value="TRUE" name="my_checkbox_1" />
<input type="hidden" value="my_checkbox_1,my_checkbox_2,my_checkbox_3" name="my_checkboxes" />
$checkboxes = explode(",", $_POST['my_checkboxes']);
foreach($checkboxes as $checkbox) {
  $checkbox_value = $_POST[$checkbox];
  if (isset($checkbox_value)) {
    echo "checkbox " . $checkbox . " was checked";
  } else {
   echo "checkbox " . $checkbox . "wasn't check";
  }
}