2014-01-10 3 views
0

사용자가 예를 들어 이름을 입력 할 수있는 입력 필드를 추가하고 데이터베이스의 관련 테이블에 추가하려고합니다. 그러나 나는 기본적인 입력 필드가 다음과 같은 코드로 제출 '버튼을 지금까지 이에 대한 새로운 액션을 만들려면 :이 양식이 표시됩니다 내보기 파일입니다PHP 폼 데이터가 전송되지 않습니다.

public function action_mynewaction() { 
    $this->auto_render = false; 
    if ($this->request->is_ajax()) 
    { 
    $stmt = DB::query(Database::INSERT, 'INSERT INTO `mytable` (`name`) VALUES (:Name)'); 
    $view = View :: factory('my/form/file_path'); 
    echo $view->render(); 
    } 
    } 

<table cellspacing="1" cellpadding="5" class="myclass noSort"> 
    <thead> 
     <tr> 
     <th>A</th> 
     <th>B</th> 
     <th>C</th> 
     </tr> 
    </thead> 
     <tfoot> 
      <tr> 
       <td colspan="3">&nbsp;</td> 
      </tr> 
     </tfoot> 
     <tbody> 
      <tr> 
       <form action="" method="post"> 
       <td>Add Name</td> 
       <td><input type="text" name="Name"></td> 
       <td><input type="submit" value="Submit"> 
       </form> 
      </tr> 
      </tbody> 
    </table> 

하지만 난 내

$ stmt-> PARAM에 추가 할 때마다 ('이름', $ _POST [ '이름']);

부분 입력/양식 입력란을 전혀 보여주지 않습니까?

데이터가 대소 문자를 모두

 public function action_mynewaction() { 
      $post = $this->request->post(); 

      $stmt = DB::query(Database::INSERT, 'INSERT INTO `mytable` (`name`) VALUES (:Name)'); 
      $stmt->param(':Name', $_POST['name']); 
      $stmt->execute(); 

      $view = View :: factory('my/form/file_path'); 
      echo $view->render(); 
    } 
+4

참고로'form' 요소는'tr' 요소 안에 직접 넣을 수 없습니다. 유효한 아이들은'td'와'th'입니다. – BenM

+0

@BenM 그건 HTML 표준으로 좋지만 양식을 넣을 수있게 해줄 수 있겠 니? =/ – Goikiu

+0

'' '가 없습니다. – DanFromGermany

답변

2

형태에서 폼/입력 필드를 표시하지 않는다.

귀하의 HTML에 : name="Name" 그리고으로 데이터를 검색 할 것입니다. "수신자"PHP 페이지가 "조치"를 양식에 전송하는 것과 같지 않다면 말한 것입니다.

+3

'action'이 없다면, '

'은 같은 페이지에 제출할 것입니다. –

+0

@RocketHazmat 나는 그것을 사용하지 않았다. 정보 주셔서 감사합니다. 내 게시물을 수정하겠습니다. – Goikiu

1

해당 요소를 browser get 메소드에 바인딩 할 수 있도록 이름 규칙을 따르십시오.

public function action_mynewaction() { 
      $post = $this->request->post(); 

      $stmt = DB::query(Database::INSERT, 'INSERT INTO `mytable` (`name`) VALUES (:Name)'); 
      $stmt->param(':Name', $_POST['Name']); /* replace 'name' with 'Name' */ 
      $stmt->execute(); 

      $view = View :: factory('my/form/file_path'); 
      echo $view->render(); 
    } 
관련 문제