获取值复选框


Get value check box

a_moipa_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" />