我有一个包含大量复选框的表单,当您选中复选框时,from通过值“on”发送。在将它们插入我的数据库之前,我想将它们更改为更有用的值,如值“是”,然后对于未检查的所有框,值为“否”。有人可以帮我吗?
这是我的代码:
<?php
include_once 'database_login.php';
$barcode = $_POST['barcode'];
$name = $_POST['name'];
$company = $_POST['company'];
$fair_trade = $_POST['fair_trade'];
$palm_oil = $_POST['palm_oil'];
$organic = $_POST['organic'];
$gm_free = $_POST['gm_free'];
$nz = $_POST['nz'];
$animals = $_POST['animals'];
$recyclable = $_POST['recyclable'];
$category = $_POST['category'];
$sub_category = $_POST['sub_category'];
$add = "INSERT INTO products (barcode, name, company, fair_trade, palm_oil, organic, gm_free, nz, animals, recyclable, category, sub_category) VALUES ('$barcode', '$name', '$company', '$fair_trade', '$palm_oil', '$organic', '$gm_free', '$nz', '$animals', '$recyclable', '$category', '$sub_category')";
$added = mysqli_query($con, $add);
header( "Location: add.php?message=1");
mysqli_close($con);
?>
答案 0 :(得分:0)
使用速记/三元运算符来实现此目的。
$gm_free = ($_POST['gm_free'] == "on" ? "Yes" : "No");
答案 1 :(得分:0)
$checkbox = $_POST['myCheckbox'] == "on" ? "yes" : "no";
答案 2 :(得分:0)
您可以更改复选框的值
<input type="checkbox" name="chk_name1" value="Yes">
对于未选中但应具有No
值的复选框,
// all form checkbox
$checkbox = array("chk_name1", "chk_name2");
foreach ($checkbox as $name) $_POST[$name] ?: "No";