제목 | 코드이그나이트 입문자가 문의드립니다. | ||
---|---|---|---|
글쓴이 | 하드코딩 | 작성시각 | 2012/02/03 02:34:01 |
|
|||
코드이그나이트 입문자입니다. 레퍼런스 한번 정독하고 코드를 작성해보고 있습니다. 관리자 모드에서 전체 게시판을 생성, 관리하는 코드를 작성해보려는데 뜻밖의 에러를 만나서 여러분께 도움요청하게 되었습니다. 일단 manager.php 라는 Controller 소스입니다. <?php class Manager extends CI_Controller { function __construct() { parent::__construct(); } public function index($page='main', $method='board_config'){} public function main($page){} public function board_config($page, $method) { $this->load->model('Board'); $board_act = $this->input->get('board_act'); $atc_page = ''; switch($board_act) { case 'BoardList' : $data['content'] = $this->Board->board_list(); $atc_page = 'list'; break; case 'BoardCreate' : $this->load->helper(array('form', 'url')); $this->load->library('form_validation'); $this->form_validation->set_rules('b_id', '게시판 ID', 'required'); if($this->form_validation->run() == FALSE) { $atc_page = 'create'; } else { $atc_page = 'success'; } break; default : $data['content'] = $this->Board->board_list(); $atc_page = 'list'; break; } $this->load->view('include/manager/header', $data); $this->load->view('board/'.$atc_page, $data); $this->load->view('include/manager/footer'); } public function article($page, $method){} }목록은 잘나옵니다. 부연 설명 드리자면 if(@$this->input->post($__VIEWSTATE) == FALSE) 이부분은 포스트백인지 아닌지 확인하는 부분입니다. 그리고 일단 게시물 작성화면까지는 잘 나옵니다. 그런데 작성화면에서 submit을 하면 에러 메세지는 Undefined property: Manager::$form_validation 이고 내용은 Fatal error: Call to a member function set_rules() on a non-object 에러를 발생시키네요. 그래서 여러가지로 코드도 확인하고 수정해보다가 $this->load->model('Board'); 이부분을 삭제하고 (게시물 작성부분에서는 기본 로직이 돌아가는지 확인중이라서 Board 모델의 함수를 호출하지 않습니다.) 다시 게시물을 작성해보니 잘 작동하는 겁니다. 아래는 Board.php 모델의 소스입니다. <?php class Board extends CI_Controller { function __construct() { parent::__construct(); } public function board_list(){ $where = ""; $this->db->order_by('name', 'desc'); $query = $this->db->get('board_config'); return $query->result_array(); } public function board_create(){ } public function board_read(){} public function board_update(){} public function board_delete(){} } ?>분명 컨트롤러 자체는 제대로 작동하는것 같습니다. Board 모델을 부르면 form_validation 라이브러리가 작동하지 않는것 같습니다. 입문자라서 어디가 잘못된건지 몇시간째 고민해도 답이 보이지 않네요. 제가 실수한 부분이 어디인지 도움 부탁드립니다. |
|||
태그 | Undefined property,form_validation | ||
다음글 | Heroku 에 코드이그나이터 사용가능한가요? (1) | ||
이전글 | 굉장히 많은 데이터를 처리 할시에..... (6) | ||
변종원(웅파)
/
2012/02/03 07:06:56 /
추천
0
switch문중 BoardCreate 에 해당하는 부분에는 $data 변수가 없습니다.
|
변종원(웅파)
/
2012/02/03 07:10:51 /
추천
0
그리고 모델은 extends CI_Model 입니다.
|
느림보
/
2012/02/03 09:32:06 /
추천
0
ㅜㅜ 저는 공부를 더 해야 하나봐요 폼검증은 아직 사용해보지 않아서 잘모르는 부분이지만 확실히 웅파님이 말씀하신대로 BoardCreate부분에서 $data 변수가 없네요.... |
하드코딩
/
2012/02/03 12:12:20 /
추천
0
헉;;; 정말 저런 되지도 않은 실수를 하고 여기다 도움을 요청했다니 부끄럽기 그지없네요 ㅠ |
변종원(웅파)
/
2012/02/03 13:18:57 /
추천
0
하드코딩/ 있을 수 있는 실수입니다. ^^
|