【问题标题】:PHP how to insert unchecked checkbox value [duplicate]PHP如何插入未选中的复选框值[重复]
【发布时间】:2020-10-10 14:30:33
【问题描述】:

需要帮助。我有 5 个复选框 [] 3 已选中 2 未选中

我想插入所有复选框值,但如果选中复选框,则插入值 1,如果未选中则插入 0

   <input id="answer" type="text" name="answer[]" /> //checked
   <input id="answer" type="text" name="answer[]" />
   <input id="answer" type="text" name="answer[]" /> /checked
   <input id="answer" type="text" name="answer[]" />
   <input id="answer" type="text" name="answer[]" /> //checked

如果我检查字段的长度或大小而不是它显示的内容并仅插入选中的项目,但我想插入未选中的值 0

【问题讨论】:

标签: php loops checkbox


【解决方案1】:

浏览器不会将未选中的复选框数据发送到服务器,在这种情况下是 PHP。

因此,在您的 PHP 中,您必须了解表单上存在的所有复选框并检查每个复选框的存在以决定将哪些内容存储到您的数据库中。

类似

HTML

<input type="checkbox" name="cb1" value="1" /> //checked
<input type="checkbox" name="cb2" value="2" />
<input type="checkbox" name="cb3" value="3" /> /checked
<input type="checkbox" name="cb4" value="4" />
<input type="checkbox" name="cb5" value="5" /> //checked

if (isset($POST['cb1'])) {
    $cb1 = $POST['cb1'];
}else{
    // it was not checked because it was not sent
    // so use the default or whatever UNCHECKED value when storing to the DB
    $cb1 = 0;   // for example
}

你可以稍微缩短代码

$cb1 = isset($POST['cb1']) ? $POST['cb1'] : 0;

【讨论】:

  • OP 还需要修复他们的 HTML,然后才能正常工作。没有任何值,实际上不可能知道哪些复选框被选中,哪些没有被选中。
  • @MagnusEriksson 是的,事实上,正如我在上面所说的那样,显示的 HTML 甚至不是 Checkbox :)
  • 哦哦。你是对的!我完全错过了! :-D
猜你喜欢
  • 1970-01-01
  • 2019-09-18
  • 1970-01-01
  • 2014-10-15
  • 2013-05-21
  • 2012-06-19
  • 2016-07-23
  • 2016-01-27
  • 1970-01-01
相关资源
最近更新 更多