여분필드추가 오류납니다
본문
bbs/ write_update.php 파일에 아래부분 wr_10 = '$wr_10', 이하추가변경하였고
wr_8 = '$wr_8',
wr_9 = '$wr_9',
wr_10 = '$wr_10',
wr_11 = '$wr_11',
wr_12 = '$wr_12',
wr_13 = '$wr_13',
wr_14 = '$wr_14',
wr_15 = '$wr_15',
wr_16 = '$wr_16',
wr_17 = '$wr_17',
wr_18 = '$wr_18',
wr_19 = '$wr_19',
wr_20 = '$wr_20' ";
sql_query($sql);
또한 아래부분도 아래처럼 wr_10= '{$wr_10}', 이하추가 변경
wr_6 = '{$wr_6}',
wr_7 = '{$wr_7}',
wr_8 = '{$wr_8}',
wr_9 = '{$wr_9}',
wr_10= '{$wr_10}',
wr_11 = '{$wr_11}',
wr_12 = '{$wr_12}',
wr_13 = '{$wr_13}',
wr_14 = '{$wr_14}',
wr_15 = '{$wr_15}',
wr_16 = '{$wr_16}',
wr_17 = '{$wr_17}',
wr_18 = '{$wr_18}',
wr_19 = '{$wr_19}',
wr_20= '{$wr_20}'
{$sql_ip}
{$sql_password}
where wr_id = '{$wr['wr_id']}' ";
이렇게 추가하였는데
글쓰기 하면 저장이 안됩니다
어디가 에러나는걸까요?
adm/sql_write.sql 파일도 수정하였고
bbs/write.php 파일도 수정하였습니다.
sql 파일 수정하지않고 글쓰기는 잘되는데(여분필드는 여전히 입력은 되지않음)
위에 처럼 sql 수정 올리면
bbs/board.php?bo_table=qa&wr_id=0
처럼 =0 으로되면서
글쓰기 입력자체가 안되고 index 화면으로 되돌아갑니다
sql_write.sql 은 아래처럼 변경 시켰습니다
`wr_8` varchar(255) NOT NULL,
`wr_9` varchar(255) NOT NULL,
`wr_10` varchar(255) NOT NULL,
`wr_11` varchar(255) NOT NULL,
`wr_12` varchar(255) NOT NULL,
`wr_13` varchar(255) NOT NULL,
`wr_14` varchar(255) NOT NULL,
`wr_15` varchar(255) NOT NULL,
`wr_16` varchar(255) NOT NULL,
`wr_17` varchar(255) NOT NULL,
`wr_18` varchar(255) NOT NULL,
`wr_19` varchar(255) NOT NULL,
`wr_20` varchar(255) NOT NULL,
bbs/write.php 도 아래처럼 수정
if ($write['wr_id']) {
// 가변 변수로 $wr_1 .. $wr_10 까지 만든다.
for ($i=1; $i<=20; $i++) {
$vvar = "wr_".$i;
$$vvar = $write['wr_'.$i];
}
이것말고 다른데 수정할때가 있을까요?
답변 5
https://gnustudy.com/bbs/board.php?bo_table=skin_board&wr_id=31
스킨 폴더 안에 write_update.skin.php 파일을 새로 생성하고 내용은 이렇게 하세요.
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$sql = " update $write_table
set wr_11 = '$wr_11',
wr_12 = '$wr_12',
wr_13 = '$wr_13',
wr_14 = '$wr_14',
wr_15 = '$wr_15',
wr_16 = '$wr_16',
wr_17 = '$wr_17',
wr_18 = '$wr_18',
wr_19 = '$wr_19',
wr_20 = '$wr_20'
where wr_id = '$wr_id' ";
sql_query($sql);
?>
where wr_id = '{$wr['wr_id']}' "; 가 아니라
where wr_id = '{$write['wr_id']}' "; 가 아닐까요?
phpmyadmin 접속해 실제로 값이 들어갈 컬럼들이 만들어져 있는지 체크해 보세요.
phpMyAdmin을 사용하실줄 모르시면 아래와 같은 내용의 코드를 추가 해주시면 자동으로 컬럼이 생성됩니다.
if(!sql_query(" SELECT wr_10 from $write_table limit 1 ", false)) {
sql_query(" ALTER TABLE $write_table
ADD wr_10 VARCHAR(255) NOT NULL ,
ADD wr_11 VARCHAR(255) NOT NULL ,
ADD wr_12 VARCHAR(255) NOT NULL ,
ADD wr_13 VARCHAR(255) NOT NULL ,
ADD wr_14 VARCHAR(255) NOT NULL ,
ADD wr_15 VARCHAR(255) NOT NULL ,
ADD wr_16 VARCHAR(255) NOT NULL ,
ADD wr_17 VARCHAR(255) NOT NULL ,
ADD wr_18 VARCHAR(255) NOT NULL ,
ADD wr_19 VARCHAR(255) NOT NULL ,
ADD wr_20 VARCHAR(255) NOT NULL ", true);
}
신규 컬럼을 추가하여 사용하는 페이지 상단에 넣으셔서 해보시기 바랍니다.
!-->