BOARD

팁·활용

그누보드 특정 조건 회원 일괄 삭제 및 정리 방법

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 8회 작성일 26-10-06 15:26

본문

그누보드 특정 조건 회원 일괄 삭제 및 정리 방법

이메일 미입력 등 특정 조건에 맞는 회원들을 검색해 일괄 삭제하거나 탈퇴 처리하려는 운영자를 위해, 데이터베이스 백업부터 조건별 조회 및 삭제 스크립트 실행, 내장 함수 활용 방법을 구체적으로 안내합니다.

그누보드 회원 일괄 삭제 전 데이터베이스 백업 방법

그누보드 환경에서 특정 조건을 만족하는 회원을 검색하여 일괄 삭제하거나 정리하는 작업을 진행하기 전에는, 잘못된 쿼리 조건이나 실수로 인해 유효한 회원 정보가 대량 유실되는 사고를 예방하기 위해 데이터베이스 백업이 필수적입니다.

1. 백업 범위 선택

전체 데이터베이스를 백업하거나, 회원(member), 포인트(point), 쪽지(memo), 스크랩(scrap) 등 회원 관련 테이블만 선택하여 백업할 수 있습니다.

2. phpMyAdmin을 이용한 백업 절차

  1. 접속: phpMyAdmin에 접속한 후, 화면 왼쪽에서 백업하려는 데이터베이스 이름을 선택합니다.
  2. 내보내기: 상단 메뉴의 '내보내기(Export)' 탭을 클릭합니다.
  3. 옵션 선택:
    • 퀵(Quick): 데이터베이스 전체를 백업할 때 사용합니다.
    • 커스텀(Custom): 회원 관련 테이블만 골라서 백업할 때 사용합니다. 원하는 테이블을 체크하고 파일 형식을 'SQL'로 지정한 뒤 실행합니다.
  4. 저장: 파일 다운로드 창이 표시되면 SQL 파일을 로컬 PC에 저장하여 백업본을 확보합니다.

3. 주의사항

데이터베이스를 직접 조작하는 작업은 한번 실행하면 되돌릴 수 없으므로, 반드시 사전에 백업본을 확보한 후 작업을 진행하시기 바랍니다.

그누보드 특정 조건 회원 목록 조회 및 삭제 스크립트 작성 방법

이메일 미입력 등 특정 조건을 만족하는 회원 목록을 사전에 정확히 조회하고 검증하려면, 그누보드 환경을 불러온 뒤 조건문(where mb_email = '')을 사용하는 PHP 스크립트를 작성하여 실행할 수 있습니다.

1. 사전 백업 및 주의사항

  • 데이터베이스를 직접 조작하므로 실행 전 반드시 전체 DB 또는 회원, 포인트, 쪽지, 스크랩 일부 테이블을 백업해야 합니다.

2. 조건별 회원 목록 조회 스크립트 작성

  1. 아래 예제 코드를 복사하여 새 파일을 만듭니다.
  2. 그누보드가 설치된 경로 중 원하는 위치에 업로드한 후 브라우저로 실행합니다.
<?php
include_once('./_common.php');
$sql = " select * from {$g5['member_table']} where mb_email = '' ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
 echo $row['mb_id']."/".$row['mb_nick']."/".$row['mb_email']."<br>";
}
?>

3. 결과 확인 및 다음 행동

  • 파일 실행 시 화면에 회원id / 회원닉네임 / 이메일주소 형식으로 대상 회원 목록이 출력됩니다.
  • 출력된 목록을 확인하여 삭제 대상이 올바른지 검증합니다 (이메일 미입력 조건의 경우 이메일 주소 값이 빈값으로 출력되어야 합니다).
  • 목록에 문제가 없을 경우에만 다음 단계의 삭제 처리 코드(/*... */ 주석 해제 또는 member_delete 함수 적용)를 진행합니다.

그누보드 회원 및 관련 데이터 완전 삭제 방법

그누보드에서 특정 조건(예: 이메일 미입력 등)에 맞는 회원의 정보뿐만 아니라 포인트, 쪽지, 스크랩, 아이콘 파일까지 데이터베이스와 서버에서 완전히 삭제하려면 커스텀 PHP 스크립트를 작성하여 실행해야 합니다.

1. 실행 전 필수 확인 및 준비

  • 데이터베이스를 직접 조작하여 삭제한 데이터는 되돌릴 수 없으므로, 실행 전 반드시 전체 DB 또는 회원·포인트·쪽지·스크랩 관련 테이블을 백업해야 합니다.
  • 그누보드가 설치된 경로에 임시 PHP 파일을 생성하여 실행하는 방식으로 진행됩니다. (백업 방법은 Q1 참고)

2. 회원 완전 삭제 PHP 스크립트 작성 예시

이메일 주소가 없는 회원을 대상으로 관련 테이블 데이터와 업로드된 아이콘 파일을 함께 삭제하는 코드 예시입니다. 빨간색 주석 처리된 부분을 해제하여 실제 삭제를 수행합니다.

<?php
include_once('./_common.php');

$sql = " select * from {$g5['member_table']} where mb_email = '' ";
$result = sql_query($sql);

for ($i=0; $row=sql_fetch_array($result); $i++) {
 echo $row['mb_id']."/". $row['mb_nick']."/". $row['mb_email']."<br>";
 
 /* 
 // 아래 주석을 제거하면 실제로 데이터가 완전히 삭제됩니다.
 sql_query(" delete from {$g5['member_table']} where mb_id = '{$row['mb_id']}' "); // 회원 삭제
 sql_query(" delete from {$g5['point_table']} where mb_id = '{$row['mb_id']}' "); // 포인트 테이블 삭제
 sql_query(" delete from {$g5['memo_table']} where mb_id = '{$row['mb_id']}' "); // 쪽지 삭제
 sql_query(" delete from {$g5['scrap_table']} where mb_id = '{$row['mb_id']}' "); // 스크랩 삭제
 @unlink(G5_DATA_PATH.'/member/'.substr($row['mb_id'],0,2).'/'.$row['mb_id'].'.gif'); // 아이콘 삭제
 
 if(function_exists('social_member_link_delete')){
 social_member_link_delete($row['mb_id']); // 소셜로그인 연동 해제
 }
 */
}
?>

3. 적용 및 실행 순서

  1. 위 코드를 복사하여 서버 내 적절한 위치에 파일로 업로드하고 웹 브라우저를 통해 접속합니다.
  2. 1차 확인: 주석(/*... */)을 유지한 채로 실행하여 화면에 출력되는 대상 회원 목록(아이디/닉네임/이메일)이 올바른지 확인합니다.
  3. 2차 실행: 대상 목록에 문제가 없다면 코드 내 주석 기호(/* 및 */)를 제거한 뒤 파일을 다시 저장하고 브라우저를 새로고침하여 일괄 삭제를 완료합니다.

그누보드 기본 함수를 활용한 회원 아이디 보관 탈퇴 처리 방법

그누보드에서 회원을 완전히 삭제하지 않고 동일한 회원 아이디(ID)의 재사용을 금지하는 탈퇴 처리를 하려면, DB 직접 삭제 방식 대신 그누보드 기본 함수인 member_delete를 호출하는 스크립트를 작성하여 실행합니다.

1. 실행 전 확인 사항 및 준비

  • 데이터베이스 직접 조작이 수반되므로 실행 전 반드시 전체 DB 또는 회원 테이블을 백업해야 합니다. (백업 방법은 Q1 참고)
  • 그누보드가 설치된 경로에 임의의 PHP 파일을 생성하여 코드를 작성합니다.

2. 탈퇴 처리 스크립트 작성 예시

이메일 주소가 없는 회원 등 특정 조건을 만족하는 회원을 조회한 뒤, member_delete 함수를 호출하여 아이디를 남기는 방식으로 처리합니다.

<?php
include_once('./_common.php');

// 특정 조건(예: 이메일 미입력 회원) 설정
$sql = " select * from {$g5['member_table']} where mb_email = '' ";
$result = sql_query($sql);

for ($i=0; $row=sql_fetch_array($result); $i++) {
 // 화면에 대상 회원 확인용 출력
 echo $row['mb_id']."/".$row['mb_nick']."/".$row['mb_email']."<br>";
 
 // 그누보드 기본 함수로 아이디를 보관하며 탈퇴 처리
 // member_delete($row['mb_id']);
}
?>

3. 실행 및 다음 행동

  1. 파일을 그누보드 설치 경로에 업로드한 후 브라우저로 접속하여 조건에 맞는 회원 목록(회원id / 회원닉네임 / 이메일주소)이 올바르게 출력되는지 먼저 확인합니다.
  2. 출력된 대상 회원 목록에 문제가 없다면, 코드 내 주석 처리된 // member_delete($row['mb_id']); 부분의 주석을 해제합니다.
  3. 페이지를 다시 새로고침하여 탈퇴 처리를 실행합니다.

그누보드 회원 일괄 정리 가이드

  • 내 상황: 이메일 미입력 등 특정 조건을 만족하는 회원들을 검색하여 일괄 삭제하거나 탈퇴 처리하고자 함
  • 선택 기준: 동일 아이디의 재사용을 영구히 금지하고 회원 정보를 남겨둘 것인지(member_delete 함수), 혹은 관련 포인트·쪽지·스크랩·아이콘 파일까지 완전히 소거할 것인지(DB 직접 삭제) 결정
  • 다음 행동: phpMyAdmin을 통해 전체 DB 또는 관련 테이블을 백업한 뒤, 조건문(where mb_email = '')이 포함된 PHP 스크립트를 서버에 업로드하여 대상 목록을 1차 확인하고 주석을 해제하여 실행

실전 FAQ

Q. 스크립트를 실행하기 전 반드시 백업해야 하는 이유는 무엇인가요?

  • 답변: 데이터베이스를 직접 조작하는 쿼리나 파일 삭제 작업은 한 번 실행하면 되돌릴 수 없으므로, 잘못된 조건으로 인해 유효한 회원 정보가 대량 유실되는 사고를 방지하기 위해 전체 DB 또는 회원·포인트·쪽지·스크랩 관련 테이블을 사전에 반드시 백업해야 합니다.

Q. 화면에 출력된 회원 목록이 올바른지 어떻게 검증하나요?

  • 답변: PHP 스크립트 실행 시 첫 단계에서는 데이터 삭제가 일어나지 않고 echo 문을 통해 회원id / 회원닉네임 / 이메일주소 형식의 목록만 브라우저에 출력되므로, 이메일 미입력 조건의 경우 실제로 해당 값이 빈값으로 정확히 조회되었는지 직접 눈으로 확인한 뒤 주석 해제 여부를 결정해야 합니다.

함께 보면 좋은 글

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.