2013-05-09 146 views
0

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

我做的阵列中的打印,变量没有被处理的整数,当“上”检查总是出现。

+0

是它可以显示你的HTML代码? – liyakat 2013-05-09 08:21:08

+0

当你足够新鲜时,请告知什么是要解决的实际问题? – 2013-05-09 08:21:15

+0

是的。你真的需要放松,而不是寻求帮助。目前完全不清楚你在说什么。至少,显示您遇到问题的复选框的HTML代码。但作为猜测 - 为该输入标签指定值。 – 2013-05-09 08:22:47

回答

1

你使用双等号==

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

使用asigning值变量单=请纠正他们都

1

您的复选框必须有一个值。假设现在你有这样的事情:没有指定

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

值,但浏览器必须在一定值发送到服务器上提交。默认是on,这就是为什么你检查时得到on。当复选框未被选中时 - 其值不会被发送。

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

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

我不久前遇到了这个,它让我挠了挠头。为什么默认情况下不发送关闭值是超出我的。 – Jared 2013-05-09 09:18:57

+1

您可以在复选框前添加''来扩展它。如果复选框的值实际发送,它应该覆盖隐藏的输入。如果不是,隐藏的输入将被发送。 – Jared 2013-05-09 09:20:05