게시판 수정시 내용수정이 안되요. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

게시판 수정시 내용수정이 안되요. 정보

게시판 수정시 내용수정이 안되요.

본문

안녕하세요.
초보입니다. 아무리 혼자 용을 써도 해결이 안되어서요. 도와주세요..
최근에 그누보드4를 설치했더니 예전에 쓰던 기능보다 조금 바뀐 것 같아서,,
2년전에 다운받아뒀던 그누보드4로 다시 설치했거든요.

그런데 게시판 스킨을 c_gallery로 쓰는데 수정시에 내용칸이 아예 안나와요.
내용 text box가요.. ㅠㅠ
그리고 사진첨부를 하고 확인을 누르면 업로드가 안되고 처리중이미지만 죙일 나오네요..

http://kingmotion.net/bbs/board.php?bo_table=dc
문제의 사이트는 위에 들어가 보시면 되구요,, 전에 자료 똑같은걸로 올렸는데 왜 이런거죠?
ㅠㅠ 도와주세요..

write.skin.php 원본인데요..
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
if($is_admin == "super") {
if($cy == "up") {
include_once("$board_skin_path/cyworld/cy_img_down_go.php");
include_once("$board_skin_path/cyworld/cy_sh.php");
}
}


if ($is_dhtml_editor) {
    include_once("$g4[path]/lib/cheditor.lib.php");
    echo "<script src='$g4[editor_path]/cheditor.js'></script>";
    echo cheditor1('wr_content', $content);
}
?>

<script language="javascript">
// 글자수 제한
var char_min = parseInt(<?=$write_min?>); // 최소
var char_max = parseInt(<?=$write_max?>); // 최대
</script>

<script type="text/javascript">
<!--
function set_menu(obj) {
    var nLeft,nTop
    pl = 20  // 가로 위치 조절
    ph = 20 // 세로 위치 조절
var _x = document.body.clientWidth/2 + document.body.scrollLeft - 20; // 가로 위치
var _y = document.body.clientHeight/2 + document.body.scrollTop - 0; // 세로 위치

    eval(obj+".style").posLeft = _x;
    eval(obj+".style").posTop = _y;
    eval(obj+".style").display='block';
}

function show_menu(obj) {
    eval(obj+".style").display='block';
}

function hide_menu(obj) {
    eval(obj+".style").display='none';
}
//-->
</script>

<!-- 김선용 2005.4 - ff(불여우) 에서는 innerhtml 사용시 폼이 <table> 아래에 있으면 인식하지 못합니다. -->
<form name="fwrite" method="post" action="javascript:fwrite_check(document.fwrite);" enctype="multipart/form-data" style="margin:0px;" onsubmit="return set_menu('loading')" >
<table id="loading" width="150" height="5" bgcolor="#FFFFFF" style="position:absolute; display:none; border-width:1; border-color:rgb(153,153,153); border-style:solid; top:100px; left:100px; z-index:1;">
<tr><td width="100%" height="100%" align="center">잠시만 기다려주세요</td></tr>
<tr><td width="100%" height="100%" align="center" style="border-top-width:1; border-bottom-width:1; border-color:rgb(153,153,153); border-top-style:solid; border-bottom-style:solid;" bgcolor="#F5F5F5">
<marquee width="150" height="5" direction="right" scrollamount="10">
<table cellpadding="0" cellspacing="0" width="100%" height="100%">
    <tr>
        <td bgcolor="#5F97D2"></td>
        <td bgcolor="#70A1D5"></td>
        <td bgcolor="#5F97D2"></td>
        <td bgcolor="#70A1D5"></td>
        <td bgcolor="#5F97D2"></td>
        <td bgcolor="#70A1D5"></td>
        <td bgcolor="#5F97D2"></td>
        <td bgcolor="#70A1D5"></td>
        <td bgcolor="#5F97D2"></td>
    </tr>
</table>
</marquee>
</td></tr></table>
<input type=hidden name=null />
<!-- 삭제하지 마십시오. -->
<input type=hidden name=w        value="<?=$w?>">
<input type=hidden name=bo_table value="<?=$bo_table?>">
<input type=hidden name=wr_id    value="<?=$wr_id?>">
<input type=hidden name=sca      value="<?=$sca?>">
<input type=hidden name=sfl      value="<?=$sfl?>">
<input type=hidden name=stx      value="<?=$stx?>">
<input type=hidden name=spt      value="<?=$spt?>">
<input type=hidden name=sst      value="<?=$sst?>">
<input type=hidden name=sod      value="<?=$sod?>">
<input type=hidden name=page    value="<?=$page?>">

<table width="<?=$width?>" align=center cellpadding=0 cellspacing=0><tr><td>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td style='padding-left:20px' colspan=2 height=38><strong><?=$title_msg?></strong></td></tr>
<tr><td colspan=2 height="1" bgcolor="#DDDDDD"></td></tr>
<tr><td colspan=2 height="3" bgcolor="#F6F6F6"></td></tr>
<? if ($is_name) { ?>
<tr>
    <td style='padding-left:20px; height:30px;'>· 이름</td>
    <td><input class=ed maxlength=20 size=15 name=wr_name itemname="이름" required value="<?=$name?>"></td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>

<? if ($is_password) { ?>
<tr>
    <td style='padding-left:20px; height:30px;'>· 패스워드</td>
    <td><input class=ed type=password maxlength=20 size=15 name=wr_password itemname="패스워드" <?=$password_required?>></td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>

<? if ($is_email) { ?>
<tr>
    <td style='padding-left:20px; height:30px;'>· 이메일</td>
    <td><input class=ed maxlength=100 size=50 name=wr_email email itemname="이메일" value="<?=$email?>"></td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>

<? if ($is_homepage) { ?>
<tr>
    <td style='padding-left:20px; height:30px;'>· 홈페이지</td>
    <td><input class=ed size=50 name=wr_homepage itemname="홈페이지" value="<?=$homepage?>"> ( http://주소 )</td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>

<tr>
    <td width=100 style='padding-left:20px; height:30px;'>· 옵션</td>
    <td><? if ($is_notice) { ?><input type=checkbox name=notice value="1" <?=$notice_checked?>>공지&nbsp;<? } ?>
        <? if ($is_html) { ?>
<? if ($is_dhtml_editor) { ?>
            <input type=hidden value="html1" name="html">
<? } else { ?>
<input onclick="html_auto_br(this);" type=checkbox value="<?=$html_value?>" name="html" <?=$html_checked?>><span class=w_title>html</span>&nbsp;<? } ?>
<? } ?>
        <? if ($is_secret) { ?>
            <? if ($is_admin || $is_secret==1) { ?>
            <input type=checkbox value="secret" name="secret" <?=$secret_checked?>><span class=w_title>비밀글</span>&nbsp;
            <? } else { ?>
            <input type=hidden value="secret" name="secret">
            <? }} ?>
        <? if ($is_mail) { ?><input type=checkbox value="mail" name="mail" <?=$recv_email_checked?>>답변메일받기&nbsp;<? } ?></td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>

<? if ($is_category) { ?>
<tr>
    <td style='padding-left:20px; height:30px;'>· 분류</td>
    <td><select name=ca_name required itemname="분류"><option value="">선택하세요<?=$category_option?></select></td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>

<tr>
    <td style='padding-left:20px; height:30px;'>· 제목</td>
    <td><input class=ed style="width:100%;" name=wr_subject id="wr_subject" itemname="제목" required value="<?=$subject?>"></td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<tr>
    <td style='padding-left:20px;'>· 내용</td>
    <td style='padding:5 0 5 0;'>
<? if ($is_dhtml_editor) { ?>
            <?=cheditor2('fwrite', 'wr_content', '100%', '350');?>
            <? } else { ?>
            <table width=100% cellpadding=0 cellspacing=0>
        <tr>
            <td width=50% align=left valign=bottom>
                <span style="cursor: pointer;" onclick="textarea_decrease('wr_content', 10);"><img src="<?=$board_skin_path?>/img/up.gif"></span>
                <span style="cursor: pointer;" onclick="textarea_original('wr_content', 10);"><img src="<?=$board_skin_path?>/img/start.gif"></span>
                <span style="cursor: pointer;" onclick="textarea_increase('wr_content', 10);"><img src="<?=$board_skin_path?>/img/down.gif"></span></td>
            <td width=50% align=right><? if ($write_min || $write_max) { ?><span id=char_count></span>글자<?}?></td>
        </tr>
        </table>
        <textarea id=wr_content name=wr_content class=tx style='width:100%; word-break:break-all;' rows=15 itemname="내용" <? if($is_admin) { echo "";  } else { echo "/*required*/"; }?>
        <? if ($write_min || $write_max) { ?>onkeyup="check_byte('wr_content', 'char_count');"<?}?>><?=$content?></textarea>
        <? if ($write_min || $write_max) { ?><script language="javascript"> check_byte('wr_content', 'char_count'); </script><?}?>
<? } ?>
</td>
</tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>

<? if ($is_link) { ?>
<? for ($i=1; $i<=$g4[link_count]; $i++) { ?>
<tr>
    <td style='padding-left:20px; height:30px;'>· 링크 #<?=$i?></td>
    <td><input type='text' class=ed size=50 name='wr_link<?=$i?>' itemname='링크 #<?=$i?>' value='<?=$write["wr_link{$i}"]?>'></td>
</tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>
<? } ?>

<? if ($is_file) { ?>
<tr>
    <td style='padding-left:20px; height:30px;'><table border="0" cellpadding=0 cellspacing=0><tr><td>· 파일 <span onclick="add_file();" style='cursor:pointer; font-family:tahoma; font-size:12pt;'><img src="<?=$board_skin_path?>/img/pl.gif" border="0"></span> <span onclick="del_file();" style='cursor:pointer; font-family:tahoma; font-size:12pt;'><img src="<?=$board_skin_path?>/img/mi.gif" border="0"></span></td></tr></table></td>
    <td style='padding:5 0 5 0;'><table border="0" id="variableFiles" cellpadding=0 cellspacing=0></table>
<?// print_r2($file); ?>
        <script language="JavaScript">
        var flen = 0;
        function add_file(delete_code)
        {
            var upload_count = <?=(int)$board[bo_upload_count]?>;
            if (upload_count && flen >= upload_count)
            {
                alert("이 게시판은 "+upload_count+"개 까지만 파일 업로드가 가능합니다.");
                return;
            }

            var objTbl;
            var objRow;
            var objCell;
            if (document.getElementById)
                objTbl = document.getElementById("variableFiles");
            else
                objTbl = document.all["variableFiles"];

            objRow = objTbl.insertRow(objTbl.rows.length);
            objCell = objRow.insertCell(0);

            objCell.innerHTML = "<input type='file' class=ed size=22 name='bf_file[]' title='파일 용량 <?=$upload_max_filesize?> 이하만 업로드 가능'>";
            if (delete_code)
                objCell.innerHTML += delete_code;
            else
            {
                <? if ($is_file_content) { ?>
                objCell.innerHTML += "<br><input type='text' class=ed size=50 name='bf_content[]' title='업로드 이미지 파일에 해당 되는 내용을 입력하세요.'>";
                <? } ?>
                ;
            }

            flen++;
        }

        <?=$file_script; //수정시에 필요한 스크립트?>

        function del_file()
        {
            // file_length 이하로는 필드가 삭제되지 않아야 합니다.
            var file_length = <?=(int)$file_length?>;
            var objTbl = document.getElementById("variableFiles");
            if (objTbl.rows.length - 1 > file_length)
            {
                objTbl.deleteRow(objTbl.rows.length - 1);
                flen--;
            }
        }
        </script></td>
</tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>

<? if ($is_trackback) { ?>
<tr>
    <td style='padding-left:20px; height:30px;'>· 트랙백주소</td>
    <td><input class=ed size=50 name=wr_trackback itemname="트랙백" value="<?=$trackback?>">
        <? if ($w=="u") { ?><input type=checkbox name="re_trackback" value="1">핑 보냄<? } ?></td>
</tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>

<? if ($is_norobot) { ?>
<tr>
    <td style='padding-left:20px; height:30px;'>· <?=$norobot_str?></td>
    <td><input class=ed type=input size=10 name=wr_key itemname="자동등록방지" required>&nbsp;&nbsp;* 왼쪽의 글자중 <font color="red">빨간글자만</font> 순서대로 입력하세요.</td>
</tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>

<tr><td colspan=2 height="3" bgcolor="#F6F6F6"></td></tr>
</table>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
    <td width="100%" height="30" background="<?=$board_skin_path?>/img/width_down_bg.gif"></td>
</tr>
<tr>
    <td width="100%" align="center" valign="top">
        <input type=image id="btn_submit" src="<?=$board_skin_path?>/img/btn_write.gif" border=0 accesskey='s'>&nbsp;
        <a href="./board.php?bo_table=<?=$bo_table?>"><img id="btn_list" src="<?=$board_skin_path?>/img/btn_list.gif" border=0></a></td>
</tr>
</table>

</td></tr></table>
</form>


<script language="javascript">
<?
// 관리자라면 분류 선택에 '공지' 옵션을 추가함
if ($is_admin)
{
    echo "
    if (typeof(document.fwrite.ca_name) != 'undefined')
    {
        document.fwrite.ca_name.options.length += 1;
        document.fwrite.ca_name.options[document.fwrite.ca_name.options.length-1].value = '공지';
        document.fwrite.ca_name.options[document.fwrite.ca_name.options.length-1].text = '공지';
    }";
}
?>

with (document.fwrite) {
    if (typeof(wr_name) != "undefined")
        wr_name.focus();
    else if (typeof(wr_subject) != "undefined")
        wr_subject.focus();
    else if (typeof(wr_content) != "undefined")
        wr_content.focus();

    if (typeof(ca_name) != "undefined")
        if (w.value == "u")
            ca_name.value = "<?=$write[ca_name]?>";
}

function html_auto_br(obj)
{
    if (obj.checked) {
        result = confirm("자동 줄바꿈을 하시겠습니까?\n\n자동 줄바꿈은 게시물 내용중 줄바뀐 곳을<br>태그로 변환하는 기능입니다.");
        if (result)
            obj.value = "html2";
        else
            obj.value = "html1";
    }
    else
        obj.value = "";
}

function fwrite_check(f)
{
    var s = "";
    if (s = word_filter_check(f.wr_subject.value)) {
        alert("제목에 금지단어('"+s+"')가 포함되어있습니다");
        return;
    }

    if (s = word_filter_check(f.wr_content.value)) {
        alert("내용에 금지단어('"+s+"')가 포함되어있습니다");
        return;
    }

    if (char_min > 0 || char_max > 0)
    {
        var cnt = parseInt(document.getElementById('char_count').innerHTML);
        if (char_min > 0 && char_min > cnt)
        {
            alert("내용은 "+char_min+"글자 이상 쓰셔야 합니다.");
            return;
        } else if (char_max > 0 && char_max < cnt)
        {
            alert("내용은 "+char_max+"글자 이하로 쓰셔야 합니다.");
            return;
        }
    }

    if (typeof(f.wr_key) != "undefined") {
        if (hex_md5(f.wr_key.value) != md5_norobot_key) {
            alert("자동등록방지용 빨간글자가 순서대로 입력되지 않았습니다.");
            f.wr_key.focus();
            return;
        }
    }

<?
    if ($is_dhtml_editor) {
        echo cheditor3('wr_content');
        echo "if (!document.getElementById('wr_content').value) { alert('내용을 입력하십시오.'); return; } ";
    }
    ?>
document.getElementById('btn_submit').disabled = true;
    document.getElementById('btn_list').disabled = true;

    f.action = "./write_update.php";
    f.submit();
}
</script>

<script language="JavaScript" src="<?="$g4[path]/js/board.js"?>"></script>
  • 복사

댓글 전체

글쎄요.. 글 수정을 할 수 없으니 현상을 재현해볼 수는 없고..

2년전 버전을 다시 설치하실때, 기존 화일들을 다 지우시고 하셨나요?
두 버전간의 충돌이 있는 것 같은데요.. 특히 에디터 부분..

그리고, 가능하면 최신버전을 쓰셔야 합니다.
보안패치가 상당히 있었고요.. 몇가지는 치명적인것들이라서..
기존것들 위에 덮어쓰기 했어요.. 한번 삭제하고 다시 올려볼께요.
신경 써 주셔서 감사합니다. ㅜㅠ

최신버젼의 경우 게시판 상단/하단에 html소스 붙여넣기하고 저장하고 보면.. 왼쪽메뉴의 아래로 게시판이 내려와 있어서(왼쪽메뉴 오른쪽에 게시판이 정렬되어야 하는데..) 그걸 해결 못해서 예전걸로 했어요. ㅠㅠ 둘중 하나는 해결을 해야 하는뎅,,
혹시 data 폴더도 삭제하시는 것은 아니겠죠? ^^;
거기에 이미지 화일들이 들어있어어요..

정렬 문제라면.. 코드를 수정해서 해결하시는 것이,
보안문제가 있는 옛날버전을 쓰는 것보다는 나을듯 하네요.. ^^;
으헝~~
몇시간의 삽질끝에 해결했습니다. ㅎㅎㅎㅎㅎ
벌써 12시 반.. ㅜㅜ
다른 게시판에 있는 basic스킨은 정상적으로 돌아가는데 새버젼이거든요.
아무래도 처음부터 설치에 문제가 있었나봐요.
이게 최신스킨이라 삭제하고 옛날 버젼의 basic스킨을 올렸는데도 새버젼 기능이 그대로 유지되더라고요. ????
암튼.. 그 basic 스킨의 write.skin.php를 c_gallery스킨 아래에 덮어쓰기 했더니 됩니다용!! ^^
버젼간에 충돌이 맞나봅니다.
잘 됐네요..

그래도 이왕이면 최신버전을 쓰세요.. ^^
최신버전 사용으로 생기는 문제를 여기에 올리시면
버전충돌 문제보다는, 쉽게 답을 얻으실꺼예요. ^^
© SIRSOFT
현재 페이지 제일 처음으로