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

본문
그누보드 관리자 페이지에서 기본 제공하는 선택 삭제 외에 회원을 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등)을 정리하는 추가 로직 검토가 필요합니다.
함께 보면 좋은 글
- 그누보드 관리자 회원 목록에서 메일 인증 상태 일괄 변경하기
- 그누보드 특정 게시판 관리자 외 사용자 글 삭제 제한 방법
- 그누보드 관리자 페이지 최근 게시물 목록에서 댓글 제외하는 방법
참고자료
기타 참고자료
- 이전글그누보드·영카트 설치 경로 변경 및 루트 디렉토리 이동 가이드 26.09.24
- 다음글그누보드 특정 게시판 글 삭제 시 포인트 반환 제외 설정 방법 26.09.23
댓글목록
등록된 댓글이 없습니다.