글쓰기에는 \$wr_id 값을 사용하지 않습니다. ??? 정보
글쓰기에는 \$wr_id 값을 사용하지 않습니다. ???첨부파일
본문
특정게시판에서만 1개의 링크를 사용하도록 해당게시판용 스킨에서 강제로 손을 봐서 사용하다가,
4.22.03 에서 4.31.03 의 /board 기본스킨을 가지고 기존코드만 수정한후 바꿨더니, 계속해서 아래의 에러코드창이 뜨면서 아무문제없이 잘돌아가던 스킨이 제대로 동작을 않는군요.
[에러내용] .... "글쓰기에는 \$wr_id 값을 사용하지 않습니다."
문제의 코드는 아래와 같습니다. (write.skin.php)
--------------------------------------------
<? if ($is_link) { ?>
<? for ($i=1; $i<=1; $i++) { ?>
<INPUT type='text' class=ed size=50 name='wr_link1' value='<?=$write['wr_link1']?>' required itemname='링크주소' onchange="fwrite.wr_link1_enabled.value='';">
<? } ?>
<? } ?>
위 코드가 문제를 일으키는데, 에러의 뜻을 이해도 힘들고 수정도 힘들군요.
참고로, 4.31.04 버젼의 write.skin.php에서 링크주소출력 코드는...
---------------------------------------------------------------------
<? if ($is_link) { ?>
<? for ($i=1; $i<=1; $i++) { ?>
<INPUT type='text' class=ed size=50 name='wr_link1' value='<?=$write['wr_link1']?>' required itemname='링크주소' onchange="fwrite.wr_link1_enabled.value='';">
<? } ?>
<? } ?>
위와 같습니다. 무슨 문제일까요? 도움글을 요청합니다. -_-::
p.s; 문제의 파일 올렸습니다. /board스킨용
4.22.03 에서 4.31.03 의 /board 기본스킨을 가지고 기존코드만 수정한후 바꿨더니, 계속해서 아래의 에러코드창이 뜨면서 아무문제없이 잘돌아가던 스킨이 제대로 동작을 않는군요.
[에러내용] .... "글쓰기에는 \$wr_id 값을 사용하지 않습니다."
문제의 코드는 아래와 같습니다. (write.skin.php)
--------------------------------------------
<? if ($is_link) { ?>
<? for ($i=1; $i<=1; $i++) { ?>
<INPUT type='text' class=ed size=50 name='wr_link1' value='<?=$write['wr_link1']?>' required itemname='링크주소' onchange="fwrite.wr_link1_enabled.value='';">
<? } ?>
<? } ?>
위 코드가 문제를 일으키는데, 에러의 뜻을 이해도 힘들고 수정도 힘들군요.
참고로, 4.31.04 버젼의 write.skin.php에서 링크주소출력 코드는...
---------------------------------------------------------------------
<? if ($is_link) { ?>
<? for ($i=1; $i<=1; $i++) { ?>
<INPUT type='text' class=ed size=50 name='wr_link1' value='<?=$write['wr_link1']?>' required itemname='링크주소' onchange="fwrite.wr_link1_enabled.value='';">
<? } ?>
<? } ?>
위와 같습니다. 무슨 문제일까요? 도움글을 요청합니다. -_-::
p.s; 문제의 파일 올렸습니다. /board스킨용
댓글 전체
그건 아니고요 write.skin.php파일 내에 wr_id코드 찾아서 지우시면 될것같네요
아마도 리스트에 체크박스같은게 복사됬다거나 암튼 wr_id가 분명 있을겁니다.
아마도 리스트에 체크박스같은게 복사됬다거나 암튼 wr_id가 분명 있을겁니다.
흠...코드 전체를 올려보죠~~ 해당폼을 체크하는 스크립터까지 올려보겠습니다. 그럼..
[게시판코드]
<INPUT type='text' class=ed size=50 name='wr_link1' value='<?=$write['wr_link1']?>' required itemname='링크지주소' onchange="fwrite.wr_link1_enabled.value='';">
<a href="javascript:wr_link_check('wr_link1');">중복확인</a>
[위코드와 관련한 스크립터 - write.skin.php 하단부]
<script>
....
.... {중간생략}
....
if (f.w.value == "") { //------------------------------ 관련스크립터 1
if (f.wr_link1_enabled.value == "") {
alert("링크주소 등록확인을 해주십시오.");
f.wr_link1.focus();
return;
} else if (f.wr_link1_enabled.value == -1) {
alert("'"+f.wr_link1.value+"'은(는) 이미 등록된 링크주소이므로 사용하실 수 없습니다.");
f.wr_link1.focus();
return;
}
}
....
.... {중간생략}
....
document.getElementById('btn_submit').disabled = true;
document.getElementById('btn_list').disabled = true;
<?
if ($g4[https_url])
echo "f.action = '$g4[https_url]/$g4[bbs]/write_update.php';";
else
echo "f.action = './write_update.php';";
?>
return true;
}
function wr_link_check(link) { //------------------------------ 관련스크립터 2
var f = document.fwrite;
if (f.wr_link1.value == "") {
alert("링크주소를 입력하세요.");
f.wr_link1.focus();
return;
}
win_open(g4_path+"/"+g4_bbs+"/wr_link_check.php?bo_table=<?=$bo_table?>&wr_link1="+document.fwrite.wr_link1.value, "hiddenframe");
}
</script>
<script language="JavaScript" src="<?="$g4[path]/js/board.js"?>"></script>
<script language="JavaScript"> window.onload=function() { drawFont(); } </script>
스크립터는 시작/중간 ..부분들은 제외하고 write.skin.php 하단부분에 기존코드와 섞여서 저렇게 들어있습니다. 문제를 제시한건... 문제의 에러코드 필드부분에 임의링크주소넣고 내용으로 넘어가서 클릭하는순간이 브라우저 하단에 에러표시가 벌써 나타납니다
브라우저의 에러코드를 없애기 위해 '문제부분의 코드'를 삭제하고 글쓰면 '에러메세지창'이 뜨고요.
여하간 위 코드외에는 최신board 스킨에서 바뀐게 없습니다.
write.skin.php 안에 '문제코드'와 맨하단 부근에
<script> 시작부분아래에 위 스크립터를 넣고 테스트해보시면 알겁니다
그리고 /bbs 폴더에 들어갈 관련 추가파일 wr_link_check.php 파일도 첨부했으니 한번 보시길~
[게시판코드]
<INPUT type='text' class=ed size=50 name='wr_link1' value='<?=$write['wr_link1']?>' required itemname='링크지주소' onchange="fwrite.wr_link1_enabled.value='';">
<a href="javascript:wr_link_check('wr_link1');">중복확인</a>
[위코드와 관련한 스크립터 - write.skin.php 하단부]
<script>
....
.... {중간생략}
....
if (f.w.value == "") { //------------------------------ 관련스크립터 1
if (f.wr_link1_enabled.value == "") {
alert("링크주소 등록확인을 해주십시오.");
f.wr_link1.focus();
return;
} else if (f.wr_link1_enabled.value == -1) {
alert("'"+f.wr_link1.value+"'은(는) 이미 등록된 링크주소이므로 사용하실 수 없습니다.");
f.wr_link1.focus();
return;
}
}
....
.... {중간생략}
....
document.getElementById('btn_submit').disabled = true;
document.getElementById('btn_list').disabled = true;
<?
if ($g4[https_url])
echo "f.action = '$g4[https_url]/$g4[bbs]/write_update.php';";
else
echo "f.action = './write_update.php';";
?>
return true;
}
function wr_link_check(link) { //------------------------------ 관련스크립터 2
var f = document.fwrite;
if (f.wr_link1.value == "") {
alert("링크주소를 입력하세요.");
f.wr_link1.focus();
return;
}
win_open(g4_path+"/"+g4_bbs+"/wr_link_check.php?bo_table=<?=$bo_table?>&wr_link1="+document.fwrite.wr_link1.value, "hiddenframe");
}
</script>
<script language="JavaScript" src="<?="$g4[path]/js/board.js"?>"></script>
<script language="JavaScript"> window.onload=function() { drawFont(); } </script>
스크립터는 시작/중간 ..부분들은 제외하고 write.skin.php 하단부분에 기존코드와 섞여서 저렇게 들어있습니다. 문제를 제시한건... 문제의 에러코드 필드부분에 임의링크주소넣고 내용으로 넘어가서 클릭하는순간이 브라우저 하단에 에러표시가 벌써 나타납니다
브라우저의 에러코드를 없애기 위해 '문제부분의 코드'를 삭제하고 글쓰면 '에러메세지창'이 뜨고요.
여하간 위 코드외에는 최신board 스킨에서 바뀐게 없습니다.
write.skin.php 안에 '문제코드'와 맨하단 부근에
<script> 시작부분아래에 위 스크립터를 넣고 테스트해보시면 알겁니다
그리고 /bbs 폴더에 들어갈 관련 추가파일 wr_link_check.php 파일도 첨부했으니 한번 보시길~
해당 에러메세지는 위와 상관없습니다.
해당 에러메세지는 제가 확인하고 sir 에 피드백한 내용이니 정확하지 않을까 생각합니다.
게시판목록이나 뷰등의 다른 위치에서 글쓰기로 링크시에 링크주소에 $wr_id 변수가 있는 경우 위 에러를 출력합니다.
글쓰기를 빙자한 타인의 글수정이나 비밀글보기? 를 막기위한 처리코드입니다.
해당 에러메세지는 제가 확인하고 sir 에 피드백한 내용이니 정확하지 않을까 생각합니다.
게시판목록이나 뷰등의 다른 위치에서 글쓰기로 링크시에 링크주소에 $wr_id 변수가 있는 경우 위 에러를 출력합니다.
글쓰기를 빙자한 타인의 글수정이나 비밀글보기? 를 막기위한 처리코드입니다.
아~ 정말 정말 모르겠군요. -_- ;; 답변은 감사합니다만,
그냥 쉽게 말해서 위의 코멘트에 추가로 작성한 '문제의 필드'와 해당 '스크립터'를 삭제하면 정상적으로 됩니다. 현재로써는 넘어오는 값에 문제가 있다면 코드삭제후에도 문제가 생겨야 하는데 그렇지 않습니다.
스크립터 코드내의 경로나 문제의 필드내에 분명 문제가 있는거 같은데...스크립터쪽은 젬병이라서 도무지 해결할수가 없군요.
스크립터의 위치가 잘못된게 아닌가 하는 생각도 들고, 별의별짓 다해봤지만 현재로써는 안되는군요.
등록한 문제의 파일 확인해보시고 도움글들을 부탁합니다.
그냥 쉽게 말해서 위의 코멘트에 추가로 작성한 '문제의 필드'와 해당 '스크립터'를 삭제하면 정상적으로 됩니다. 현재로써는 넘어오는 값에 문제가 있다면 코드삭제후에도 문제가 생겨야 하는데 그렇지 않습니다.
스크립터 코드내의 경로나 문제의 필드내에 분명 문제가 있는거 같은데...스크립터쪽은 젬병이라서 도무지 해결할수가 없군요.
스크립터의 위치가 잘못된게 아닌가 하는 생각도 들고, 별의별짓 다해봤지만 현재로써는 안되는군요.
등록한 문제의 파일 확인해보시고 도움글들을 부탁합니다.
onsubmit="return fwrite_submit(this);"
return fwrite_submit(this); 라고 하면 fwrite_submit(); 함수를 실행하고 false 를 리턴하면 종료가 되지만
에러나 true 가 있다면 폼은 action 되서 자기 자신에게 전송이 됨니다.
fwrite_submit() 함수에서
에러가 발생하면 fwrite_submit() 함수가 종료되고 바로 action 으로 폼이 전송됨니다. 그렇게 되면
자기 자신으로 폼이 전송이 되죠 그러니까 글쓰기 파일이 write.php 파일이기 때문에
자기 자신으로 전송되서 write.php 파일로 전송이 되서 write.php 파일을 체크 하게 되죠
원래는 write_update.php 로 넘어 가야 하는데 말이죠
write.php 파일에 alert("글쓰기에는 $wr_id 값을 사용하지 않습니다"); 라는 문구가 있습니다.
return fwrite_submit(this); 라고 하면 fwrite_submit(); 함수를 실행하고 false 를 리턴하면 종료가 되지만
에러나 true 가 있다면 폼은 action 되서 자기 자신에게 전송이 됨니다.
fwrite_submit() 함수에서
에러가 발생하면 fwrite_submit() 함수가 종료되고 바로 action 으로 폼이 전송됨니다. 그렇게 되면
자기 자신으로 폼이 전송이 되죠 그러니까 글쓰기 파일이 write.php 파일이기 때문에
자기 자신으로 전송되서 write.php 파일로 전송이 되서 write.php 파일을 체크 하게 되죠
원래는 write_update.php 로 넘어 가야 하는데 말이죠
write.php 파일에 alert("글쓰기에는 $wr_id 값을 사용하지 않습니다"); 라는 문구가 있습니다.
말씀하신 논리대로면, 어쨋던 구형 스킨도 먹히질 않아야 하는데 그건 잘됩니다.
http://sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=22458&sca=&sfl=mb_id%2C1&stx=yesmoa&sop=and
위 스킨에서 '홈페이지등록체크' 부분이거든요~
어떤분의 요청이 있어서 다시 손을 대려니..더이상 머리가 안돌아가는군요 -_- ;;
어쨋던 답변 감사드립니다. 좀더 머리를 짜매봐야 겠군요 ^^;
http://sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=22458&sca=&sfl=mb_id%2C1&stx=yesmoa&sop=and
위 스킨에서 '홈페이지등록체크' 부분이거든요~
어떤분의 요청이 있어서 다시 손을 대려니..더이상 머리가 안돌아가는군요 -_- ;;
어쨋던 답변 감사드립니다. 좀더 머리를 짜매봐야 겠군요 ^^;
똑같은경우가 있었습니다.
<input class='ed' style="width:100%;" name="wr_subject2" id="wr_subject2" itemname="제목" required="required" value="<?=$subject?>" />
--->
<input class='ed' style="width:100%;" name="wr_subject" id="wr_subject" itemname="제목" required="required" value="<?=$subject?>" />
------------------------------------
wr_subject 요녀석은 드림위버에서 복사를 하거나 잘라내기를 하면 입력폼은 뒤에 숫자를 자동으로 붙이죠
wr_subject2 <-이렇게 변경이 된걸 모르고 계속 작업을 했는데 똑같은 결과가 나오더군요.
참고하세요. 이와 비슷한 경우가 있을지 모르니까요~
<input class='ed' style="width:100%;" name="wr_subject2" id="wr_subject2" itemname="제목" required="required" value="<?=$subject?>" />
--->
<input class='ed' style="width:100%;" name="wr_subject" id="wr_subject" itemname="제목" required="required" value="<?=$subject?>" />
------------------------------------
wr_subject 요녀석은 드림위버에서 복사를 하거나 잘라내기를 하면 입력폼은 뒤에 숫자를 자동으로 붙이죠
wr_subject2 <-이렇게 변경이 된걸 모르고 계속 작업을 했는데 똑같은 결과가 나오더군요.
참고하세요. 이와 비슷한 경우가 있을지 모르니까요~
혹시 문제를 해결 하셨나요?
저도 같은 문제로 고민인데 해결 하셨다면 해결 방법좀 올려주세요!
저도 같은 문제로 고민인데 해결 하셨다면 해결 방법좀 올려주세요!
<input type=image id="btn_submit" src="<?=$board_skin_path?>/img/btn_write.gif" border=0 accesskey='s'>
<a href="./board.php?bo_table=<?=$bo_table?>"><img id="btn_list" src="<?=$board_skin_path?>/img/btn_list.gif" border=0></a>
글등록 서브밋 버튼 id="btn_submit"
리스트 버튼 id="btn_list"
fwrite_submit(f) 자바스크립트 함수 내용중에서
{
.....
document.getElementById('btn_submit').disabled = true;
document.getElementById('btn_list').disabled = true;
}
버튼과 자바스크립트 코드의 id 값이 맞는지 확인하시고, 리스트 버튼을 불필요 해서 없앨을 경우에는
//document.getElementById('btn_list').disabled = true; 주석처리 해보세요....
<a href="./board.php?bo_table=<?=$bo_table?>"><img id="btn_list" src="<?=$board_skin_path?>/img/btn_list.gif" border=0></a>
글등록 서브밋 버튼 id="btn_submit"
리스트 버튼 id="btn_list"
fwrite_submit(f) 자바스크립트 함수 내용중에서
{
.....
document.getElementById('btn_submit').disabled = true;
document.getElementById('btn_list').disabled = true;
}
버튼과 자바스크립트 코드의 id 값이 맞는지 확인하시고, 리스트 버튼을 불필요 해서 없앨을 경우에는
//document.getElementById('btn_list').disabled = true; 주석처리 해보세요....
리플 감사합니다. ^^;;
근데, 주석처리를 해도 에러가 여전히 발생하는군요.
시간되신다면 위 첨부된 파일을 한번 봐주시길 부탁드립니다.
write.skin.php 에서 '홈페이지등록'버튼을 체그하는 추가파일이 ./bbs/wr_link_check.php 파일인데
폼이 전송되어 wr_link_check.php 파일에서 체크값 처리부분에 문제가 있지 않나 보이는데
스크립터에는 무지에 가까워서 구체적으로 어느부분에 문제가 있는지를 짚어내질 못하겠네요.
근데, 주석처리를 해도 에러가 여전히 발생하는군요.
시간되신다면 위 첨부된 파일을 한번 봐주시길 부탁드립니다.
write.skin.php 에서 '홈페이지등록'버튼을 체그하는 추가파일이 ./bbs/wr_link_check.php 파일인데
폼이 전송되어 wr_link_check.php 파일에서 체크값 처리부분에 문제가 있지 않나 보이는데
스크립터에는 무지에 가까워서 구체적으로 어느부분에 문제가 있는지를 짚어내질 못하겠네요.
저도 좀전에 그 문제에 부딪혀서 글을 검색하고 있었는데요..
원체 지식이 없어서 뭔말인지 잘 이해를 못했답니다...
그런데 소스를 잘 뜯어보니... ㅋㅋㅋ
저 같은 경우는 소스를 복사, 붙이기를 반복하면서 같은 변수를 두 번 사용했더군요..
ㅎㅎㅎ
혹시 저같이 초보분들이 이런 경우를 당할 수도 있을 것 같아 글 남깁니다~~
원체 지식이 없어서 뭔말인지 잘 이해를 못했답니다...
그런데 소스를 잘 뜯어보니... ㅋㅋㅋ
저 같은 경우는 소스를 복사, 붙이기를 반복하면서 같은 변수를 두 번 사용했더군요..
ㅎㅎㅎ
혹시 저같이 초보분들이 이런 경우를 당할 수도 있을 것 같아 글 남깁니다~~
.