如何阅读,如果一个复选框被选中在PHP?
当前回答
根据表单的操作,您可以在$_POST或$_GET数组中检查相应的值是否已设置且非空。
例如:使用一个名为"test"的POST表单(即:<input type="checkbox" name="test">,你会使用:
if(isset($_POST['test']) {
// The checkbox was enabled...
}
其他回答
我已经把它固定成一个带有复选框的PHP表单
$categories = get_terms(['taxonomy' => 'product_cat', 'hide_empty' => false]); Foreach ($categories为$ categororie) { Echo "<input type="checkbox" value="$ categororie ->term_taxonomy_id" name="catselected[]"> $ categororie ->slug"; }
这样我把它添加到Woocommerce表。 wp_set_post_terms($product_id, $_POST['catselected'], 'product_cat');
好吧,上面的例子只适用于当你想要INSERT一个值时,对于更新不同的值到不同的列并不有用,所以这里是我的更新小技巧:
//EMPTY ALL VALUES TO 0
$queryMU ='UPDATE '.$db->dbprefix().'settings SET menu_news = 0, menu_gallery = 0, menu_events = 0, menu_contact = 0';
$stmtMU = $db->prepare($queryMU);
$stmtMU->execute();
if(!empty($_POST['check_menus'])) {
foreach($_POST['check_menus'] as $checkU) {
try {
//UPDATE only the values checked
$queryMU ='UPDATE '.$db->dbprefix().'settings SET '.$checkU.'= 1';
$stmtMU = $db->prepare($queryMU);
$stmtMU->execute();
} catch(PDOException $e) {
$msg = 'Error: ' . $e->getMessage();}
}
}
<input type="checkbox" value="menu_news" name="check_menus[]" />
<input type="checkbox" value="menu_gallery" name="check_menus[]" />
....
秘诀是首先更新所有的值(在本例中为0),由于只发送检查过的值,这意味着您得到的所有值都应该设置为1,所以您得到的所有值都设置为1。
例子是PHP,但适用于所有东西。
玩得开心!
当使用复选框作为数组时:
<input type="checkbox" name="food[]" value="Orange">
<input type="checkbox" name="food[]" value="Apple">
你应该使用in_array():
if(in_array('Orange', $_POST['food'])){
echo 'Orange was checked!';
}
记得先检查数组是否被设置,例如:
if(isset($_POST['food']) && in_array(...
一个极简的布尔检查开关位置保留
<?php
$checked = ($_POST['foo'] == ' checked');
?>
<input type="checkbox" name="foo" value=" checked"<?=$_POST['foo']?>>
<form>
<input type="check" id=chk1 value="1">
<input type="check" id=chk2 value="1">
<input type="check" id=chk3 value="1">
</form>
当你检查chk2时,你可以看到如下值:
<?php
foreach($_POST as $key=>$value)
{
if(isset($key))
$$key=strip_tags($value);
}
insert into table (chk1,chk2,chk3) values ('','1','');
?>