핸드폰 중복인증 아이디 중복생성 방지가 안됩니다.

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
핸드폰 중복인증 아이디 중복생성 방지가 안됩니다.

QA

핸드폰 중복인증 아이디 중복생성 방지가 안됩니다.

본문

register_form.skin.php

입니다. 아래 소스 적용중인데 핸드폰 인증을 해도 동일한 핸드폰으로 아이디를 또 생성할수가 있습니다.

핸드폰 인증 중복 적용이 안된거 같은데 어느 부분이 잘못된건지 알수 있을까요? 

--------------------------

 

<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">', 0);
?>

<!-- 회원정보 입력/수정 시작 { -->
<?php
$CP_CD                = $_REQUEST["CP_CD"];            // 회원사코드
$TX_SEQ_NO            = $_REQUEST["TX_SEQ_NO"];        // 거래번호
$RSLT_CD            = $_REQUEST["RSLT_CD"];        // 결과코드
$RSLT_MSG            = $_REQUEST["RSLT_MSG"];        // 결과메세지

$RSLT_NAME            = $_REQUEST["RSLT_NAME"];        // 성명
$RSLT_BIRTHDAY        = $_REQUEST["RSLT_BIRTHDAY"];    // 생년월일
$RSLT_SEX_CD        = $_REQUEST["RSLT_SEX_CD"];    // 성별
$RSLT_NTV_FRNR_CD    = $_REQUEST["RSLT_NTV_FRNR_CD"];// 내외국인구분

$DI                    = $_REQUEST["DI"];                // DI
$CI                    = $_REQUEST["CI"];                // CI
$CI_UPDATE            = $_REQUEST["CI_UPDATE"];        // CI 업데이트
$TEL_COM_CD            = $_REQUEST["TEL_COM_CD"];        // 통신사코드
$TEL_NO                = $_REQUEST["TEL_NO"];            // 휴대폰번호

$RETURN_MSG            = $_REQUEST["RETURN_MSG"];        // 리턴메시지
?>


<?php
// 만19세 미만 회원가입 불가 [S]
    $birth_day_data1 = substr_replace($RSLT_BIRTHDAY,'-',4,0);
    $birth_day_data2 = substr_replace($birth_day_data1,'-',7,0);

    $birth_time   = strtotime($birth_day_data2);
    $now          = date('Ymd');
    $birthday     = date('Ymd' , $birth_time);
    $age           = floor(($now - $birthday) / 10000);

    if ($age < 19) {
?>
<script>
    alert('만 19세 미만은 가입하실 수 없습니다.');
    document.location.href='/bbs/login';
</script>

<?php } ?>


<div class="register">
<script src="<?php echo G5_JS_URL ?>/jquery.register_form.js"></script>
<?php if($config['cf_cert_use'] && ($config['cf_cert_ipin'] || $config['cf_cert_hp'])) { ?>
<script src="<?php echo G5_JS_URL ?>/certify.js?v=<?php echo G5_JS_VER; ?>"></script>
<?php } ?>

    <form id="fregisterform" name="fregisterform" action="<?php echo $register_action_url ?>" onsubmit="return fregisterform_submit(this);" method="post" enctype="multipart/form-data" autocomplete="off">
    <input type="hidden" name="w" value="<?php echo $w ?>">
    <input type="hidden" name="url" value="<?php echo $urlencode ?>">
    <input type="hidden" name="agree" value="<?php echo $agree ?>">
    <input type="hidden" name="agree2" value="<?php echo $agree2 ?>">
    <input type="hidden" name="cert_type" value="<?php echo $member['mb_certify']; ?>">
    <input type="hidden" name="cert_no" value="">
    <?php if (isset($member['mb_sex'])) {  ?><input type="hidden" name="mb_sex" value="<?php echo $member['mb_sex'] ?>"><?php }  ?>
    <?php if (isset($member['mb_nick_date']) && $member['mb_nick_date'] > date("Y-m-d", G5_SERVER_TIME - ($config['cf_nick_modify'] * 86400))) { // 닉네임수정일이 지나지 않았다면  ?>
    <input type="hidden" name="mb_nick_default" value="<?php echo get_text($member['mb_nick']) ?>">
    <input type="hidden" name="mb_nick" value="<?php echo get_text($member['mb_nick']) ?>">
    <?php }  ?>

    <input type="hidden" name="mb_name" value="-">
    <input type="hidden" name="mb_nick" value="-">
    <input type="hidden" name="mb_email" value="-">

    <section id="sub">
      <article class="visual">
        <ul>
         <h1>  <li style="font-size:14px;"> 0000</li>
          <li style="font-size:14px;">0000</li></h1>
        </ul>
           <img src="<?php echo srcImage(G5_THEME_URL.'/img/sub/group_listing_contact_page_banner_02.webp')?>" class="pc" alt="00000">
          <img src="<?php echo srcImage(G5_THEME_URL.'/img/sub/group_listing_contact_page_banner_portrait_02.webp')?>" class="mobile" alt="0000">
      </article>

        <article class="reserve_box">
        <div class="div">
          <br>
          <p>000</p>
          <h1>000</h1>
          <span>000<br>* 만18세 이하는 회원가입이 제한됩니다.</span>
        </div>

            <div class="join">
        <strong>* 필수항목</strong>
        <p class="tit">로그인 정보</p>
        <div class="form">
          <ul>
            <li>
              <p><span>*</span>전화번호</p>
              <div class="phone">
                                <input type="text" name="mb_id" value="<?php echo $member['mb_id'] ?>" id="reg_mb_id" <?php echo $required ?> <?php echo $readonly ?> class="frm_input full_input <?php echo $required ?> <?php echo $readonly ?>" minlength="11" maxlength="11" placeholder="입력예시 : *** 개인정보보호를 위한 휴대폰번호 노출방지 ***">
                <div class="chk">
                  <input type="checkbox" name="mb_7" id="sns" value="Y">
                  <label for="sns">
                    <div class="box">
                      <div></div>
                    </div>
                    SMS수신 동의 - 수신동의를 하셔야 예약 상세 상황을 문자로 받아보실 수 있습니다.
                  </label>
                </div>
              </div>
            </li>
            <li>
              <p><span>*</span>비밀번호</p>
              <div class="password">
                <b>비밀번호는 공백 없이 최소 8자리 이상이어야 합니다.</b>
                                <input type="password" name="mb_password" id="reg_mb_password" <?php echo $required ?> class="frm_input full_input <?php echo $required ?>" minlength="8" maxlength="20" placeholder="최소 8자">
              </div>
            </li>
          </ul>
        </div>

        <p class="tit">고객 개인 정보</p>
        <div class="form">
          <ul>
            <li class="num2">
              <p><span>*</span>이름</p>
              <div class="name">
                <input type="text" name="mb_1" placeholder="이름" value="" required>
              </div>
            </li>
            <li class="num2">
              <p><span>*</span>성</p>
              <div class="first_name">
                <input type="text"  name="mb_2" placeholder="성" value="" required>
              </div>
            </li>
            <li class="clear">
              <p><span>*</span>성별</p>
              <div class="gender">
                <select name="mb_3">
                  <option value="">선택하십시오.</option>
                  <option value="남">남</option>
                  <option value="여">여</option>
                </select>
              </div>
            </li>
            <li>
              <p><span>*</span>생년월일</p>
              <div class="birth">
                <input type="text" name="mb_4" placeholder="입력예시 : 891201" minlength="6" maxlength="6" value="" required>
              </div>
            </li>
            <li>
              <p><span>*</span>이메일</p>
              <div class="email">
                                <input type="text" name="mb_5" value="" required maxlength="30">
                <span>@</span>
                <input type="text" name="mb_6" value="" required maxlength="30">
              </div>
            </li>
          </ul>
        </div>

        <div class="check">
          <ul>
            <li>
              <input type="checkbox" name="privacy" id="privacy" required>
              <label for="privacy">
                <div class="box">
                  <div></div>
                </div>
                * 000 <span>이용약관 및 개인 정보 보호 방침을 읽었으며 동의합니다.</span>
              </label>
            </li>
            <li>
              <input type="checkbox" name="mb_8" id="marketing" value="Y">
              <label for="marketing">
                <div class="box">
                  <div></div>
                </div>
                0000 대한 마케팅 정보 수신에 동의합니다.
              </label>
            </li>
          </ul>
        </div>
                <div class="btn">
                <a href="<?php echo G5_URL ?>">취소</a>
                <button type="submit" onclick="btnCheck();" id="btn_submit" class="btn_submit" accesskey="s">신규가입 하기</button>
                </div>
        </div>
            </article>
        </section>
    </form>
</div>


<script>
$(function() {
    $("#reg_zip_find").css("display", "inline-block");

    <?php if($config['cf_cert_use'] && $config['cf_cert_ipin']) { ?>
    // 아이핀인증
    $("#win_ipin_cert").click(function() {
        if(!cert_confirm())
            return false;

        var url = "<?php echo G5_OKNAME_URL; ?>/ipin1.php";
        certify_win_open('kcb-ipin', url);
        return;
    });

    <?php } ?>
    <?php if($config['cf_cert_use'] && $config['cf_cert_hp']) { ?>
    // 휴대폰인증
    $("#win_hp_cert").click(function() {
        if(!cert_confirm())
            return false;

        <?php
        switch($config['cf_cert_hp']) {
            case 'kcb':
                $cert_url = G5_OKNAME_URL.'/hpcert1.php';
                $cert_type = 'kcb-hp';
                break;
            case 'kcp':
                $cert_url = G5_KCPCERT_URL.'/kcpcert_form.php';
                $cert_type = 'kcp-hp';
                break;
            case 'lg':
                $cert_url = G5_LGXPAY_URL.'/AuthOnlyReq.php';
                $cert_type = 'lg-hp';
                break;
            default:
                echo 'alert("기본환경설정에서 휴대폰 본인확인 설정을 해주십시오");';
                echo 'return false;';
                break;
        }
        ?>

        certify_win_open("<?php echo $cert_type; ?>", "<?php echo $cert_url; ?>");
        return;
    });
    <?php } ?>
});

// submit 최종 폼체크
function fregisterform_submit(f)
{
    // 회원아이디 검사
    if (f.w.value == "") {
        var msg = reg_mb_id_check();
        if (msg) {
            alert(msg);
            f.mb_id.select();
            return false;
        }
    }

    if (f.w.value == "") {
        if (f.mb_password.value.length < 8) {
            alert("비밀번호를 3글자 이상 입력하십시오.");
            f.mb_password.focus();
            return false;
        }
    }

    if (f.mb_password.value.length > 0) {
        if (f.mb_password_re.value.length < 8) {
            alert("비밀번호를 3글자 이상 입력하십시오.");
            f.mb_password_re.focus();
            return false;
        }
    }


    document.getElementById("btn_submit").disabled = "disabled";

    return true;
}

jQuery(function($){
    //tooltip
    $(document).on("click", ".tooltip_icon", function(e){
        $(this).next(".tooltip").fadeIn(400).css("display","inline-block");
    }).on("mouseout", ".tooltip_icon", function(e){
        $(this).next(".tooltip").fadeOut();
    });
});

function btnCheck() {

    if ($('input[name=mb_id]').val().trim() == '') {
        alert('전화번호를 입력해 주세요');
        $('input[name=mb_id]').focus();

        var offset = $("input[name=mb_id]").offset();
        $("html, body").animate({scrollTop: offset.top},10);

    return false;
    }

    if ($('input[name=mb_password]').val().trim() == '') {
        alert('비밀번호를 입력해 주세요');
        $('input[name=mb_password]').focus();

        var offset = $("input[name=mb_password]").offset();
        $("html, body").animate({scrollTop: offset.top},10);

    return false;
    }

    if ($('input[name=mb_1]').val().trim() == '') {
        alert('이름을 입력해 주세요');
        $('input[name=mb_1]').focus();

        var offset = $("input[name=mb_1]").offset();
        $("html, body").animate({scrollTop: offset.top},10);

    return false;
    }

    if ($('input[name=mb_2]').val().trim() == '') {
        alert('성을 입력해 주세요');
        $('input[name=mb_2]').focus();

        var offset = $("input[name=mb_2]").offset();
        $("html, body").animate({scrollTop: offset.top},10);

    return false;
    }

    var gender = document.fregisterform.mb_3.value;
  if (gender == "") {
        $('input[name=mb_3]').focus();
    alert('성별을 선택해 주세요');

        var offset = $("input[name=mb_3]").offset();
        $("html, body").animate({scrollTop: offset.top},10);

    return false;
  }

    if ($('input[name=mb_4]').val().trim() == '') {
        alert('생년월일을 입력해 주세요');
        $('input[name=mb_4]').focus();

        var offset = $("input[name=mb_4]").offset();
        $("html, body").animate({scrollTop: offset.top},10);

    return false;
    }

    if ($('input[name=mb_5]').val().trim() == '') {
        alert('이메일을 입력해 주세요');
        $('input[name=mb_5]').focus();

        var offset = $("input[name=mb_5]").offset();
        $("html, body").animate({scrollTop: offset.top},10);

    return false;
    }

    if ($('input[name=mb_6]').val().trim() == '') {
        alert('이메일을 입력해 주세요');
        $('input[name=mb_6]').focus();

        var offset = $("input[name=mb_6]").offset();
        $("html, body").animate({scrollTop: offset.top},10);

    return false;
    }

    if ($("input[name='privacy']:checked").length < 1) {
    alert('개인정보 처리방침에 동의해주세요');
    return;
  }

  document.getElementById('fregisterform').submit();
}

</script>

<!-- } 회원정보 입력/수정 끝 -->
 

이 질문에 댓글 쓰기 :

답변 2

대충이런식으로 해보시죠


<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">', 0);
?>
<!-- 회원정보 입력/수정 시작 { -->
<?php
$CP_CD                = $_REQUEST["CP_CD"];            // 회원사코드
$TX_SEQ_NO            = $_REQUEST["TX_SEQ_NO"];        // 거래번호
$RSLT_CD            = $_REQUEST["RSLT_CD"];        // 결과코드
$RSLT_MSG            = $_REQUEST["RSLT_MSG"];        // 결과메세지
$RSLT_NAME            = $_REQUEST["RSLT_NAME"];        // 성명
$RSLT_BIRTHDAY        = $_REQUEST["RSLT_BIRTHDAY"];    // 생년월일
$RSLT_SEX_CD        = $_REQUEST["RSLT_SEX_CD"];    // 성별
$RSLT_NTV_FRNR_CD    = $_REQUEST["RSLT_NTV_FRNR_CD"];// 내외국인구분
$DI                    = $_REQUEST["DI"];                // DI
$CI                    = $_REQUEST["CI"];                // CI
$CI_UPDATE            = $_REQUEST["CI_UPDATE"];        // CI 업데이트
$TEL_COM_CD            = $_REQUEST["TEL_COM_CD"];        // 통신사코드
$TEL_NO                = $_REQUEST["TEL_NO"];            // 휴대폰번호
$RETURN_MSG            = $_REQUEST["RETURN_MSG"];        // 리턴메시지
 
$sql = " select count(*) as cnt from {$g5['member_table']} where mb_hp = '{$TEL_NO}' ";
$row = sql_fetch($sql);
if ($row['cnt']) { // 이미 가입된 휴대폰번호가 있다면, 
?>
<script>
    alert('이미 가입된 휴대폰번호가 있습니다.');
    document.location.href='/bbs/login';
</script>
<?php
}
?>

<?php
// 만19세 미만 회원가입 불가 [S]
    $birth_day_data1 = substr_replace($RSLT_BIRTHDAY,'-',4,0);
    $birth_day_data2 = substr_replace($birth_day_data1,'-',7,0);
    $birth_time   = strtotime($birth_day_data2);
    $now          = date('Ymd');
    $birthday     = date('Ymd' , $birth_time);
    $age           = floor(($now - $birthday) / 10000);
    if ($age < 19) {
?>
<script>
    alert('만 19세 미만은 가입하실 수 없습니다.');
    document.location.href='/bbs/login';
</script>
<?php } ?>

감사합니다. 핸드폰 번호가 중복되는 경우엔 에러메세지가 정상적으로 뜨게 되어있는데 문제가 인증을 하고 다른 아이디를 또 생성할수가 있는게 문제입니다.
핸드폰 인증이 중복가입을 방지하기 위함인데 지금 그게 안되고 있습ㄴ다. ㅜㅜ

여기에는 중복 체크 하는 부분이 없습니다.

본인인증 체크부분(kcp의 경우 /plugin/kcpcert/kcpcert_result.php) 이나

회원정보 저장부분 (/member/register_form_update.php)에서 중복체크해야합니다.

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

회원로그인

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