2013-05-09 70 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