2016-11-11 71 views
1

我有一個PHP將包括我的數據在我的數據庫。防止插入查詢與PHP

但是在我的頁面中,我有一個可以複製的div,因此我將這些信息發送到一個數組(用「#!@」分解以避免在將數據插入到數據庫時發生任何錯誤爆炸)。

我的問題是,如果用戶不在第一個div內容字段插入任何東西,我不會做插入,它仍然會。

if ($_GET['action_ent'] != "#[email protected]#[email protected]#[email protected]") 
    { 
    $myInputs = $_GET['action_ent']; 
    foreach ($myInputs as $eachInput) 
    { 

      $valores = $eachInput; 
      print_r($valores); 
      $dummy = explode('#[email protected]', $valores); 

      $acao = $dummy[0]; 
      $resp_acao = $dummy[1]; 
      $inic_plan_acao = $dummy[2]; 
      $fim_plan_acao = $dummy[3]; 


      $inicio_acc = explode("/", $inic_plan_acao); 
      $fim_acc = explode("/", $fim_plan_acao); 

      $inicio_action = $inicio_acc[2]."-".$inicio_acc[1]."-".$inicio_acc[0]; 
      $fim_action = $fim_acc[2]."-".$fim_acc[1]."-".$fim_acc[0]; 




       $result2 = mysql_query("INSERT INTO `demv3`.`entraves_action` (`action_id`, `ent_id`, `resp_ent`, `data_fim`,`action_desc`,`action_resp`,`action_comeco`,`action_fim`) VALUES ('0', '$ent_id', '$resp_ent', '$data_fim', '$acao', '$resp_acao', '$inicio_action', '$fim_action')"); 

    } 

    } 
    else 
    { 
     echo "NOTHING"; 
    } 
+0

如果輸入的是從形式'的地方required'到第一輸入到來,如果你需要他們輸入:爲了避免你的邏輯發生重大變化,你可以用一個計數器或一個布爾標誌解決此一些東西,否則只需檢查$ _GET的第一個輸入,看看它是否是空的。 – Blinkydamo

+0

你的代碼完全取決於'$ _GET ['action_ent']'具有什麼。這是你沒有完全控制的東西。首先,'var_dump($ _ GET)'顯示什麼? –

回答

1

嘗試檢查在foreach中的第一項:

if ($_GET['action_ent'] != "#[email protected]#[email protected]#[email protected]") 
     { 
     $myInputs = $_GET['action_ent']; 
     foreach ($myInputs as $eachInput) 
     { 
       if(empty($eachInput)) { 
         echo 'NOTHING'; 
         break; 
       } 

       $valores = $eachInput; 
       print_r($valores); 
       $dummy = explode('#[email protected]', $valores); 

       $acao = $dummy[0]; 
       $resp_acao = $dummy[1]; 
       $inic_plan_acao = $dummy[2]; 
       $fim_plan_acao = $dummy[3]; 


       $inicio_acc = explode("/", $inic_plan_acao); 
       $fim_acc = explode("/", $fim_plan_acao); 

       $inicio_action = $inicio_acc[2]."-".$inicio_acc[1]."-".$inicio_acc[0]; 
       $fim_action = $fim_acc[2]."-".$fim_acc[1]."-".$fim_acc[0]; 




        $result2 = mysql_query("INSERT INTO `demv3`.`entraves_action` (`action_id`, `ent_id`, `resp_ent`, `data_fim`,`action_desc`,`action_resp`,`action_comeco`,`action_fim`) VALUES ('0', '$ent_id', '$resp_ent', '$data_fim', '$acao', '$resp_acao', '$inicio_action', '$fim_action')"); 

     } 

     } 
     else 
     { 
      echo "NOTHING"; 
     } 

要知道,如果除了第一個任意其他輸入是空的,將打破循環。

if(empty($eachInput) && $counter == 0) { 
    echo 'NOTHING'; 
    break; 
    }