BOARD

팁·활용

그누보드 관리자 페이지 회원 완전 삭제 기능 추가 및 목록 출력 개수 조절 가이드

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 38회 작성일 26-09-23 10:10

본문

그누보드 관리자 페이지 회원 완전 삭제 기능 추가 및 목록 출력 개수 조절 가이드

그누보드 관리자 페이지에서 기본 제공하는 선택 삭제 외에 회원을 DB에서 완전히 삭제하는 기능과, 목록 출력 개수를 조절하는 방법을 파악하고 적용하는 데 필요한 도움을 얻을 수 있습니다.

관리자 페이지 회원 관리 목록 '완전삭제' 버튼 및 스크립트 추가 방법

그누보드 관리자 페이지의 회원 목록에서 회원을 데이터베이스에서 완전히 삭제하기 위한 버튼과 확인 스크립트를 추가하려면 adm/member_list.php 파일을 수정해야 합니다.

1. 버튼 추가

adm/member_list.php 파일에서 기존의 '선택수정' 및 '선택삭제' 버튼 코드를 찾은 뒤, 바로 밑에 '완전삭제' 버튼 코드를 추가합니다.

  • 추가할 코드
<input type="submit" name="act_button" value="완전삭제" onclick="document.pressed=this.value" class="btn btn_02">

2. 확인 스크립트 추가

같은 파일 하단의 스크립트 영역에 '완전삭제'가 눌렸을 때 실행될 확인(confirm) 분기 조건 코드를 추가합니다.

  • 추가할 코드
if(document.pressed == "완전삭제") {
    if(!confirm("선택한 자료를 정말 완전히 삭제하시겠습니까?\n\n삭제된 회원은 복구 불가능합니다.")) {
        return false;
    }
}

3. 주의사항 및 환경 조건

  • 제시된 코드는 그누보드 5.4.4.6 버전 환경에서 정상 작동함이 확인되었습니다. 다른 버전에서의 적용 시 사전에 파일을 백업하고 테스트 환경에서 호환성을 검증해야 합니다.
  • 본 기능은 회원 테이블의 레코드만 삭제하므로, 해당 회원이 작성한 게시물, 댓글, 포인트 기록 등 연관된 데이터가 DB에 잔존할 수 있습니다. 데이터 무결성을 위해 관련 데이터의 일괄 삭제나 익명화 처리가 필요할 수 있으니 주의해야 합니다.

관리자 페이지 회원 완전 삭제 쿼리 추가 위치

관리자 페이지에서 전송된 '완전삭제' 요청을 받아 실제 데이터베이스에서 회원을 영구 삭제하는 SQL 쿼리 로직은 adm/member_list_update.php 파일에 추가합니다.

1. adm/member_list_update.php 파일 수정 방법

파일 내에서 선택삭제 처리 부분을 찾은 후, '완전삭제' 조건을 함께 처리할 수 있도록 코드를 수정하고 sql_query 함수를 이용해 DELETE 문을 실행하는 로직을 삽입합니다.

// 선택삭제 부분을 찾은 후 완전삭제 조건 추가
} else if ($_POST['act_button'] == "선택삭제" || $_POST['act_button'] == "완전삭제") {

    // 회원자료 삭제
    member_delete($mb['mb_id']);

    // 회원자료 완전삭제 로직 추가
    if($_POST['act_button'] == "완전삭제") {
        sql_query(" delete from {$g5['member_table']} where mb_id = '{$mb['mb_id']}' ", false);
    }
}

2. 주의사항 및 다음 행동

  • 버전 호환성: 위 구현 방법은 그누보드 5.4.4.6 버전 환경에서 정상 작동함이 확인되었습니다. 다른 버전 환경에 적용할 때는 사전에 백업을 수행하고 테스트 환경에서 호환성을 검증해야 합니다.
  • 데이터 무결성: 본 기능은 회원 테이블 레코드만 삭제하므로 회원이 작성한 게시물, 댓글, 포인트 기록 등 연관된 데이터가 DB에 잔존할 수 있습니다. 데이터 정리가 필요하다면 관련 테이블의 데이터 삭제 처리 방식을 함께 검토해야 합니다. (참고: 회원 삭제 쿼리 실행 전후에 연관 테이블(.point_table, .board_table 등)을 정리하는 추가 로직 검토 권장)

관리자 페이지 회원 목록 출력 개수 조정을 위한 설정 확인

관리자 페이지의 회원 목록이나 포인트 관리 페이지 등에서 기본 설정된 출력 개수를 변경하거나 사용자가 조절할 수 있도록 설정하려면 환경설정 또는 관련 소스 코드를 수정할 수 있습니다.

1. 기본 환경설정에서 일괄 변경

모든 관리자 페이지와 게시판 목록 등에 공통으로 적용되는 출력 라인 수를 변경하려면 관리자 메뉴의 환경설정 > 기본 환경설정 > 기본환경 > 한페이지당 라인수에서 수정할 수 있습니다.

2. 회원 목록 파일에서 개수 지정

회원 관리에만 한정하여 출력 개수를 조정하고자 하는 경우에는 /adm/member_list.php 파일에서 아래의 라인을 수정하는 방법이 있습니다.

$rows = $config['cf_page_rows'];
  • 위 변수 값을 직접 수정하거나, 사용자가 원하는 만큼 목록을 출력할 수 있도록 상단에 옵션 선택 기능을 구성하는 방식을 검토할 수 있습니다.

관리자 회원 완전 삭제 기능 적용 가이드

  • 내 상황: 그누보드 관리자 페이지에서 기본 제공하는 선택삭제 외에 회원을 DB에서 완전히 삭제하는 기능과 확인 절차가 필요한 경우
  • 선택 기준: adm/member_list.php 파일에 완전삭제 버튼과 경고 스크립트를 추가한 뒤, adm/member_list_update.php 파일에 데이터베이스 삭제 쿼리를 연동하는 방식 선택
  • 다음 행동: 소스 코드 수정 전 원본 파일을 백업하고, 그누보드 5.4.4.6 버전 환경 기준에 맞춰 코드를 삽입한 후 관리자 페이지에서 실제 삭제 동작과 DB 반영 여부 확인

실전 FAQ

Q. 완전 삭제 버튼을 추가한 후 삭제를 실행했는데 DB에 레코드가 그대로 남아있습니다.

  • 막히는 점: 버튼 UI나 자바스크립트 확인창만 추가하고 실제 데이터를 지우는 adm/member_list_update.php 파일의 sql_query 처리 로직이 누락되었을 수 있습니다.
  • 대안: adm/member_list_update.php 파일 내 $_POST['act_button'] == "완전삭제" 조건문과 sql_query 실행 코드가 올바르게 작성되었는지 재확인하십시오.

Q. 회원을 완전 삭제할 때 작성한 게시물이나 댓글은 어떻게 처리되나요?

  • 예외: 본 기능은 회원 테이블 레코드만 삭제하므로 회원이 남긴 게시물, 댓글, 포인트 기록 등이 DB에 잔존할 수 있습니다.
  • 대안: 데이터 무결성을 위해 회원 삭제 쿼리 실행 전후에 연관 테이블(.point_table, .board_table 등)을 정리하는 추가 로직 검토가 필요합니다.

함께 보면 좋은 글

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.