그누5 회원가입 핸드폰번호중복체크 기능을 어떻게 하면 될려는지요?

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
그누5 회원가입 핸드폰번호중복체크 기능을 어떻게 하면 될려는지요?

QA

그누5 회원가입 핸드폰번호중복체크 기능을 어떻게 하면 될려는지요?

본문

1999811033_1548209160.5215.png

 

스킨 register_form.skin.php

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

 

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

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

<!-- 회원정보 입력/수정 시작 { -->

<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="">
<input type="hidden" name="hp_auth" value="">
<input type="hidden" name="a_auth" value="<?=$a_auth?>">
<input type="hidden" name="sendYN" 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 }  ?>
 <div id="register_form"  class="form_01">
    <div>
        <h2>사이트 이용정보 입력</h2>
        <ul>
            <li>
                <label for="reg_mb_id" class="sound_only">아이디<strong>필수</strong></label>
                <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="3" maxlength="20" placeholder="아이디">
                <span id="msg_mb_id"></span>
                <span class="frm_info">영문자, 숫자, _ 만 입력 가능. 최소 3자이상 입력하세요.</span>
            </li>
            <li>
                <label for="reg_mb_password" class="sound_only">비밀번호<strong class="sound_only">필수</strong></label>
                <input type="password" name="mb_password" id="reg_mb_password" <?php echo $required ?> class="frm_input full_input <?php echo $required ?>" minlength="3" maxlength="20" placeholder="비밀번호">
            </li>
            <li>

                <label for="reg_mb_password_re" class="sound_only">비밀번호 확인<strong>필수</strong></label>
                <input type="password" name="mb_password_re" id="reg_mb_password_re" <?php echo $required ?> class="frm_input full_input   <?php echo $required ?>" minlength="3" maxlength="20" placeholder="비밀번호 확인">
            </li>
        </ul>
    </div>

    <div class="tbl_frm01 tbl_wrap">
        <h2>개인정보 입력</h2>

        <ul>

            <?php if ($req_nick) {  ?>
            <li>
                <label for="reg_mb_nick" class="sound_only">닉네임<strong>필수</strong></label>

                    <input type="hidden" name="mb_nick_default" value="<?php echo isset($member['mb_nick'])?get_text($member['mb_nick']):''; ?>">
                    <input type="text" name="mb_nick" value="<?php echo isset($member['mb_nick'])?get_text($member['mb_nick']):''; ?>" id="reg_mb_nick" required class="frm_input required nospace  full_input" size="10" maxlength="20" placeholder="닉네임">
                    <span id="msg_mb_nick"></span>
                    <span class="frm_info">
                        공백없이 한글,영문,숫자만 입력 가능 (한글2자, 영문4자 이상)<br>
                        <?php if($config['cf_nick_modify']){ ?>
                        닉네임을 바꾸시면 앞으로 <?php echo (int)$config['cf_nick_modify'] ?>일 이내에는 변경 할 수 없습니다.
                        <?php }?>
                    </span>

            </li>
            <?php }  ?>

            <?php if ($config['cf_use_homepage']) {  ?>
            <li>
                <label for="reg_mb_homepage" class="sound_only">홈페이지<?php if ($config['cf_req_homepage']){ ?><strong>필수</strong><?php } ?></label>
                <input type="text" name="mb_homepage" value="<?php echo get_text($member['mb_homepage']) ?>" id="reg_mb_homepage" <?php echo $config['cf_req_homepage']?"required":""; ?> class="frm_input full_input <?php echo $config['cf_req_homepage']?"required":""; ?>" size="70" maxlength="255" placeholder="홈페이지">
            </li>
            <?php }  ?>

            <?php if ($config['cf_use_tel']) {  ?>
            <li>
                <label for="reg_mb_tel" class="sound_only">전화번호<?php if ($config['cf_req_tel']) { ?><strong>필수</strong><?php } ?></label>
                <input type="text" name="mb_tel" value="<?php echo get_text($member['mb_tel']) ?>" id="reg_mb_tel" <?php echo $config['cf_req_tel']?"required":""; ?> class="frm_input full_input <?php echo $config['cf_req_tel']?"required":""; ?>" maxlength="20" placeholder="전화번호">
            </li>
            <?php }  ?>

            <?php if ($config['cf_use_hp'] || $config['cf_cert_hp']) {  ?>
            <li>
                <label for="reg_mb_hp" class="sound_only">휴대폰번호<?php if ($config['cf_req_hp']) { ?><strong>필수</strong><?php } ?></label>

                <input type="text" name="mb_hp" value="<?php echo get_text($member['mb_hp']) ?>" id="reg_mb_hp" <?php echo ($config['cf_req_hp'])?"required":""; ?> class="frm_input right_input full_input <?php echo ($config['cf_req_hp'])?"required":""; ?>" maxlength="20"  placeholder="휴대폰번호">
            </li>
            <li>
                <?php
                if($config['cf_auth_hp']) {
                  ?>

                 <input type="text" name="auth_num" id="auth_num"  class="frm_input"  style="width:67%;float:left"> 
                 <button type="button" id="win_hp_auth" style="width:30%;float:right" class="btn_frmline" onclick="getCode(this)">인증번호받기</button>
         <?php
                }
                ?>
                
                <?php if ($config['cf_cert_use'] && $config['cf_cert_hp']) { ?>
                <input type="hidden" name="old_mb_hp" value="<?php echo get_text($member['mb_hp']) ?>">
                <?php } ?>
            </li>
            <?php }  ?>


            <?php if ($config['cf_use_addr']) { ?>
            <li>
                <?php if ($config['cf_req_addr']) { ?><strong class="sound_only">필수</strong><?php }  ?>
                <label for="reg_mb_zip" class="sound_only">우편번호<?php echo $config['cf_req_addr']?'<strong class="sound_only"> 필수</strong>':''; ?></label>
                <input type="text" name="mb_zip" value="<?php echo $member['mb_zip1'].$member['mb_zip2']; ?>" id="reg_mb_zip" <?php echo $config['cf_req_addr']?"required":""; ?> class="frm_input <?php echo $config['cf_req_addr']?"required":""; ?>" size="8" maxlength="6"  placeholder="우편번호">
                <button type="button" class="btn_frmline" onclick="win_zip('fregisterform', 'mb_zip', 'mb_addr1', 'mb_addr2', 'mb_addr3', 'mb_addr_jibeon');">주소 검색</button><br>
                <input type="text" name="mb_addr1" value="<?php echo get_text($member['mb_addr1']) ?>" id="reg_mb_addr1" <?php echo $config['cf_req_addr']?"required":""; ?> class="frm_input frm_address full_input <?php echo $config['cf_req_addr']?"required":""; ?>" size="50"  placeholder="기본주소">
                <label for="reg_mb_addr1" class="sound_only">기본주소<?php echo $config['cf_req_addr']?'<strong> 필수</strong>':''; ?></label><br>
                <input type="text" name="mb_addr2" value="<?php echo get_text($member['mb_addr2']) ?>" id="reg_mb_addr2" class="frm_input frm_address full_input" size="50"  placeholder="상세주소">
                <label for="reg_mb_addr2" class="sound_only">상세주소</label>
                <br>
                <input type="text" name="mb_addr3" value="<?php echo get_text($member['mb_addr3']) ?>" id="reg_mb_addr3" class="frm_input frm_address full_input" size="50" readonly="readonly"  placeholder="참고항목">
                <label for="reg_mb_addr3" class="sound_only">참고항목</label>
                <input type="hidden" name="mb_addr_jibeon" value="<?php echo get_text($member['mb_addr_jibeon']); ?>">

            </li>
            <?php }  ?>
        </ul>
    </div>

    <div class="tbl_frm01 tbl_wrap">
        <ul>
            <?php if ($config['cf_use_signature']) {  ?>
            <li>
                <label for="reg_mb_signature" class="sound_only">서명<?php if ($config['cf_req_signature']){ ?><strong>필수</strong><?php } ?></label>
                <textarea name="mb_signature" id="reg_mb_signature" <?php echo $config['cf_req_signature']?"required":""; ?> class="<?php echo $config['cf_req_signature']?"required":""; ?>"   placeholder="서명"><?php echo $member['mb_signature'] ?></textarea>
            </li>
            <?php }  ?>

            <?php if ($config['cf_use_profile']) {  ?>
            <li>
                <label for="reg_mb_profile" class="sound_only">자기소개</label>
                <textarea name="mb_profile" id="reg_mb_profile" <?php echo $config['cf_req_profile']?"required":""; ?> class="<?php echo $config['cf_req_profile']?"required":""; ?>" placeholder="자기소개"><?php echo $member['mb_profile'] ?></textarea>
            </li>
            <?php }  ?>

            <?php if ($config['cf_use_member_icon'] && $member['mb_level'] >= $config['cf_icon_level']) {  ?>
            <li>
                <label for="reg_mb_icon" class="frm_label">회원아이콘</label>
                <input type="file" name="mb_icon" id="reg_mb_icon" >

                <span class="frm_info">
                    이미지 크기는 가로 <?php echo $config['cf_member_icon_width'] ?>픽셀, 세로 <?php echo $config['cf_member_icon_height'] ?>픽셀 이하로 해주세요.<br>
                    gif, jpg, png파일만 가능하며 용량 <?php echo number_format($config['cf_member_icon_size']) ?>바이트 이하만 등록됩니다.
                </span>

                <?php if ($w == 'u' && file_exists($mb_icon_path)) {  ?>
                <img src="<?php echo $mb_icon_url ?>" alt="회원아이콘">
                <input type="checkbox" name="del_mb_icon" value="1" id="del_mb_icon">
                <label for="del_mb_icon">삭제</label>
                <?php }  ?>

            </li>
            <?php }  ?>

            <?php if ($member['mb_level'] >= $config['cf_icon_level'] && $config['cf_member_img_size'] && $config['cf_member_img_width'] && $config['cf_member_img_height']) {  ?>
            <li class="reg_mb_img_file">
                <label for="reg_mb_img" class="frm_label">회원이미지</label>
                <input type="file" name="mb_img" id="reg_mb_img" >

                <span class="frm_info">
                    이미지 크기는 가로 <?php echo $config['cf_member_img_width'] ?>픽셀, 세로 <?php echo $config['cf_member_img_height'] ?>픽셀 이하로 해주세요.<br>
                    gif, jpg, png파일만 가능하며 용량 <?php echo number_format($config['cf_member_img_size']) ?>바이트 이하만 등록됩니다.
                </span>

                <?php if ($w == 'u' && file_exists($mb_img_path)) {  ?>
                <img src="<?php echo $mb_img_url ?>" alt="회원이미지">
                <input type="checkbox" name="del_mb_img" value="1" id="del_mb_img">
                <label for="del_mb_img">삭제</label>
                <?php }  ?>

            </li>
            <?php } ?>

            <?php if ($config['cf_use_hp']) {  ?>

            <?php }  ?>

            <?php if (isset($member['mb_open_date']) && $member['mb_open_date'] <= date("Y-m-d", G5_SERVER_TIME - ($config['cf_open_modify'] * 86400)) || empty($member['mb_open_date'])) { // 정보공개 수정일이 지났다면 수정가능  ?>

            <?php } else {  ?>
            <li>
                정보공개
                <input type="hidden" name="mb_open" value="<?php echo $member['mb_open'] ?>">
                <span class="frm_info">
                    정보공개는 수정후 <?php echo (int)$config['cf_open_modify'] ?>일 이내, <?php echo date("Y년 m월 j일", isset($member['mb_open_date']) ? strtotime("{$member['mb_open_date']} 00:00:00")+$config['cf_open_modify']*86400:G5_SERVER_TIME+$config['cf_open_modify']*86400); ?> 까지는 변경이 안됩니다.<br>
                    이렇게 하는 이유는 잦은 정보공개 수정으로 인하여 쪽지를 보낸 후 받지 않는 경우를 막기 위해서 입니다.
                </span>

            </li>
            <?php }  ?>

            <?php
            //회원정보 수정인 경우 소셜 계정 출력
            if( $w == 'u' && function_exists('social_member_provider_manage') ){
                social_member_provider_manage();
            }
            ?>

            <?php if ($w == "" && $config['cf_use_recommend']) {  ?>
            <li>
                <label for="reg_mb_recommend" class="sound_only">추천인아이디</label>
                <input type="text" name="mb_recommend" id="reg_mb_recommend" class="frm_input" placeholder="추천인아이디">
            </li>
            <?php }  ?>

            <li class="is_captcha_use">
                자동등록방지
                <?php echo captcha_html(); ?>
            </li>
        </ul>
    </div>

</div>
<div class="btn_confirm">
    <a href="<?php echo G5_URL ?>" class="btn_cancel">취소</a>
    <input type="submit" value="<?php echo $w==''?'회원가입':'정보수정'; ?>" id="btn_submit" class="btn_submit" accesskey="s">
</div>
</form>

    <script>
 /*인증번호가져오기/
        function getCode(obj) {
            if (checkPhone()) {//번호인증
            var f1 = document.fregisterform;
            $.post("/bbs/ajax_send.php", $("#fregisterform").serialize(),function(data){
                if (data=="F"){
                    alert("단시간에 너무 많은 요청을 하셨습니다.\n\n잠시후 이용 부탁드립니다.");
                }else{
                    //alert("요청하신 휴대폰으로 '인증번호'가 발송되었습니다.");
                    f1.sendYN.value = "Y";
                    f1.auth_num.focus();
                }
            });    
                settime(obj); //타이밍
            }
            else {
                $("input[name='mb_hp']").focus();
                return;
            }
        }
        //휴대폰번호인증
        function checkPhone() {
            var phone = $("input[name='mb_hp']").val();
            var pattern = /^1[0-9]{10}$/;
            if (phone.length == 0) {
                alert('휴대폰번호를 입력해주세요.');
               // $.toptip("휴대폰번호를 입력해주세요", 'error');
                return false;
            }
            if (!pattern.test(phone)) {
                alert('휴대폰번호를 정확하게 입력해주세요.');
                //$.toptip("휴대폰격식오류", 'error');
                return false;
            }
            return true;
        }
        var countdown = 60;
        function settime(obj) {
            if (countdown == 0) {
                $(obj).removeAttr("disabled");
                $(obj).text("인증번호받기");
                countdown = 60;
                return;
            } else {
                $(obj).attr("disabled", true);
                $(obj).text(countdown +'s'+'후 재발송');
                countdown--;
            }
            setTimeout(function () {
                settime(obj)
            }, 1000)
        }


function authCheck(){
    var f1 = document.sForm;
    if (f1.sendYN.value=="Y"){
        if (f1.auth_num.value==""){
            alert("'인증번호'를 입력해주세요.");
            f1.auth_num.focus();
        }else{
            $.post("/bbs/ajax_check.php", $("#sForm").serialize(),function(data){
                if (data=="Y"){
                    opener.document.fregisterform.hp_auth.value = "Y";
                    self.close();
                }else{
                    alert("입력하신 '인증번호'가 일치하지 않습니다.");
                }
            });    
        }
    }else{
        alert("'인증번호 발송' 버튼을 클릭해주세요.");
    }
}


    $(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 == "") {
            var msg = reg_mb_hp_check();
            if (msg) {
                alert(msg);
                f.mb_hp.select();
                return false;
            }
        }
        if (f.w.value == "") {
        
            if (f.mb_password.value.length < 3) {
                alert("비밀번호를 3글자 이상 입력하십시오.");
                f.mb_password.focus();
                return false;
            }
        }

        if (f.mb_password.value != f.mb_password_re.value) {
            alert("비밀번호가 같지 않습니다.");
            f.mb_password_re.focus();
            return false;
        }

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


        <?php if($w == '' && $config['cf_cert_use'] && $config['cf_cert_req']) { ?>
        // 본인확인 체크
        if(f.cert_no.value=="") {
            alert("회원가입을 위해서는 본인확인을 해주셔야 합니다.");
            return false;
        }
        <?php } ?>


        // 닉네임 검사
        if ((f.w.value == "") || (f.w.value == "u" && f.mb_nick.defaultValue != f.mb_nick.value)) {
            var msg = reg_mb_nick_check();
            if (msg) {
                alert(msg);
                f.reg_mb_nick.select();
                return false;
            }
        }


        <?php if($w == '' && $config['cf_auth_hp']) { ?>
        // 본인확인 체크
         var nquanju = false;//
            var f1 = document.fregisterform;
            if (f1.sendYN.value=="Y"){
                if (f1.auth_num.value==""){
                    alert("'인증번호'를 입력해주세요.");
                    f1.auth_num.focus();
                    return false;
                }else{
                    $.ajaxSettings.async = false;
                    $.post("/bbs/ajax_check.php", $("#fregisterform").serialize(),function(data){
                        if (data=="Y"){
                             document.fregisterform.hp_auth.value = "Y";
                             nquanju = true;
                            
                        }else{
                             alert("입력하신 '인증번호'가 일치하지 않습니다.");
                             nquanju = false;
                        }
                    });    
                   $.ajaxSettings.async = true;

                }
            }else{
                alert("휴대폰인증을 해주세요..");
                return false;
            }
        <?php } ?>

    //
        if(nquanju) {
             return true;
        }else{
            return false;
        };

        <?php echo chk_captcha_js();  ?>

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

        return true;
    }
    </script>

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

 

 

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

아이디중복체크에서처럼 핸드폰번호도 중복체크를 할수 없는지요?

고수님들 잘 부탁드립니다.

ㅠㅠ밤잠을 샛는데 해결이 안되서요.

이 질문에 댓글 쓰기 :

답변 2

작동여부는 확인안해봤으나 이미 만들어진 기능으로 알고있어요.

 

/bbs/ajax.mb_hp.php 파일에서 

 


//if ($msg = exist_mb_hp($mb_hp, $mb_id)) die($msg);

 

이 부분 주석해제 하면 중복검사 될껍니다.

register_form.skin.php 하단의 스크립트에 아래 코드가 있는데요.이게 환경설정에서 회원가입->휴대폰번호입력 필수입력과 보이기 or 본인인증 사용시 휴대폰번호를 체크합니다. 간단하게 환경설정에서 휴대폰번호입력과 필수입력에 체크하고 저장하시면 register_form_update.php로 넘어가기전에 ajax로 체크해서 알럿이 뜰거구요.

<?php if (($config['cf_use_hp'] || $config['cf_cert_hp']) && $config['cf_req_hp']) {  ?>
// 휴대폰번호 체크
var msg = reg_mb_hp_check();
if (msg) {
    alert(msg);
    f.reg_mb_hp.select();
    return false;
}
<?php } ?>
답변을 작성하시기 전에 로그인 해주세요.
전체 10
QA 내용 검색

회원로그인

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