0

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();
}
?>

我在数组中打印,变量没有被处理,当它被选中时总是出现。

4

2 回答 2

1

您使用双等号==为变量赋值,例如

$c_google == 0;
$code == NULL;

使用单=请更正所有这些

于 2013-05-09T08:26:16.223 回答
1

您的复选框必须有一个值。假设现在你有这样的东西:

<input type="checkbox" name="some_name" />

未指定值,但浏览器必须在提交时向服务器发送一些值。默认是on,这就是您on在检查时得到的原因。未选中复选框时 - 根本不发送其值。

如果您想在$_POST选中复选框时获得一些特定值,只需添加value="some_val"到您的复选框标签:

<input type="checkbox" name="some_name" value="some_value" />
于 2013-05-09T08:29:15.437 回答