| 제목 | 코드이그나이트 입문자가 문의드립니다. | ||
|---|---|---|---|
| 글쓴이 | 하드코딩 | 작성시각 | 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
하드코딩/ 있을 수 있는 실수입니다. ^^
|