更改表格中的所有值" on"到"是"

时间:2013-11-26 11:57:24

标签: php mysql forms

我有一个包含大量复选框的表单,当您选中复选框时,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);


?>

3 个答案:

答案 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";