[[RE] [RE] 데이터베이스 입력이 되질 않습니다.의 답글] ----------------------------------------------------------------
[[RE] 데이터베이스 입력이 되질 않습니다.의 답글] ----------------------------------------------------------------
[데이터베이스 입력이 되질 않습니다.의 답글] ----------------------------------------------------------------
컨트롤러에 앞에 글을 보니 Board.php를 board.php로 변경을 하라고 하셨는데 그렇게 하면 글쓰기 자체가 되질 않습니다.
그리고 Board.php로 변경을 하니깐 글쓰기는 되는데 list페이지에서 ajax구문 다 작동을 하는데 .done밑에 alert창이 작동을 안하네요 인서트가 안된다는 뜻인데 안되는 이유를 잘 모르겠네요
소스 첨부합니다. 확인좀 부탁드리겠습니다.
----------------------------------------------------------------
우선, 다음 내용을 봐주세요.
class Board extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('board_model');
}
Board 컨트롤러의 생성자에서 $this->load->model('board_model'); 이 부분이 있는지 봐주세요.
먼저 board_model 이 로딩되어야 합니다.
그리고, 글쓰기 버튼 클릭 시, 자바스크립트 구문에 기능을 추가해주세요. (에러 확인 기능)
$.ajax({
type: 'POST',
url: "/index.php/board/write_ok",
data: { name : $("#name").val(), title : $("#title").val(), contents : $("#contents").val()},
cache: false,
async: false
}).done(function( html ){
alert("저장되었습니다.");
})
.fail(function( jqHXR, textStatus ){
alert("Err : " + textStatus);
});
이런 식으로 추가하면, 에러 내용을 확인하실 수 있을 겁니다.
에러 내용이 확인이 되면, 문제를 찾기 수월하실 겁니다.
----------------------------------------------------------------
자꾸 jquery에러가 나는거 같은데요 버젼을 바꿔도 보고 해도 안되네요 무슨 문제일까요 ㅠ.ㅠ
사진 첨부 드립니다.
----------------------------------------------------------------
앞서 답변 드린 내용을 참조해보세요.
controller 에는 (여기서는 board.php) 생성자가 있습니다. 이 생성자에서, "$this->load->model('board_model');" 이 구문을 통해 board_model을 미리 로딩해야 됩니다. 다음은 예입니다.
public function __construct()
{
parent::__construct();
$this->load->model('board_model');
}
그렇게 한 후에야 write_ok() 에서, " $return_value = $this->board_model->insert_board(); " -> 이 구문이 정상 작동됩니다.
public function write_ok()
{
$return_value = $this->board_model->insert_board();
echo $return_value;
}
현재 오류를 보니, 제이쿼리 오류인 것처럼 보이나.. 실제로는 write_ok를 찾지 못하는 오류입니다. 즉 ..../write_ok 이 경로가 제대로 작동하지 않는 거죠. 이유는 다양합니다. Mysql 설정이 잘못되었을 수도 있고, 다른 이유일 수도 있습니다.
앞서 올리신 첨부파일에 근거하자면, 말씀드린대로, " $this->load->model('board_model');" -> 이 구문이 빠져서 생긴 오류일 가능성이 많습니다.