BOARD

문제 해결

그누보드 영문 스킨 사용 시 선택 삭제·복사·이동 기능 오류 해결 방법

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 9회 작성일 26-09-24 02:05

본문

그누보드 영문 스킨 사용 시 선택 삭제·복사·이동 기능 오류 해결 방법

그누보드 게시판에서 영문 버전 스킨 적용 후 선택 삭제나 복사, 이동 기능을 사용할 때 발생하는 '올바른 방법으로 이용해 주세요' 오류의 원인과 구체적인 수정 절차를 알아봅니다.

그누보드 영문 스킨 선택 삭제/복사/이동 오류 원인

그누보드 영문 버전 스킨을 사용할 때 '올바른 방법으로 이용해 주세요' 문구가 출력되며 선택 삭제, 선택 복사, 선택 이동 기능이 작동하지 않는 원인은 스킨 파일의 버튼 value 및 스크립트와 서버 측(bbs/boardlistupdate.php)의 검증 로직 문구가 서로 일치하지 않기 때문입니다.

한글로 표기된 기본 스킨의 버튼 글자를 영문으로 변경한 경우, 전송되는 POST 데이터 값과 서버에서 조건문으로 검사하는 문구(선택삭제, 선택복사, 선택이동)가 달라져 서버가 올바른 요청으로 인식하지 못하고 차단하게 됩니다.

list.skin.php 파일 수정 방법

그누보드 영문 스킨에서 한글로 표기된 버튼을 영문으로 변환한 뒤 선택 삭제, 복사, 이동 기능을 사용할 때 "올바른 방법으로 이용해 주세요." 오류가 발생한다면 list.skin.php 파일 내의 버튼 value 값과 하단 스크립트의 조건문을 함께 수정해야 합니다.

1. 버튼 value 값 수정

list.skin.php 파일에서 선택삭제, 선택복사, 선택이동 버튼의 value 속성값을 변경한 영문 문구에 맞춰 수정합니다.

<li><button type="submit" name="btn_submit" value="선택삭제" onclick="document.pressed=this.value" class="btn btn_admin"><i class="fa fa-trash-o" aria-hidden="true"></i> 선택삭제</button></li>
<li><button type="submit" name="btn_submit" value="선택복사" onclick="document.pressed=this.value" class="btn btn_admin"><i class="fa fa-files-o" aria-hidden="true"></i> 선택복사</button></li>
<li><button type="submit" name="btn_submit" value="선택이동" onclick="document.pressed=this.value" class="btn btn_admin"><i class="fa fa-arrows" aria-hidden="true"></i> 선택이동</button></li>

2. 하단 스크립트 조건문 수정

동일한 list.skin.php 파일 하단의 자바스크립트 영역에서 document.pressed 값을 검사하는 조건문도 버튼의 value와 일치하도록 수정해야 합니다.

if(document.pressed == "선택복사") {
 select_copy("copy");
 return;
}
if(document.pressed == "선택이동") {
 select_copy("move");
 return;
}
if(document.pressed == "선택삭제") {
 if (!confirm("선택한 게시물을 정말 삭제하시겠습니까?\n\n한번 삭제한 자료는 복구할 수 없습니다\n\n답변글이 있는 게시글을 선택하신 경우\n답변글도 선택하셔야 게시글이 삭제됩니다.")) return false;
}

3. bbs/boardlistupdate.php 파일 수정

서버 측 검증 로직인 bbs/board_list_update.php 파일에서도 전송되는 $_POST['btn_submit'] 값이 스킨에서 바꾼 영문 문구와 일치하도록 조건문을 함께 수정해야 합니다.

if($_POST['btn_submit'] == '선택삭제') {
 include './delete_all.php';
} else if($_POST['btn_submit'] == '선택복사') {
 $sw = 'copy';
 include './move.php';
} else if($_POST['btn_submit'] == '선택이동') {
 $sw = 'move';
 include './move.php';
} else {
 alert('올바른 방법으로 이용해 주세요.');
}

bbs/boardlistupdate.php 파일의 조건문 수정 방법

그누보드 영문 스킨 사용 시 선택 삭제, 선택 복사, 선택 이동 버튼의 값을 영문으로 변경했다면, 서버 측 검증 로직인 bbs/board_list_update.php 파일의 조건문 또한 변경된 영문 버튼 값과 일치하도록 수정해야 합니다. 일치하지 않을 경우 서버 측 검증 과정에서 alert('올바른 방법으로 이용해 주세요.');가 실행되어 오류가 발생합니다.

수정 위치 및 조건문 확인

bbs/board_list_update.php 파일에서 $_POST['btn_submit'] 값을 비교하는 조건문을 스킨의 list.skin.php 및 하단 스크립트에서 변경한 영문 값과 동일하게 맞추어야 합니다.

if($_POST['btn_submit'] == '변경한영문값_선택삭제') {
 include './delete_all.php';
} else if($_POST['btn_submit'] == '변경한영문값_선택복사') {
 $sw = 'copy';
 include './move.php';
} else if($_POST['btn_submit'] == '변경한영문값_선택이동') {
 $sw = 'move';
 include './move.php';
} else {
 alert('올바른 방법으로 이용해 주세요.');
}

다음 행동 및 확인 사항

  1. list.skin.php 파일의 <button type="submit" name="btn_submit" value="...">에 지정한 영문 value 값과 하단 스크립트의 비교 조건문, 그리고 bbs/board_list_update.php의 $_POST['btn_submit'] 조건문 문자열이 정확히 일치하는지 확인합니다.
  2. 코드를 수정하고 저장한 뒤 브라우저에서 게시판 목록의 선택 기능을 다시 테스트하여 정상 동작 여부를 점검합니다.

그누보드 영문 스킨 선택 삭제·복사·이동 오류 해결 방법

그누보드5에서 한글로 된 게시판 스킨을 영문 버전으로 수정하여 사용할 때, 선택삭제, 선택복사, 선택이동 버튼을 클릭하면 "올바른 방법으로 이용해 주세요." 문구가 출력되며 기능이 작동하지 않는 오류가 발생할 수 있습니다.

원인 파악

스킨 파일 내 버튼의 value 값과 자바스크립트, 그리고 서버 측 처리 파일(bbs/board_list_update.php)에서 검증하는 조건문의 문구가 서로 일치하지 않아 서버가 올바른 요청으로 인식하지 못할 때 발생합니다.

해결 절차

1. list.skin.php 파일 수정

스킨 폴더 내의 list.skin.php 파일에서 버튼의 value 속성과 하단 스크립트의 조건문 문구를 영문으로 동일하게 수정합니다.

  • 버튼 value 수정 예시
     <li><button type="submit" name="btn_submit" value="Delete Selected" onclick="document.pressed=this.value" class="btn btn_admin"><i class="fa fa-trash-o" aria-hidden="true"></i> Delete Selected</button></li>
     <li><button type="submit" name="btn_submit" value="Copy Selected" onclick="document.pressed=this.value" class="btn btn_admin"><i class="fa fa-files-o" aria-hidden="true"></i> Copy Selected</button></li>
     <li><button type="submit" name="btn_submit" value="Move Selected" onclick="document.pressed=this.value" class="btn btn_admin"><i class="fa fa-arrows" aria-hidden="true"></i> Move Selected</button></li>
  • 하단 스크립트 조건문 수정 예시
     if(document.pressed == "Copy Selected") {
     select_copy("copy");
     return;
     }
     if(document.pressed == "Move Selected") {
     select_copy("move");
     return;
     }
     if(document.pressed == "Delete Selected") {
     if (!confirm("Are you sure you want to delete the selected posts?\n\nOnce deleted, data cannot be recovered.\n\nIf you selected a post with reply posts,\nyou must also select the reply posts to delete them.")) return false;
     }
2. bbs/boardlistupdate.php 파일 수정

서버 측 처리 파일인 bbs/board_list_update.php에서도 POST로 전달되는 btn_submit 값을 변경된 영문 문구와 일치시키도록 수정합니다.

if($_POST['btn_submit'] == 'Delete Selected') {
 include './delete_all.php';
} else if($_POST['btn_submit'] == 'Copy Selected') {
 $sw = 'copy';
 include './move.php';
} else if($_POST['btn_submit'] == 'Move Selected') {
 $sw = 'move';
 include './move.php';
} else {
 alert('올바른 방법으로 이용해 주세요.');
}

주의사항 및 다음 행동

  • 파일 수정 전 원본 파일을 백업한 후 진행하세요.
  • 다른 스킨 파일이나 추가적인 파일에서도 동일한 영문 스킨 로직을 사용 중이라면 각각의 버튼 value와 서버 측 조건문이 일치하는지 확인하고 대처해야 합니다.

내 상황에 따른 판단과 행동

  • 그누보드 영문 스킨 사용 중 선택 삭제/복사/이동 시 "올바른 방법으로 이용해 주세요." 에러가 발생할 때
    • 우선할 판단: 스킨 파일(list.skin.php)의 버튼 value 값 및 하단 스크립트와 서버 처리 파일(bbs/board_list_update.php)의 검증 문구가 일치하는지 확인합니다.
    • 다음 행동: list.skin.php의 버튼 value와 스크립트 조건문, bbs/board_list_update.php의 $_POST['btn_submit'] 조건문을 변경한 영문 문구로 동일하게 수정합니다.

실전 FAQ

Q. 코드를 전부 수정했는데도 계속 '올바른 방법으로 이용해 주세요' 메시지가 뜹니다.

  • 답변: list.skin.php 파일 내의 버튼 value 값, 하단 자바스크립트의 document.pressed 비교 조건문, 그리고 bbs/board_list_update.php 파일의 $_POST['btn_submit'] 조건문 중 글자나 띄어쓰기가 미세하게 다른 부분이 있는지 다시 한번 확인하세요. 세 곳의 문구가 정확히 일치해야 합니다.

함께 보면 좋은 글

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.