안녕하세여 질문좀할게여

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
안녕하세여 질문좀할게여

QA

안녕하세여 질문좀할게여

본문

이메일인증 이메일입력후 회원가입 누르면 자동으로 이메일이 발송되는데

이메일인증 버튼식으로 인증받고 회원가입 되게 할수 있을까요?

register_form.skin 소스

 


<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">', 0);
add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style_add.css">', 10);
?>
<!-- 회원정보 입력/수정 시작 { -->
<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 } ?>
<?php if ($w == "") { // 회원가입일 경우만 ?>
<?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 }  ?>
<div id="register_form"  class="form_01">   
<div>
<div class="register_form"><h2>회원가입</h2></div>
<ul>
<li>
<label for="reg_mb_id" class="sound_only">아이디<strong>필수</strong></label>
<input style="background-color:#110122; color:#C7C7C7;" type="text" name="mb_id" value="<?php echo $member['mb_id'] ?>" id="reg_mb_id" <?php echo $required ?> <?php echo $readonly ?> class="frm_input half_input <?php echo $required ?> <?php echo $readonly ?> minlength="3" maxlength="20" placeholder="사용하실 아이디"></b>
<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 style="background-color:#110122; color:#C7C7C7;" type="password" name="mb_password" id="reg_mb_password" <?php echo $required ?> class="frm_input half_input <?php echo $required ?>" minlength="3" maxlength="20" placeholder="패스워드">
<span class="frm_info">패스워드 4 ~ 16 글자 이내</span>
<label for="reg_mb_password_re" class="sound_only">비밀번호 확인<strong>필수</strong></label>
<input style="background-color:#110122; color:#C7C7C7;" type="password" name="mb_password_re" id="reg_mb_password_re" <?php echo $required ?> class="frm_input half_input right_input <?php echo $required ?>" minlength="3" maxlength="20" placeholder="패스워드 확인">
<span class="frm_info">패스워드를 한번 더 입력하세요.</span>
</li>
</ul>
</div>
<div class="tbl_frm01 tbl_wrap">
<li></li>
<ul>
<li>
<label for="reg_mb_name" class="sound_only">이름<strong>필수</strong></label>
<input style="background-color:#110122; color:#C7C7C7;" type="text" id="reg_mb_name" name="mb_name" value="<?php echo get_text($member['mb_name']) ?>" <?php echo $required ?> <?php echo $readonly; ?> class="frm_input half_input <?php echo $required ?> <?php echo $readonly ?>" size="10" placeholder="성함">
<?php
if($config['cf_cert_use']) {
if($config['cf_cert_ipin'])
echo '<button type="button" id="win_ipin_cert" class="btn_frmline">아이핀 본인확인</button>'.PHP_EOL;
if($config['cf_cert_hp'])
echo '<button type="button" id="win_hp_cert" class="btn_frmline">휴대폰 본인확인</button>'.PHP_EOL;
echo '<noscript>본인확인을 위해서는 자바스크립트 사용이 가능해야합니다.</noscript>'.PHP_EOL;
}
?>
<?php
if ($config['cf_cert_use'] && $member['mb_certify']) {
if($member['mb_certify'] == 'ipin')
$mb_cert = '아이핀';
else
$mb_cert = '휴대폰';
?>
<div id="msg_certify">
<strong><?php echo $mb_cert; ?> 본인확인</strong><?php if ($member['mb_adult']) { ?> 및 <strong>성인인증</strong><?php } ?> 완료
</div>
<?php } ?>
<?php if ($config['cf_cert_use']) { ?>
<span class="frm_info">아이핀 본인확인 후에는 이름이 자동 입력되고 휴대폰 본인확인 후에는 이름과 휴대폰번호가 자동 입력되어 수동으로 입력할수 없게 됩니다.</span>
<?php } ?>

</li>
<?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 style="background-color:#110122; color:#C7C7C7;" 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  half_input" size="10" maxlength="20" placeholder="닉네임">
<span id="msg_mb_nick"></span>
<span class="frm_info">
공백없이 한글,영문,숫자만 입력 가능 (한글2자, 영문4자 이상)<br>
닉네임을 바꾸시면 앞으로 <?php echo (int)$config['cf_nick_modify'] ?>일 이내에는 변경 할 수 없습니다.
</span>
</li>
<?php }  ?>
<li>
<label for="reg_mb_email" class="sound_only">E-mail<strong>필수</strong></label>
<?php if ($config['cf_use_email_certify']) {  ?>
<span class="frm_info">
<?php if ($w=='') { echo "E-mail 로 발송된 내용을 확인한 후 인증하셔야 회원가입이 완료됩니다."; }  ?>
<?php if ($w=='u') { echo "E-mail 주소를 변경하시면 다시 인증하셔야 합니다."; }  ?>
</span>
<?php }  ?>
<input type="hidden" name="old_email" value="<?php echo $member['mb_email'] ?>">
<input style="background-color:#110122; color:#C7C7C7;" type="text" name="mb_email" value="<?php echo isset($member['mb_email'])?$member['mb_email']:''; ?>" id="reg_mb_email" required class="frm_input email full_input required" size="70" maxlength="100" placeholder="이메일 주소">
</li>
<?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 }  ?>
<li>
<?php if ($config['cf_use_tel']) {  ?>
<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 half_input <?php echo $config['cf_req_tel']?"required":""; ?>" maxlength="20" placeholder="전화번호">
<?php }  ?>
<?php if ($config['cf_use_hp'] || $config['cf_cert_hp']) {  ?>
<label for="reg_mb_hp" class="sound_only">휴대폰번호<?php if ($config['cf_req_hp']) { ?><strong>필수</strong><?php } ?></label>
<input style="background-color:#110122; color:#C7C7C7;" 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 half_input <?php echo ($config['cf_req_hp'])?"required":""; ?>" maxlength="20" placeholder="본인 휴대폰번호">
<span class="frm_info">개발 의뢰시 필요한 정보이오니 휴대폰번호는 필수로 입력 해 주셔야 합니다..</span>
<?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 } ?>
<?php }  ?>
</li>

<?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="5" 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">
<?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>
</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() {
$("#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 < 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;
}
}
// 이름 검사
if (f.w.value=="") {
if (f.mb_name.value.length < 1) {
alert("이름을 입력하십시오.");
f.mb_name.focus();
return false;
}
/*
var pattern = /([^가-힣\x20])/i;
if (pattern.test(f.mb_name.value)) {
alert("이름은 한글로 입력하십시오.");
f.mb_name.select();
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;
}
}
// E-mail 검사
if ((f.w.value == "") || (f.w.value == "u" && f.mb_email.defaultValue != f.mb_email.value)) {
var msg = reg_mb_email_check();
if (msg) {
alert(msg);
f.reg_mb_email.select();
return false;
}
}
<?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 } ?>
if (typeof f.mb_icon != "undefined") {
if (f.mb_icon.value) {
if (!f.mb_icon.value.toLowerCase().match(/.(gif|jpe?g|png)$/i)) {
alert("회원아이콘이 이미지 파일이 아닙니다.");
f.mb_icon.focus();
return false;
}
}
}
if (typeof f.mb_img != "undefined") {
if (f.mb_img.value) {
if (!f.mb_img.value.toLowerCase().match(/.(gif|jpe?g|png)$/i)) {
alert("회원이미지가 이미지 파일이 아닙니다.");
f.mb_img.focus();
return false;
}
}
}
if (typeof(f.mb_recommend) != "undefined" && f.mb_recommend.value) {
if (f.mb_id.value == f.mb_recommend.value) {
alert("본인을 추천할 수 없습니다.");
f.mb_recommend.focus();
return false;
}
var msg = reg_mb_recommend_check();
if (msg) {
alert(msg);
f.mb_recommend.select();
return false;
}
}
<?php echo chk_captcha_js();  ?>
document.getElementById("btn_submit").disabled = "disabled";
return true;
}
</script>
<!-- } 회원정보 입력/수정 끝 -->

 

이 질문에 댓글 쓰기 :

답변 2

예를 들어 다음과 같이 하시면 될 것 같습니다.

회원가입폼의 적당한 위치에 적용


<button type="button" id="send_email_verification">이메일 인증</button>

 

PHPMailer 나 이메일 발송 기능은 그누5에 적용되어 있으니 참고하시면 될것 같습니다.

다음과 같이 스크립트를 수정 및 추가하시면 됩니다.


$(document).ready(function() {
    $("#send_email_verification").click(function() {
        // 사용자 이메일 주소 가져오기
        var email = $("#reg_mb_email").val();

        // 서버에 이메일 주소 전송
        $.ajax({
            type: "POST",
            url: "send_verification_email.php", // 이메일 발송을 처리하는 PHP 스크립트의 경로
            data: { email: email },
            success: function(response) {
                alert("이메일이 발송되었습니다. 이메일을 확인하여 인증해주세요.");
            },
            error: function() {
                alert("이메일 발송 중 오류가 발생했습니다.");
            }
        });
    });
});

메이킹님 그 버튼은 추가 했는데
이메일인증 안눌려도 그냥 회원가입이 눌러지고 메일발송이 자동으로 되네요 ㅠㅠ
그리고
send_verification_email.php 이거를

mailer.lib.php 로 수정해주면 이메일 인증이 갈까요? 해보는데 안가는거같아서요

이메일 인증 버튼 만드시고 그거 클릭하면 특정 페이지 만드셔서

상단에 include 거시고 // 인증메일 발송영역 가져다 쓰시면 되고...
register_form_update.php 에서는 죽이면 됩니다.(죽인다는건 주석처리)

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

회원로그인

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