a_moip
和a_google_analy
在数据库中与其他字符串
<?
@$c_google = $_POST['c_google_analystics'];
@$c_moip = $_POST['c_moip'];
$code = $_POST['google_analystic'];
$token = $_POST['moip_token'];
$key = $_POST['moip_key'];
if(isset($c_google) or isset($c_moip)) {
if(!isset($c_google)) {
$c_google == 0;
$code == NULL;
}
else {
$c_google == 1;
}
if(!isset($c_moip)) {
$c_moip == 0;
$key == NULL;
$token == NULL;
}
else {
$c_moip == 1;
}
$q = new Query;
$q
->update('config')
->set(
array(
'a_google_analy' => $c_google,
'a_moip' => $c_moip,
'google_analy' => $code,
'moip_token' => $token,
'moip_key' => $key
)
)
->where_equal_to(
array(
'id' => 1 // bug fix
)
)
->run();
}
else {
$q = new Query;
$q
->update('config')
->set(
array(
'a_google_analy' => 0,
'a_moip' => 0,
'google_analy' => NULL,
'moip_token' => NULL,
'moip_key' => NULL
)
)
->where_equal_to(
array(
'id' => 1 // bug fix
)
)
->run();
}
?>
我在数组中做了一个打印,变量没有被处理,总是出现当它被选中'on'
您使用双等号==
为变量赋值,如
$c_google == 0;
$code == NULL;
使用单个=
请全部纠正
复选框必须有一个值。假设现在你有这样的东西:
<input type="checkbox" name="some_name" />
value没有指定,但是浏览器必须在提交时发送一些值给服务器。默认是on
,这就是为什么你在检查时得到on
。当复选框未被选中时,它的值根本不发送。
如果你想在$_POST
中获得一些特定的值,当复选框被选中时,只需将value="some_val"
添加到你的复选框标签:
<input type="checkbox" name="some_name" value="some_value" />