2016-01-20 47 views
0

我有越來越選擇複選框的值在我的PHP文件返回複選框選中空

<div class="form-group"> 
    <label for="obj">Objetivos PAE <a href="#" id="trigger">(Ver aqui)</a></label><br> 
    <div id="pop-up"> 
     <h3>Objetivos PAE</h3> 
     <p> 
     <ol> 
     <li>Reduzir a taxa de abandono escolar e melhorar os resultados escolares</li> 
     <li>Reduzir os casos de indisciplina</li> 
     <li>Promover a diversidade de atividades enquadradas nos conteúdos programáticos e/ou promovidas pela Escola</li> 
     <li>Aumentar o envolvimento das famílias e da Comunidade Educativa na Escola</li> 
     <li>Melhorar a organização curricular e pedagógica</li> 
     <li>Promover a aferição da qualidade dos serviços</li> 
     </ol> 
     </p> 
    </div> 
    <label class="checkbox-inline"><input type="checkbox" id="obj[]" name="obj[]" value="1º" >1º Objetivo</label> 
    <label class="checkbox-inline"><input type="checkbox" id="obj[]" name="obj[]" value="2º" >2º Objetivo</label> 
    <label class="checkbox-inline"><input type="checkbox" id="obj[]" name="obj[]" value="3º" >3º Objetivo</label> 
    <label class="checkbox-inline"><input type="checkbox" id="obj[]" name="obj[]" value="4º" >4º Objetivo</label> 
    <label class="checkbox-inline"><input type="checkbox" id="obj[]" name="obj[]" value="5º" >5º Objetivo</label> 
    <label class="checkbox-inline"><input type="checkbox" id="obj[]" name="obj[]" value="6º" >6º Objetivo</label> 
</div> 

問題,這是我的jQuery AJAX發送表單

.on('success.form.fv', function(e) { 
    e.preventDefault(); 
    var $form = $(e.target), 
     fv = $form.data('formValidation'); 
    $.ajax({ 
     url: 'updates.php', 
     type: 'POST', 
     data: $form.serialize(), 
     success: function(data){ 
      var result = data.status; 
      console.log(result); 
      if(result === 'success'){ 
       alert("ok"); 
      } 
      else{ 
       alert("erro"); 
      } 
     } 
    }); 
}); 

我有收到所有數據但不是用戶檢查的值 在提琴手我可以看到所有的數據通過,但在我的文章php的複選框的值爲空

這是我的php

if ($novoPae != null) { 
    $idutilizador = filter_input(INPUT_POST, 'userid'); 
    $cargo = filter_input(INPUT_POST, 'cargo'); 
    $des = filter_input(INPUT_POST, 'desc'); 
    $obj = filter_input(INPUT_POST, 'obj'); 
    $periodo = filter_input(INPUT_POST, 'periodo'); 
    $previsto = filter_input(INPUT_POST, 'previsto'); 
    $data = filter_input(INPUT_POST, 'data'); 
    $orcamento = filter_input(INPUT_POST, 'orcamento'); 
    $destinatarios = filter_input(INPUT_POST, 'destinatarios'); 
    $obs = filter_input(INPUT_POST, 'obs'); 
    echo $obj; 
    /* $ret = $ebspma->novoPae($cargo, $idutilizador, $novoPae, $des, $obj, $periodo, $previsto, $data, $orcamento, $destinatarios, $obs); 
    echo json_encode($ret);*/ 
} 

將從Fiddler我有此在sintaxView

貨物= 171 & novoPae = Atividade & DESC = Descri%C3%A7%C3%A 3 O & ** OBJ%5B%5D = 2% C2%BA & obj%5B%5D = 3%C2%BA & obj%5B%5D = 4%C2%BA & ** periodo = 2%C2%BA + Periodo & previsto = Fevereiro & data = 2015-12- 14 & orcamento = or%C3%A7amento & destinatarios = Destinat%C3%A1rios &個OBS =天文臺%C3%A7%C3%B5es &用戶id = 1261

+0

是否有必要他們有相同的名字? – birraa

+0

'obj []'是完全有效的,它在提交後呈現爲一個數組。爲了這個工作,它必須與所有相應的元素相同。 –

回答

0

的問題是你的filter_input()使用。默認情況下,filter_input()不處理陣列。

我的測試形式:

<form method="post"> 
    <input type="text" name="foo[]" value="anne"> 
    <input type="text" name="foo[]" value="bob"> 
    <button type="submit">submit</button> 
</form> 

1測試結果:

$foo = filter_input(INPUT_POST, 'foo'); 
var_dump($foo); 
// bool(false) 

如果你想找回你必須指定選項FILTER_REQUIRE_ARRAY數組:

$foo = filter_input(INPUT_POST, 'foo', FILTER_DEFAULT, FILTER_REQUIRE_ARRAY); 
var_dump($foo); 
// array(2) { [0]=> string(4) "anne" [1]=> string(3) "bob" } 
+0

好的...我會稍後再試,讓你知道。 – gmc1972

+0

不......它給了我警告:mysqli_real_escape_string()期望參數2是字符串,當試圖插入數據庫時​​給出數組 – gmc1972

+0

由於您沒有發佈任何與數據庫相關的代碼,我無法回答這個問題。最好爲此創建一個新問題。如果我的答案解決了這個問題中提到的問題,那麼您應該接受它。 –