그누보드 중복 회원가입

그누보드 중복 회원가입

QA

그누보드 중복 회원가입

본문

회원가입할때 아이디는 중복불가능하게하고

전화번호나 다른 정보는 같아도 가입할 수 있도록 하려고 하는데 어떻게 수정하면 가능할까요?

이 질문에 댓글 쓰기 :

답변 3

lib/register.lib.php 파일에 체크 함수등이 존재하는데 해당 파일을 여시면

 

exist_mb_email <- 이메일주소 중복확인 함수

exist_mb_hp <- 휴대폰번호 중복확인 함수

exist_mb_nick <- 닉네임 중복확인 함수

이런 함수들이 있습니다.

 

bbs/register_form_update.php 에서 해당 함수들을 주석처리 해주셔도 되는데

그것보단 register.lib 에서 함수 상단에서 return 시켜주시면 보다 유지보수에 간편하실거에요.

 

예를들어 이메일체크 함수라면 아래처럼 시작하자마자 리턴넣어주면 됩니다.

단, 회원정보를 찾을때 중복정보로 가입된 회원이 있다면 문제가 생기겠죠.


function exist_mb_email($reg_mb_email, $reg_mb_id)
{
return ""; //이부분
    global $g5;
    $row = sql_fetch(" select count(*) as cnt from `{$g5['member_table']}` where mb_email = '$reg_mb_email' and mb_id <> '$reg_mb_id' ");
    if ($row['cnt'])
        return "이미 사용중인 E-mail 주소입니다.";
    else
        return "";
}

답변 너무 감사합니다! 회원가입폼은 해결하였는데 제가 홈페이지 이전중이라 기존 회원들을 관리자에서 모두 입력하고 있는중인데요 말씀해주신 방법이 관지라에서 회원등록을할때는 해결이 안되는데 하는 방법이 있을까요?

현재 그렇게 되어있지않나요?

페이지에서 중복 체크를 하고싶으면

키이벤트로 ajax로 db에 아이디 있는지 체크해서 가입가능, 불가 체크하시거나

버튼하나 만들으셔서 처리하시면됩니다

관리자에서 수동으로 회원을 추가할떄는

/adm/member_form_update.php 를 여시어 아래부분을 주석처리 합니다.

exist_mb_hp 함수는 이미 register.lib 에서 수정하실거라 생각하고 패스.

그럼 닉네임과 이메일 두개 남았네요.

 

/adm/member_form_update.php 파일에

회원등록시와 회원수정시 insert 쿼리나 update 쿼리 직전에 존재하는

 

이미 존재한는 닉네임

이미 존재하는 이메일

부분을 주석처리 해주시면 됩니다.

등록부분과 수정부분 2군대 비슷한 형태로 존재합니다.

 

 


if ($w == '')
{
    $mb = get_member($mb_id);
    if (isset($mb['mb_id']) && $mb['mb_id'])
        alert('이미 존재하는 회원아이디입니다.\\nID : '.$mb['mb_id'].'\\n이름 : '.$mb['mb_name'].'\\n닉네임 : '.$mb['mb_nick'].'\\n메일 : '.$mb['mb_email']);
/* 주석처리
    // 닉네임중복체크
    $sql = " select mb_id, mb_name, mb_nick, mb_email from {$g5['member_table']} where mb_nick = '{$mb_nick}' ";
    $row = sql_fetch($sql);
    if (isset($row['mb_id']) && $row['mb_id'])
        alert('이미 존재하는 닉네임입니다.\\nID : '.$row['mb_id'].'\\n이름 : '.$row['mb_name'].'\\n닉네임 : '.$row['mb_nick'].'\\n메일 : '.$row['mb_email']);
 
    // 이메일중복체크
    $sql = " select mb_id, mb_name, mb_nick, mb_email from {$g5['member_table']} where mb_email = '{$mb_email}' ";
    $row = sql_fetch($sql);
    if (isset($row['mb_id']) && $row['mb_id'])
        alert('이미 존재하는 이메일입니다.\\nID : '.$row['mb_id'].'\\n이름 : '.$row['mb_name'].'\\n닉네임 : '.$row['mb_nick'].'\\n메일 : '.$row['mb_email']);
*/ 주석처리
    sql_query(" insert into {$g5['member_table']} set mb_id = '{$mb_id}', mb_password = '".get_encrypt_string($mb_password)."', mb_datetime = '".G5_TIME_YMDHIS."', mb_ip = '{$_SERVER['REMOTE_ADDR']}', mb_email_certify = '".G5_TIME_YMDHIS."', {$sql_common} ");
}
else if ($w == 'u')
{
    $mb = get_member($mb_id);
    if (! (isset($mb['mb_id']) && $mb['mb_id']))
        alert('존재하지 않는 회원자료입니다.');
 
    if ($is_admin != 'super' && $mb['mb_level'] >= $member['mb_level'])
        alert('자신보다 권한이 높거나 같은 회원은 수정할 수 없습니다.');
 
    if ($is_admin !== 'super' && is_admin($mb['mb_id']) === 'super' ) {
        alert('최고관리자의 비밀번호를 수정할수 없습니다.');
    }
 
    if ($mb_id === $member['mb_id'] && $_POST['mb_level'] != $mb['mb_level'])
        alert($mb['mb_id'].' : 로그인 중인 관리자 레벨은 수정 할 수 없습니다.');
/* 주석처리
    // 닉네임중복체크
    $sql = " select mb_id, mb_name, mb_nick, mb_email from {$g5['member_table']} where mb_nick = '{$mb_nick}' and mb_id <> '$mb_id' ";
    $row = sql_fetch($sql);
    if (isset($row['mb_id']) && $row['mb_id'])
        alert('이미 존재하는 닉네임입니다.\\nID : '.$row['mb_id'].'\\n이름 : '.$row['mb_name'].'\\n닉네임 : '.$row['mb_nick'].'\\n메일 : '.$row['mb_email']);
 
    // 이메일중복체크
    $sql = " select mb_id, mb_name, mb_nick, mb_email from {$g5['member_table']} where mb_email = '{$mb_email}' and mb_id <> '$mb_id' ";
    $row = sql_fetch($sql);
    if (isset($row['mb_id']) && $row['mb_id'])
        alert('이미 존재하는 이메일입니다.\\nID : '.$row['mb_id'].'\\n이름 : '.$row['mb_name'].'\\n닉네임 : '.$row['mb_nick'].'\\n메일 : '.$row['mb_email']);
*/ 주석처리
 
    if ($mb_password)
        $sql_password = " , mb_password = '".get_encrypt_string($mb_password)."' ";
    else
        $sql_password = "";
 
    if (isset($passive_certify) && $passive_certify)
        $sql_certify = " , mb_email_certify = '".G5_TIME_YMDHIS."' ";
    else
        $sql_certify = "";
 
    $sql = " update {$g5['member_table']}
                set {$sql_common}
                     {$sql_password}
                     {$sql_certify}
                where mb_id = '{$mb_id}' ";
    sql_query($sql);
}
else
    alert('제대로 된 값이 넘어오지 않았습니다.');

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 123,479 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT