여분필드 늘렸는데, 글이 작성이 안되네요. 왜 그런가요?
본문
어떤 분의 글을 보고 아래와 같이 바꿨거든요. 그런데, 글을 작성해보니 글이 작성이 안되더라고요.
특이한 것은 관리자모드에 들어가면, 게시글이 작성된 듯한 표시는 나는데 그 안에 데이터는 없습니다.
왜 그런 것일까요?
고수분들 답변 좀 부탁드립니다.
--------------------------------------------------
/adm/sql_write.sql 파일에 추가
`wr_10` varchar(255) NOT NULL,
`wr_11` varchar(255) NOT NULL,
...
...
`wr_50` varchar(255) NOT NULL,
/bbs/write_update.php 파일에 추가 (총 2군데 있음)
wr_10 = '$wr_10',?
wr_11 = '$wr_11',
...
...
wr_50 = '$wr_50' ";
/bbs/write.php 파일 수정. ($i<=50;) 50으로 수정
// 가변 변수로 $wr_1 .. $wr_50 까지 만든다.
for ($i=1; $i<=50; $i++) {
---------------------------------------
답변 1
/adm/sql_write.sql 은 게시판 생성할때 게시판 테이블을 만들기 위한 테이블 생성 쿼리문인데요.
혹시 게시판 생성하고 /adm/sql_write.sql 이것만 수정을 하신건 아닌지?
/adm/sql_write.sql 수정전에 생성한 게시판은 게시판 테이블에 직접 여분필드 만들어줘야하구요.
/bbs/write_update.php 이렇게 그누 기본파일에 직접 수정하면 모든 게시판에 다 영향을 받습니다.
여분필드가 없는 다른 게시판은 오류때문에 글이 안써지게 되죠. 그래서 몇몇 초보분들은 $bo_table 로 예외 처리를 하긴하는데요.
이런것보다는 해당 skin 폴더안에 list.skin.php, write.skin.php 등등 있잖아요.
여기에 write_update.skin.php 를 만들어서 여기서 처리해주는게 좋습니다.
여기에서는 $wr_id 값으로 여분필드 늘어난 만큼 항상 update 를 해주는거죠.
/bbs/write_update.php 에서 모든 작업이 끝나면 해당 게시판 스킨안에 있는 write_update.skin.php 이 있으면 맨 마지막에 이걸 가져와서 처리해줍니다. 없으면 패스하구요.
글등록이든 수정이든
/bbs/write_update.php 에서 일단 글이 생성또는 수정되기때문에 마지막 write_update.skin.php 에서는 업데이트 처리만 해주면 되는거구요.