PHP 无法处理复选框

  • 本文关键字:复选框 处理 PHP php
  • 更新时间 :
  • 英文 :


我正在尝试获取复选框值并将其存储在数据库中。我一直在关注这个https://stackoverflow.com/a/29948042/13695248答案,但我总是在数据库中得到值1,即使它并没有被检查。我检查了网络选项卡,所有复选框都显示"打开"。这就是其中一个的样子:

<div class="form-check">
<input type="checkbox" class="form-check-input" id="front-disc-brake" name="front-disc-brake">
<label class="form-check-label" for="front-disc-brake">Front disc brake</label>
</div>

我试过两种方法:

$front_disc_brake = $_POST['front-disc-brake'] ?? 0;

和:

$front_disc_brake = isset($_POST['front-disc-brake']) ? 1 : 0;

但正如我所说,它总是1,不管我是否检查它。

您需要为复选框分配一个值,使其工作。

例如:

更改

<input type="checkbox" class="form-check-input" id="front-disc-brake" name="front-disc-brake">

<input type="checkbox" class="form-check-input" id="front-disc-brake" name="front-disc-brake" value="1">

然后isset((检查将按预期工作。

如果您希望复选框在中工作,则必须为其指定一个值

<input type="checkbox" class="form-check-input" id="front-disc-brake" name="front-disc-brake" value="[just add value]">

最新更新