获取价值复选框

时间:2013-05-09 08:18:32

标签: php

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

我在数组中进行了打印,该变量未被处理,在“打开”时始终显示。

2 个答案:

答案 0 :(得分:1)

您使用双等号==

等变量赋值
$c_google == 0;
$code == NULL;

使用单=,请更正所有

答案 1 :(得分:1)

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

<input type="checkbox" name="some_name" />
未指定

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

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

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