글쓰기에는 $wr_id 값을 사용하지 않습니다. > 그누4 질문답변

그누4 질문답변

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

글쓰기에는 $wr_id 값을 사용하지 않습니다. 정보

글쓰기에는 $wr_id 값을 사용하지 않습니다.

본문

"글쓰기에는 $wr_id 값을 사용하지 않습니다." 라는 메세지가 나오는 경우의 대처 방법
(현재 버전의 그누보드와 예전 버전의 스킨 사용시에 자주 나오는 에러입니다.)

이 메시지(에러)는 폼 전송이 이루어지면서 자바스크립트 에러가 생기고 다시 submit 이 되면서 나오게 되는것 입니다.
에러의 발단은 자바스크립트 에러가 나오면서 생기게 되는것이지요.
이것은 최신버전으로 패치가 되면서 함수명등이 사라져서 나오게 됩니다.

우선 write.skin.php 의

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

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

이 코드를 삭제하시기 바랍니다.

이 코드는 최신 버전에서는 더 이상 사용하지 않고 있습니다.

이 코드를 삭제 했는데도 에러가 발생한다면

브라우저 > 도구 > 인터넷옵션 > 고급 > 모든 스크립트 오류에 관련된 알림 표시를 체크하여

어떤 자바스크립트 오류가 나는지 파악하여 에러를 수정하시기 바랍니다.

댓글 전체

다른 경우도 있습니다. 예를 들어 빌더의 경우 head.sub.php에 jQuery가 없는 경우 최신 스킨을 사용할 시에서는 jQuery를 이용하기 때문에 동일한 에러를 뿜어냅니다. 그럴 경우 head.sub.php에다 jQuery를 쓸 수 있도록 해주어야 합니다.
배추스킨 사용하시는분들중에 그누보드 4.33.06 패치하고  위와 같은 에러가 나시는분은
write.skin.php 파일과 view_comment.skin.php 파일에 아래와 같이 추가 하세요
<script type="text/javascript" src="<?="$g4[path]/js/jquery.kcaptcha.js"?>"></script>

위와 같이 적당한 위치( 저는  </form>  다음에 추가 했습니다.)에 추가 하시면 에러 메세지 없이 잘 등록 됩니다. 요거 때문에..3~4시간 까먹었네요.

basic  스킨과 비교하니 답이 나오더군요..
저도 같은 문제가 있었는데 저는 로그인 안한 상태의 댓글에만 나타났습니다.
해결은 다른 분의 블로그에서 해결했습니다.
http://blog.naver.com/gksxkdwndml?Redirect=Log&logNo=120121007130  <--요기
이자리를 빌어 그분께 감사합니다
고맙습니다. 이제 문제가 해결되었습니다.
[문제]plugin 게시판 dhtml 선택 후 글쓰기 후 작성을 하고 다시 글을 보면 글이 사라졌는데, 위와 같이 수정해 주니 문제가 해결되었습니다.
가보님 고맙습니다. 덕분에 수십시간 헤매다 해결했네요.블로그 작성자님께 더 감사드려야겠네요.
참고로 해당 블로그 내용 정리하자면.
write.skin.php 마지막에 있는
-----------------------------------------
<?
    if ($g4[https_url])
        echo "f.action = '$g4[https_url]/$g4[bbs]/write_update.php';";
    else
        echo "f.action = './write_update.php';";
    ?>
-----------------------------------------

-----------------------------------------
function fwrite_submit(f)
{
-----------------------------------------
이것 다음으로 옮겨주면 됩니다.
여러 원인으로 에러가 발생하는데 저는 이걸로 해결했습니다.
가보님 고맙습니다. 덕분에 수십시간 헤매다 해결했네요.블로그 작성자님께 더 감사드려야겠네요.
참고로 해당 블로그 내용 정리하자면.
write.skin.php 마지막에 있는
-----------------------------------------
<?
    if ($g4[https_url])
        echo "f.action = '$g4[https_url]/$g4[bbs]/write_update.php';";
    else
        echo "f.action = './write_update.php';";
    ?>
-----------------------------------------

-----------------------------------------
function fwrite_submit(f)
{
-----------------------------------------
이것 다음으로 옮겨주면 됩니다.
여러 원인으로 에러가 발생하는데 저는 이걸로 해결했습니다.
저도 이것때문에 고생하다가 자바 에러를 추적해보니 게시판 셋팅에서 DHTML 에디터 사용에 체크해 놓고 write.skin.php 에서는 DHTML 에디터 코드를 불러오지 않을경우 스크립트 오류로 "글쓰기에는 $wr_id 값을 사용하지 않습니다." 라는 메세지가 나오는 것이었습니다.
혹 위에 방법으로 다 해보셨는데도 안되시는 분들께서는 이부분도 체크해 보세요.
대박 ㅎ  저도 이걸로 해결... 제가 그동안 실수한게 게시판관리에서 각 게시판 설정 수정할때
수정항목 좌측에 체크박스에 체크를 하고 수정했습니다. 체크해야 수정이 되는줄알고 ㅋㅋ
알고보니 모든게시판 공통적용에 동의하는 체크박스였던;;;;;
가보님 고맙습니다. 덕분에 수십시간 헤매다 해결했네요.블로그 작성자님께 더 감사드려야겠네요.
참고로 해당 블로그 내용 정리하자면.
write.skin.php 마지막에 있는
-----------------------------------------
<?
    if ($g4[https_url])
        echo "f.action = '$g4[https_url]/$g4[bbs]/write_update.php';";
    else
        echo "f.action = './write_update.php';";
    ?>
-----------------------------------------

-----------------------------------------
function fwrite_submit(f)
{
-----------------------------------------
이것 다음으로 옮겨주면 됩니다.
여러 원인으로 에러가 발생하는데 저도 이걸로 해결했습니다. ^^
웃으미님꺼 말대로

function fwrite_submit(f)
{
바로 밑에 넣어도 에러나서 관리자님이 지우라는거 그대로 다시 두고

아래 처럼 하니깐 돼네요..무지 했맸네요 이겄댐쉬..

웃으미님께 감사드려요...ㅎㅎㅎ

나의 해결................................................

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

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

위 문구 밑에다 아래 문구 넣을것...

  <?
    if ($g4[https_url])
        echo "f.action = '$g4[https_url]/$g4[bbs]/write_update.php';";
    else
        echo "f.action = './write_update.php';";
    ?>
저는 다 안돼길래~
basic 스킨에서
</form>
아래 부분
<script type="text/javascript" src="<?="$g4[path]/js/jquery.kcaptcha.js"?>"></script>부터
다 긁어서 바꿔 넣었거든요~
그랬더니 돼더라구요ㅋㅋ
최신버젼을 덮어 씌우기도 해보고
이것 저것 다 해보고도 안되시는 분은 저 위의 가보님 멘트에서 처럼

write.skin.php 마지막에 있는
-----------------------------------------
<?
    if ($g4[https_url])
        echo "f.action = '$g4[https_url]/$g4[bbs]/write_update.php';";
    else
        echo "f.action = './write_update.php';";
    ?>
-----------------------------------------

-----------------------------------------
function fwrite_submit(f)
{
-----------------------------------------
이것 다음으로 옮겨주면 됩니다.

이렇게 하면 해결이 됩니다.
와우~ 최신버전받고나서
다해봤는데; 안돼더니

<?
    if ($g4[https_url])
        echo "f.action = '$g4[https_url]/$g4[bbs]/write_update.php';";
    else
        echo "f.action = './write_update.php';";
    ?>

 넣으니까되네여 ㅋㅋㅋㅋㅋ
http://sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=22564&sca=&sfl=wr_subject%7C%7Cwr_content&stx=%EA%B5%AC%EC%9D%B8%EA%B5%AC%EC%A7%81&sop=and&page=2

이스킨을 가지고 배추빌더에다 넣고 했는데 글등록이 안돼네요.. 다른건 전부 정상인데

그래도 처음에는 반응이 없다가 지금은  글등록 클릭시 정상적인 접근이 아니라고 하네요ㅠㅠ 제발 누가 도와주세요 ㅠㅠ 

지울꺼 지고 차근차근해도 안돼네요..ㅠㅠ 지금이틀째 이러고 있어요..도와주세요..
웹 페이지 오류 세부 정보

사용자 에이전트: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
타임스탬프: Thu, 6 Oct 2011 06:00:26 UTC


메시지: 'document.getElementById(...)'은(는) null 이거나 개체가 아닙니다.
줄: 853
문자: 5
코드: 0
마이다링님 덕분에 수십시간 헤매다 해결했네요.블로그 작성자님께 더 감사드려야겠네요.
참고로 해당 블로그 내용 정리하자면.
write.skin.php 마지막에 있는
-----------------------------------------
<?
    if ($g4[https_url])
        echo "f.action = '$g4[https_url]/$g4[bbs]/write_update.php';";
    else
        echo "f.action = './write_update.php';";
    ?>
-----------------------------------------

-----------------------------------------
function fwrite_submit(f)
{
-----------------------------------------
이것 다음으로 옮겨주면 됩니다.
여러 원인으로 에러가 발생하는데 저도 이걸로 해결했습니다.
다른것은  아래와같이도 내용 참조 해결 하였습니다
--------------------
write.skin.php  있는 수정 내용 참조
-----------------------------------------
// 글쓰기에는 $wr_id 값을 사용하지 않습니다;제거부분 시작
  /* 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;
    }
*/
// 밑에 추가 글쓰기에는 $wr_id 값을 사용하지 않습니다:제거끝 추가부분
<?
    if ($g4[https_url])
        echo "f.action = '$g4[https_url]/$g4[bbs]/write_update.php';";
    else
        echo "f.action = './write_update.php';";
    ?>
    // 글쓰기에는 $wr_id 값을 사용하지 않습니다.: 추가 부분
<script type="text/javascript" src="<?=$g4['path']?>/js/jquery-1.4.6.min.js"></script>

head.sub.php 코드중 하나인데 실제 js에는 1.4.2.min.js 가 있으니까 파일명을 수정해주면 되네요
이런 경우도 있습니다.
저같은 경우에는 basic 스킨을 개조해서 단순 View페이지처럼 만들기 위해 button 을 제거를 하다가

<a href="./board.php?bo_table=<?=$bo_table?>"><img id="btn_list" src="<?=$board_skin_path?>/img/btn_list.gif" border=0></a>

위의 소스부분을 주석처리를 했는데요. 그 후로부터 계속 에러가 나는 것이었습니다.

document.getElementById('btn_list').disabled = true;

라는 부분을 주석처리 해주면, js 에러가 나지 않게 되고 통과하게 되었습니다.
리스트 버튼(btn_list) 하나 '주석처리' or '삭제'했다가 수시간 삽질을... ㅜㅜ

위의 방법 중에 적용하다가 하위 필터링 적용 안되어 해킹의 위험을 당할 수도 있으니, 필터링 부분을 조심하세요!
크하 너무 시원하군요...
전체 66,558 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT