2014-03-04 3 views
1

그래서 몇 가지 체크 박스가 포함 된 입력 폼이 있습니다. 그리고 어떤 이유로 인해 데이터베이스가 눌려져 있는지 여부에 따라 데이터를 저장하고 싶지 않습니다.데이터베이스에 체크 박스 데이터가 저장되어 있지 않습니다.

내 코드

지수 :

<table> 
    <form action="/htirs" method="POST"> 
     <tr> 
      <td>Rengjort Oppløsningsfilter</td><td><input type="checkbox" name="renOpFilt" /></td> 
     </tr> 
     <tr> 
      <td>Ren Nal</td><td><input type="checkbox" name="renNal" /></td> 
     </tr> 
     <tr> 
      <td>kontrSlangTank</td><td><input type="checkbox" name="kontrSlangTank" /></td> 
     </tr> 
     <tr> 
      <td>kontrSlangTank</td><td><input type="checkbox" name="kontrSlangTank" /></td> 
     </tr> 
     <tr> 
      <td><?php //Output for om lagringen gikk bra eller ikke. 
       if(isset($test3)) 
       { 
        if($test3) 
        { 
         echo "Lagret i databasen!"; 
        } 
        else 
        { 
         echo "Feil! Data ikke lagret!"; 
        } 
       } 
       else 
       { 
        echo "<hr/>"; 
       } ?> 
      </td><td><input type="submit" name="lagre3" value="Lagre" /></td> 
     </tr> 
    </form> 
</table> 

경로 :

Route::post('/htirs', '[email protected]'); 

HomeController :

public function insertHTirs() 
    { 
     $now = new DateTime(); 
     $now->setTimezone(new DateTimeZone('Europe/Oslo')); 

     $input = Input::all(); 

     if(Input::get('renOpFilt') == 'on') 
     { 
      $renOpFilt = 1; 
     } 
     else 
     { 
      $renOpFilt = 0; 
     } 

     if(Input::get('renNal') == 'on') 
     { 
      $renNal = 1; 
     } 
     else 
     { 
      $renNal = 0; 
     } 

     if(Input::get('kontrSlangTank') == 'on') 
     { 
      $kontrSlangTank = 1; 
     } 
     else 
     { 
      $kontrSlangTank = 0; 
     } 

     if(Input::get('kontrOgRenPad') == 'on') 
     { 
      $kontrOgRenPad = 1; 
     } 
     else 
     { 
      $kontrOgRenPad = 0; 
     } 


     try { 
      DB::beginTransaction(); 
      $query = DB::table('hvertirsdag')->insert(array(
       'dato' => $now->format('d.m.Y'), 
       'tid' => $now->format('H:i'), 
       'renOpplFilter' => $renOpFilt, 
       'renNal' => $renNal, 
       'kontrSlangTank' => $kontrSlangTank, 
       'kontrOgRenPad' => $kontrOgRenPad)); 

      $query2 = DB::table('ansatt_htirs')->insert(array(
       'ansattId' => '1', 
       'dato' => $now->format('d.m.Y'), 
       'tid' => $now->format('H:i'))); 
       DB::commit(); 

       if($query && $query2) 
       { 
        $test3 = true; 
        return View::make('index')->with('test3', $test3); 
       } 

      } 
     catch (\PDOException $e) 
      { 
       DB::rollback(); 
       $test3 = false; 
       return View::make('index')->with('test3', $test3); 
      } 
    } 

내가 할 수있는 유일한 수익은 데이터를 저장하는 데 실패한다는 것입니다 데이터베이스에서 e, 변수를 뷰에 반환하고 문제없이 오류를 반향시킬 수있는 반면, 필자의 삶은 이것이 잘못되는 부분을 파악할 수 없습니다. 시간 내 줘서 고마워.

답변

0

아무 것도 보내지 않으려면 체크 박스에 value 매개 변수가 있어야합니다. 체크 박스는 체크 할 때 폼 데이터로 전달되는 방식으로 작동합니다. 확인되지 않으면 아무 것도 보내지 않습니다.

+0

그래, 사실이라고 생각했지만, 지금 생각해 보면 문제가되지 않는다. value 매개 변수를 'on'으로 설정하여 테스트했습니다. – user249494

0

라벨 이름과 동일한 체크 박스 값을 포함합니다. (isset ($ _ POST [])) db에 데이터를 저장하거나 추가 처리를 위해

관련 문제