회원탈퇴 후 같은 아이디로 가입못하게 하는 방법... 정보
회원탈퇴 후 같은 아이디로 가입못하게 하는 방법...본문
그누보드3에서 aaa라는 사람이 회원가입을 하고 게시판에 글을 씁니다.
그리고 탈퇴를 합니다.
그 뒤에 다른 사람이 aaa라는 아이디로 새로 가입을 합니다.
그러면 예전에 aaa가 쓴 글을 수정 또는 삭제가 가능한데요.
탈퇴한 아이디로 가입을 하지 못하게 하는 방법을 알려주시면 감사드리겠습니다.
밑에 답변이 있긴 한데 수정을 해도 적용이 잘안되더라구요.
===================================================================================
회원 탈퇴시 회원 ID를 삭제하도록 하는것이 아니라 회원의 ID만 남겨두고 나머지 모든 항목(비밀번호포함)은 모두 지워버리도록 하는 방법이 있습니다.
회원id를 삭제하도록 하는 delete 문을 update문으로 변경만 하시면 될 것 같군요.
bbs/admin/admin.lib.php 에 있는 function memberdelete($mb_id) 에서...
// 회원 삭제
function memberdelete($mb_id)
{
global $cfg, $default;
include_once "./lib/file.lib.php";
$sql = " select mb_recommend from $cfg[table_member] where mb_id= '$mb_id' ";
$mb = sql_fetch($sql);
if ($mb[mb_recommend]) {
$row = sql_fetch(" select count(*) from $cfg[table_member] where mb_id = '$mb[mb_recommend]' ");
if ($row[0]) {
insert_point($mb[mb_recommend], $default[de_recommend_point] * (-1), "{$mb_id}의 회원자료 삭제로 인한 추천인 포인트 반환");
}
}
// 회원 자료 삭제
sql_query(" delete from $cfg[table_member] where mb_id = '$mb_id' ");
// 포인트 테이블에서 자료 삭제
sql_query(" delete from $cfg[table_point] where mb_id = '$mb_id' ");
여기서 어떻게 수정을 해야 될까요?
댓글 전체

회원탈퇴후 삭제 그쪽을 9999999로 숫자를 엄청 올려보세요...

bbs/mbleave.php
//12번째 줄 밑에
$sql = " update $cfg[table_member] set mb_jumin = '' where mb_id = '$member[mb_id]' ";
//주민번호 지우기..
$sql = " update $cfg[table_member] set mb_email = '' where mb_id = '$member[mb_id]' ";
//이메일 지우기
혹은
// 주민번호 이메일 초기화
$sql = " update $cfg[table_member] set mb_jumin = '' , mb_email = '' where mb_id = '$member[mb_id]' ";
참고로 관리자란에서 삭제시 delete 소스 대신
update $cfg[table_member] set mb_jumin = '' , mb_email = '' where mb_id = '$member[mb_id]'
이걸루 해야겠쬬...
------------------------
다른방법을 생각하면
가입일이랑 글 마지막 수정한 란을 비교하는 방법도 있게네요....
가입일이랑 게시글 등록한 날자를 비교해서 수정못하고 삭제 못하도록 해도 되고요
if ($member[mb_datetime] < $write[wr_datetime])
alert("탈퇴한 회원 글 입니다. 수정 권한이 없습니다.");
이게 가장 깔끔할것 같군요...
탈퇴버튼을 누른 후 로그인을 하면 다시 되더라구요.
이메일 부분은 공백으로 나옵니다.
mbleave.php 파일 수정
// 회원탈퇴일을 저장
$date = date("Ymd");
$sql = " update $cfg[table_member] set mb_leave_date = '$date' where mb_id = '$member[mb_id]' ";
//주민번호 지우기..
$sql = " update $cfg[table_member] set mb_jumin = '' where mb_id = '$member[mb_id]' ";
sql_query($sql);
# 3.09 수정 (로그아웃)
session_unregister("ss_mb_id");
if (!$url) {
$url = "./";
}
alert("{$member[mb_name]}님께서는 " . date("Y년 m월 d일") . "에 회원에서 탈퇴 하셨습니다.", $url);
=================================================================================
admin.lib.php 파일은 아래처럼 수정했는데 탈퇴도 안되고 주민번호도 그대로 남아 있습니다.
// 회원 삭제
function memberdelete($mb_id)
{
global $cfg, $default;
include_once "./lib/file.lib.php";
$sql = " select mb_recommend from $cfg[table_member] where mb_id= '$mb_id' ";
$mb = sql_fetch($sql);
if ($mb[mb_recommend]) {
$row = sql_fetch(" select count(*) from $cfg[table_member] where mb_id = '$mb[mb_recommend]' ");
if ($row[0]) {
insert_point($mb[mb_recommend], $default[de_recommend_point] * (-1), "{$mb_id}의 회원자료 삭제로 인한 추천인 포인트 반환");
}
}
// 회원 자료 삭제
//sql_query(" delete from $cfg[table_member] where mb_id = '$mb_id' ");
//주민번호 삭제
sql_query(" update $cfg[table_member] set mb_jumin = '' where mb_id = '$member[mb_id]' ");

$sql = " update $cfg[table_member] set mb_leave_date = '$date' where mb_id = '$member[mb_id]' ";
===>
$sql = " update $cfg[table_member] set mb_leave_date = '$date',mb_jumin = '' where mb_id = '$member[mb_id]' ";
수정해보세요
if ($member[mb_datetime] < $write[wr_datetime]) 구문은 어디에 넣어야할 지 모르겠습니다.

if($w== u)
이문장 밑에 추가하시면 될것 같은데요
