我正在尝试获取复选框值并将其存储在数据库中。我一直在关注这个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]">