CI 묻고 답하기

제목 [CI 3.0] input data를 받아오지 못하는 문제
글쓴이 옴므파탈 작성시각 2015/04/24 10:41:34
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 14474   RSS
// Controller
public function _remap($method) {
		$view = '/booking/'.$method;
		$data['view'] = $view;

		$this->load->view('header');
		if($method === 'list') {
			$data['list'] = $this->booking_model->gets();	
		}

		/*
		 |------------------------------------------------------
		 | View 와 같은 이름의 Method 가 존재하면
		 | Method 를 우선 호출 하도록 함 
		 |------------------------------------------------------
		 */
		if(method_exists($this, $method)) {
			$this->$method($view, $data);
		} else {
			$this->load->view($view, $data);
		}
	}

...

/*
	 |------------------------------------------------------
	 | DESCRIPTION :
	 | 작성한 데이터를 기준으로 새로운 아이템을 저장합니다
	 |------------------------------------------------------
	 */
	public function insert() {
		$item_no = $this->uri->segment(3);
		$applicant = $this->input->post('applicant');

		$data = array('applicant'=>$applicant);
		$condition = array('item_no' => $item_no);
		
		$result = $this->booking_model->insert($data, $condition);

		if ($result) {
			$this->load->view('/booking/insert_success');
		} else {
			$data['msg'] = '신청이 실패했습니다';
			$data['item_no'] = $item_no;
			$this->load->view('/booking/insert_fail', $data);
		}
	}


// View 
<? echo form_open('booking/insert'); ?>
	<label for="applicant">신청인원</label>
	<input type="text" name="applicant" id="applicant" placeholder="신청인원">
	<? echo form_hidden('item_no', $item_no); ?>
</form>


위와같이 컨트롤러와 뷰를 구성하여 
뷰에서의 applicant 라는 name을 갖는 input data를 insert 함수에서 받도록 했습니다. 
그런데 항상 NULL 값이 찍힙니다. 

차라리 오타로 고민하는게 더 나은것 같습니다.. 
의심할만한 이유가 있을까요:?
 다음글 디비 저장시킬때 특정경로와 포함시켜 필드에 저장 시킬려... (1)
 이전글 CI 3.0 에서 Controller 초기화면에 DB ... (5)

댓글

한대승(불의회상) / 2015/04/24 11:50:54 / 추천 0
프로파일러를 켜보세요.
$this->output->enable_profiler();
ci세상 / 2015/04/27 00:38:32 / 추천 0
39줄 다음에 쿼리를 함 찍어보세요
$this->db->last_query();
쿼리문에도 값이 없다면 post를 못 받는 문제 같습니다.
php.ini > global_register > on설정관련
 
옴므파탈 / 2015/05/01 16:37:49 / 추천 0
submit 을 하기 위한 버튼이 submit 하는게 아니라 단순한 URL 링크 /controller/function 으로 되어있어서 안되었네요.. 
(그래서 function 으로 이동은 하는데 값이 하나도 없고..)
form submit 을 보내기 위한 버튼을 새로 구성하여 form 태그 안에 넣어주고 실행하니
값이 잘 들어왔습니다.
...문의를 올리고 나면 제 실수가 나오네요..
위의 구성은 이상이 없습니다!