회원가입시 email체크인증[버그수정 정상작동] > 그누3 팁자료실

그누3 팁자료실

회원가입시 email체크인증[버그수정 정상작동] 정보

그누호환 회원가입시 email체크인증[버그수정 정상작동]

본문

//########################################################################################
//##
//##  mbform.skin.php
//##
//#######################################################################################
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
?>

<table cellpadding=0 cellspacing=0 border=0 width=980 align=center>
<tr>
<td valign=bottom>
            <? if ($w == '') { echo "<img src=./images/member/member_title.gif border=0>"; }
              else { echo "<img src=./images/member/member_title1.gif border=0>"; }
            ?>   
        </td>
<td valign=bottom align=right> 홈 > 회원가입 >
            <? if ($w == '') { echo "가입신청"; }
              else { echo "정보수정"; }
            ?>
&nbsp;&nbsp;</td>
</tr>

<tr><td height=5 colspan=3></td></tr>
<tr><td height=1 colspan=3 bgcolor=#efefef></td>
<tr><td height=10 colspan=3></td></tr>


<!-- 왼쪽 -->
<tr><td valign=top>
<? if ($w == '') { echo "<img src=./images/member/mb_l_t02.gif border=0>"; }
  else { echo "<img src=./images/member/166.gif border=0>"; }
?>
</td>

  <!-- 오른쪽 내용 -->
  <td valign=top align=center>

<table width=780 align=center border=0 cellpadding=0 cellspacing=0>
<form name=fmbform method=post action='<?="./?doc=bbs/mbupdate.php"?>' onsubmit='return formcheck(this)' enctype='multipart/form-data' autocomplete=off>
<input type=hidden name=bo_table value='<?=$bo_table?>'>
<input type=hidden name=w        value='<?=$w?>'>
<input type=hidden name=url      value='<?=$urlencode?>'>
<tr>
<td>

<? if ($w == '') { ?>
<table width=100% cellpadding=0 cellspacing=0 border=0>
<tr><td><img src='<?=$member_skin?>/title_provision.gif'></td></tr>
<tr><td height=5></td></tr>
<tr>
<td><textarea cols=126 rows=12 class='textarea' readonly><?=$de_member_provision?></textarea></td>
</tr>
<tr><td><input type='checkbox' name='agree' value='1'> 위의 회원가입약관에 동의합니다.</td></tr>
</table>
<? } ?>

</td>
</tr>

<tr><td height=20></td></tr>

<tr>
<td>

<table width=100% cellpadding=0 cellspacing=0>
<tr><td>
<? if ($w == '') { echo "<img src='./images/member/title_member.gif'>"; }
  else { echo "<img src='./images/member/title_member_edit.gif'>"; }
?>
</td></tr>
<tr><td height=2 bgcolor=#CCCCCC></td></tr>
</table>

</td>
</tr>

<tr>
<td>
<table width=100% cellpadding=7 cellspacing=2>
  <tr>
<td bgcolor=#F7F7F7 width=150>아이디</td>
<td> <input type=text class=input name='mb_id' size=20 value='<?=$mb_id?>' maxlength=20 minlength=3 itemname='아이디' <?= ($w == '') ? 'required alphanumeric' : "readonly style='background-color:#CCCCCC;'";?>>
  <? if ($w == '') { ?>
  <a href='javascript:void(0);' onclick='mb_id_check()'><img src='<?=$member_skin?>/btn_id_check.gif' alt='중복검사' border=0 align=absmiddle></a>
  <? } ?>
</td>
  </tr>
  <tr>
<td colspan=2 height=1 bgcolor=#CCCCCC></td>
  </tr>
  <tr>
<td bgcolor=#F7F7F7>비밀번호</td>
<td><input type=password class=input name='mb_passwd' size=20 maxlength=20 itemname='비밀번호' <?=$mb_passwd_required?>></td>
  </tr>
  <tr>
<td colspan=2 height=1 bgcolor=#CCCCCC></td>
  </tr>
  <tr>
<td bgcolor=#F7F7F7>비밀번호 확인</td>
<td><input type=password class=input name='mb_passwd_re' size=20 maxlength=20 itemname='비밀번호 확인' <?=$mb_passwd_required?>></td>
  </tr>
  <tr>
<td colspan=2 height=1 bgcolor=#CCCCCC></td>
  </tr>
  <tr>
<td bgcolor=#F7F7F7>이름</td>
<td><input type=text class=input name='mb_name' size=20 maxlength=20 minlength=2 itemname='이름' value='<?= ($w == '') ? $_POST[mb_name] : $mb_name;?>' readonly style='background-color:#CCCCCC;'></td>
  </tr>
  <? if ($is_jumin) { ?>
  <tr>
<td colspan=2 height=1 bgcolor=#CCCCCC></td>
  </tr>
  <tr>
<td bgcolor=#F7F7F7>주민등록번호</td>
<td><input type=text class=input name='mb_jumin' size=13 maxlength=13 minlength=13 readonly itemname='주민등록번호' value='<?=$_POST[mb_jumin]?>'></td>
  </tr>
  <? } ?>
  <tr>
<td colspan=2 height=1 bgcolor=#CCCCCC></td>
  </tr>

  <tr>
<td bgcolor=#F7F7F7>비밀번호 분실시 질문</td>
<td><select name=mb_passwd_q_select onchange='this.form.mb_passwd_q.value=this.value' class=select>
<option value=''>선택하십시오.</option>
<?=$option_passwd_q?>
  </select>
  <br> <input type=text class=input name='mb_passwd_q' size=40 required itemname='비밀번호 분실시 질문' value='<?=$mb_passwd_q?>'></td>
  </tr>
  <tr>
<td colspan=2 height=1 bgcolor=#CCCCCC></td>
  </tr>
  <tr>
<td bgcolor=#F7F7F7>비밀번호 분실시 답변</td>
<td><input type=text class=input name='mb_passwd_a' size=40 required itemname='비밀번호 분실시 답변' value='<?=$mb_passwd_a?>'></td>
  </tr>
  <? if ($is_email) { ?>
  <tr>
<td colspan=2 height=1 bgcolor=#CCCCCC></td>
  </tr>
  <tr>
<td bgcolor=#F7F7F7>E-MAIL</td>
<td><input type=text class=input name='mb_email' size=40 maxlength=100 email required itemname='E-MAIL' value='<?=$mb_email?>'></td>
  </tr>
                          <tr>
                            <td colspan=2 height=1 bgcolor=#CCCCCC></td>
                          </tr>
                          <tr>
                            <td bgcolor=#EFEFEF>이메일인증받기</td>
                            <td><input type=text class=input name='mb_email_chk' size=4 maxlength=4>
                                <a href='javascript:emailchk();'>
                                    <font color=red>[인증번호받기]</font></a>
                                 
                            </td>
                          </tr>
  <? } ?>
  <? if ($is_homepage) { ?>
  <tr>
<td colspan=2 height=1 bgcolor=#CCCCCC></td>
  </tr>
  <tr>
<td bgcolor=#F7F7F7>홈페이지</td>
<td><input type=text class=input name='mb_homepage' size=40 maxlength=255 itemname='홈페이지' value='<?=$mb_homepage?>'></td>
  </tr>
  <? } ?>
  <? if ($is_tel) { ?>
  <tr>
<td colspan=2 height=1 bgcolor=#CCCCCC></td>
  </tr>
  <tr>
<td bgcolor=#F7F7F7>전화번호</td>
<td><input type=text class=input name='mb_tel' size=21 maxlength=20 required itemname='전화번호' value='<?=$mb_tel?>'></td>
  </tr>
  <? } ?>
  <? if ($is_hp) { ?>
  <tr>
<td colspan=2 height=1 bgcolor=#CCCCCC></td>
  </tr>
  <tr>
<td bgcolor=#F7F7F7>핸드폰번호</td>
<td><input type=text class=input name='mb_hp' size=21 maxlength=20 itemname='핸드폰번호' value='<?=$mb_hp?>'></td>
  </tr>
                          <tr>
                            <td colspan=2 height=1 bgcolor=#CCCCCC></td>
                          </tr>
                          <tr>
                            <td bgcolor=#EFEFEF>계좌번호</td>
                            <td>   
                                <input name='mb_bank_num' size=21 maxlength=20 itemname='계좌번호' value='<?=$mb_bank_num?>'> ※ -없이 숫자만 입력하세요!
                            </td>           
                          </tr>

  <? } ?>
  <? if ($is_addr) { ?>
  <tr>
<td colspan=2 height=1 bgcolor=#D4CFC3></td>
  </tr>
  <tr>
<td bgcolor=#F7F7F7>우편번호</td>
<td><input type=text class=input name='mb_zip1' size=4 maxlength=3 readonly required itemname='우편번호 앞자리' value='<?=$mb_zip1?>'>
  -
  <input type=text class=input name='mb_zip2' size=4 maxlength=3 readonly required itemname='우편번호 뒷자리' value='<?=$mb_zip2?>'>
  <a href="javascript:popup_zip('fmbform', 'mb_zip1', 'mb_zip2', 'mb_addr1', 'mb_addr2', './bbs', 100, 200);"><img src='<?=$member_skin?>/btn_zip.gif' alt='우편번호검색' border=0 align=absmiddle></a>
</td>
  </tr>
  <tr>
<td colspan=2 height=1 bgcolor=#CCCCCC></td>
  </tr>
  <tr>
<td bgcolor=#F7F7F7>주소</td>
<td><input type=text class=input name='mb_addr1' readonly required style='width:99%' value='<?=$mb_addr1?>'>
  <br> <input type=text class=input name='mb_addr2' size=35 required itemname='상세주소' value='<?=$mb_addr2?>'>
  상세주소 입력</td>
  </tr>
  <? } ?>
  <? if ($is_sex) { ?>
  <tr>
<td colspan=2 height=1 bgcolor=#CCCCCC></td>
  </tr>
  <tr>
<td bgcolor=#F7F7F7>성별</td>
<td> <select name='mb_sex'>
<option value=''>선택하세요
<option value='F'>여자
<option value='M'>남자 </select> </td>
  </tr>
  <script language='javascript'>document.fmbform.mb_sex.value = '<?=$mb_sex?>';</script>
  <? } ?>
  <? if ($is_birth) { ?>
  <tr>
<td colspan=2 height=1 bgcolor=#CCCCCC></td>
  </tr>
  <tr>
<td bgcolor=#F7F7F7>생일</td>
<td> <input type=text class=input name=mb_birth size=9 maxlength=8 value='<?=$mb_birth?>'>
  예) 1972년 9월 1일인 경우 19720901 </td>
  </tr>
  <? } ?>
  <? if ($is_married) { ?>
  <tr>
<td colspan=2 height=1 bgcolor=#CCCCCC></td>
  </tr>
  <tr>
<td bgcolor=#F2F2F2>결혼여부</td>
<td> <select name='mb_married'>
<option value=''>선택하세요
<option value='M'>기혼
<option value='S'>미혼 </select> </td>
  </tr>
  <script language='javascript'>document.fmbform.mb_married.value = '<?=$mb_married?>';</script>
  <? } ?>
  <? if ($is_wedding) { ?>
  <tr>
<td colspan=2 height=1 bgcolor=#CCCCCC></td>
  </tr>
  <tr>
<td bgcolor=#F7F7F7>결혼기념일</td>
<td><input type=text class=input name=mb_wedding size=9 maxlength=8 value='<?=$mb_wedding?>'>
  예) 2002년 5월 2일인 경우 20020502</td>
  </tr>
  <? } ?>
  <? if ($is_signature) { ?>
  <tr>
<td colspan=2 height=1 bgcolor=#CCCCCC></td>
  </tr>
  <tr>
<td bgcolor=#F7F7F7>서명</td>
<td> 자기가 쓴 글하단에 나타나는 내용입니다.<br> <textarea name=mb_signature class=textarea rows=3 style='width:99%;'><?=$mb_signature?></textarea>
</td>
  </tr>
  <? } ?>
  <tr>
<td colspan=2 height=1 bgcolor=#CCCCCC></td>
  </tr>
  <tr>
<td bgcolor=#F7F7F7>자기소개</td>
<td> TEXT 형식, 200자 이내<br> <textarea name=mb_profile class=textarea rows=3 style='width:99%;'><?=$mb_profile?></textarea>
</td>
  </tr>
  <? if ($is_icon) { ?>
  <tr>
<td colspan=2 height=1 bgcolor=#CCCCCC></td>
  </tr>
  <tr>
<td bgcolor=#F7F7F7>회원 아이콘</td>
<td> <input type=file name='mb_icon' size=40 class=input>
  <br>
  이미지 크기는
  <?=$cfg[mb_icon_width]?>
  x
  <?=$cfg[mb_icon_height]?>
  (용량:
  <?=nf($cfg[mb_icon_size])?>
  bytes) 이하로 해주세요. (gif만 가능)
  <? if ($is_icon_exists) { ?>
  <br>
  <img src='<?=$mb_icon?>' align=absmiddle> <input type=checkbox name='del_mb_icon' value='1'>
  삭제
  <? } ?>
</td>
  </tr>
  <? } ?>
  <? if ($is_recommend) { ?>
  <tr>
<td colspan=2 height=1 bgcolor=#CCCCCC></td>
  </tr>
  <tr>
<td bgcolor=#F7F7F7>추천인 아이디</td>
<td><input type=text class=input name=mb_recommend maxlength=20></td>
  </tr>
  <? } ?>
  <tr>
<td colspan=2 height=1 bgcolor=#CCCCCC></td>
  </tr>
  <tr>
<td bgcolor=#F7F7F7>메일링 서비스</td>
<td><input type=checkbox name=mb_mailling value='1' <?=$mb_mailling_checked?>>
  정보 메일을 받겠습니다.</td>
  </tr>
  <tr>
<td colspan=2 height=1 bgcolor=#CCCCCC></td>
  </tr>
  <tr>
<td bgcolor=#F7F7F7>정보 공개</td>
<td><input type=checkbox name=mb_open value='1' <?=$mb_open_checked?>>
  다른분들이 나의 정보를 볼 수 있도록 합니다.</td>
  </tr>
  <? if ($is_norobot) { ?>
  <tr>
<td colspan=2 height=1 bgcolor=#CCCCCC></td>
  </tr>
  <tr>
<td bgcolor=#F7F7F7>
  <?=$norobot_str?>
</td>
<td><input type=input name='wr_key' required itemname='자동등록방지' size=10 class=input>
  왼쪽의 글자중 빨간글자만 순서대로 입력하세요.</td>
  </tr>
  <? } ?>
  <tr>
<td colspan=2 height=1 bgcolor=#CCCCCC></td>
  </tr>
</table>

<p>
<div align=center>
<input type=image src='<?=$member_skin?>/btn_confirm.gif' alt='확인' border=0 align=absmiddle>
</div>
<p>
</form>

</td></tr></table>


</td>
</tr>

<tr><td height=40></td></tr>
</table>

<script language='Javascript'>
    if (document.fmbform.w.value == "") {
        document.fmbform.mb_id.focus();
    } else if (document.fmbform.w.value == "u") {
        document.fmbform.mb_passwd.focus();
    }

    // submit 최종 폼체크
    function formcheck(f)
    {
        if (f.w.value == '' && !f.agree.checked) {
            alert("회원가입약관에 동의하셔야 가입하실 수 있습니다.");
            f.agree.focus();
            return false;
        }

        if (f.mb_passwd.value != f.mb_passwd_re.value) {
            alert("비밀번호가 같지 않습니다.");
            f.mb_passwd.focus();
            return false;
        } else if (typeof(f.mb_jumin1) != 'undefined') {
            var is_jumin = jumin_check(f.mb_jumin1, f.mb_jumin2);
            if (!is_jumin) {
                alert("주민등록번호가 올바르지 않습니다.");
                f.mb_jumin1.focus();
                return false;
            }
        }

        if (typeof(f.mb_sex) != 'undefined') {
            if (f.mb_sex.value == '') {
                alert('성별을 선택하세요.');
                f.mb_sex.focus();
                return false;
            }
        }

        if (typeof(f.mb_married) != 'undefined') {
            if (f.mb_married.value == '') {
                alert('결혼여부를 선택하세요.');
                f.mb_married.focus();
                return false;
            }
        }

        return true;
    }

    // 회원아이디 검사
    function mb_id_check()
    {
        if (document.fmbform.mb_id.value == "") {
            alert('회원 아이디를 입력하세요.');
            document.fmbform.mb_id.focus();
            return false;
        }

        window.open('./?doc=bbs/mbidcheck.php&mb_id='+document.fmbform.mb_id.value, 'mbidcheck', 'left=0,top=10000,width=100,height=100');
    }

    function emailchk()
    {
        var f = document.fmbform;

        if (f.mb_id.value == '') {
            alert('회원 아이디를 입력후 이메일인증번호받기하세요!');
            f.mb_id.focus();
        }

        if (f.mb_email.value == '') {
            alert('이메일 입력후 인증번호받으세요!');
            f.mb_email.focus();
        }

    window.open('./bbs/user_emailcheck.php?mode=memchk&mb_id='+f.mb_id.value+'&email='+ f.mb_email.value, 'email', 'left=50, top=50, width=516, height=400, scrollbars=1');
    }

</script>

//##########################################################
//  bbs/user_emailcheck.php
//##########################################################

<?
if ($mode == 'memchk' && $mb_id != '') {

$emailchk = rand(1111,9999);
    $me_email = "회원가입 e-mail 인증번호는 " . $emailchk . "입니다.";

    include ("/home/계정명/www/gnu3/lib/sql.lib.php");
    include ("/home/계정명/www/gnu3/lib/mailer.lib.php");
    include ("/home/계정명/www/gnu3/config.php");
    include ("/home/계정명/www/gnu3/dbconfig.php");
    $connect = @mysql_connect($cfg[mysql_host], $cfg[mysql_user], $cfg[mysql_pass]);
    $select_db = @mysql_select_db($cfg[mysql_db], $connect);
    if (!$select_db) {
        echo "DB 접속 오류";
        exit;
    }

    $mb = sql_fetch( "SELECT mb_id FROM member_emailchk WHERE mb_id = '$mb_id' ");
   
    if($mb[mb_id]) {

        sql_query(" UPDATE member_emailchk SET emailchk = '$emailchk' WHERE mb_id = '$mb_id' ");

    } else {
        sql_query(" INSERT INTO member_emailchk SET mb_id = '$mb_id', emailchk = '$emailchk' ");
    }

    // 메일발송
    $sendmail_subject  = "회원가입 인증 이메일";
/*
    스킨형식의 <table>및 html작성용...
    ob_start();
    include "email_skin/email_1.skin.php";
    $me_email = ob_get_contents();
    ob_end_clean();
*/
 
    $default = sql_fetch(" select * from $cfg[table_default] ");
    $admin = sql_fetch("select * from $cfg[table_member] where mb_id = '$default[de_admin]'");

    mailer('관리자', $admin[mb_email], $email, $sendmail_subject, $me_email, 1);

}
?>
<script>self.close();</script>

//##############################################
//
//  bbs/mbupdate.php 
//
//  19 line에 추가
//
//##############################################

// 이메일 인증체크
$emailchk = sql_fetch(" SELECT * FROM member_emailchk WHERE mb_id = '$mb_id' ");
if ($mb_email_chk != $emailchk[emailchk] OR $mb_email_chk == '' OR $emailchk[emailchk] == '') {
    alert("이메일 인증번호가 맞지 않습니다. 다시 인증받으세요!");
}


//########################################################################################
//##
//##  member_emailchk.sql
//##  phpMyAdmin사용자용
//#######################################################################################
CREATE TABLE `member_emailchk` (
  `id` int(11) NOT NULL auto_increment,
  `mb_id` varchar(20) NOT NULL default '',
  `emailchk` varchar(4) NOT NULL default '',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;

초보자용 자동 DB추가
//#######################################################
// gnu3/emaildb.php
// 실행은 홈페이지에서 www.???.com/?doc=emaildb.php 이렇게 한번만 실행하세요!
// 그럼 DB추가됩니다. .
//#######################################################
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
define("_DOCTYPE_", "NONE");

$sql ="CREATE TABLE `member_emailchk` (
        `id` int(11) NOT NULL auto_increment,
        `mb_id` varchar(20) NOT NULL default '',
        `emailchk` varchar(4) NOT NULL default '',
          PRIMARY KEY  (`id`)
        ) TYPE=MyISAM AUTO_INCREMENT=1" ;
sql_query($sql);
?>
추천
0

댓글 전체

시시시님 자세한 설명과 좋은소스 감사합니다.
유용하게 잘쓰겠습니다^^

한가지 궁금증
이메일 인증받은후 인증번호를 넣고요.
인증받은메일을 수정후 가입하면 그냥 가입이 됩니다.
예)인증받을땐=*** 개인정보보호를 위한 이메일주소 노출방지 ***

이걸 인증받은 메일이 아니고 다르게 수정하면 가입이안되게는 할수없나요?
즉 인증받을때 메일이어야 가입되게요^^
[먼저쓴리플]
!~.~!고생하셨씀다...덕분에 삽질할려다가..기다리니...님께서...잡아주시는군여..
실험을한주소입니다..
기존폼에다가 이메일부분만 추가해서해봤는데...
정상적으로 작동하고있씀다..
근데..한가지..요상한건..순수하게올려주신팁을해당파일로적용해서 실행을시켜보았는데..
위의리플에서 언급했듯이..
이메일인증을클릭하면..순간적으로 새창이떴다가 사라집니다..정말로눈깜박할사이에~~
물론..기존폼에적용해도..같은현상이납니다..  저만그런가몰라도...
한번 위의 주소에서 실험해보세요
아참~다시한번..감사드립니다..꾸벅~

[지금쓰는리플]
으흠~!@그렇군여...
저는위에떠서 이멜보냈습니다. 확인 닫기이렇게되는게 정상인줄알았는데..지금이정상이군여...
근데..개인적으로 위에떠서 이멜보냈습니다. 확인 닫기이렇게되는게 좋을것같네요.
인증은눌렀는데..보냈는지안보냈는지..휘릭~~~~반짝하는새창만스치면...멍해지자너요...
저처럼...하하하...
쿠쿠쿠 새창떴다가 사라지는것 맞습니다.
새창으로 띄워서 이멜보내기하고 그리고 스스로 닫아지는겁니다.
위에떠서 이멜보냈습니다. 확인 닫기도 할수 있지만 그럴필요성이 없을것 같아서 자동닫기..
아참 기존폼에 이메일 인증부분만 추가하면됩니다. 나머지는 당연히 추가하셔야되구요!
확실하게 체크한 버젼으로 수정버젼입니다.
//##########################################################
//  bbs/user_emailcheck.php
//##########################################################

<?
if ($mode == 'memchk' && $mb_id != '') {

$emailchk = rand(1111,9999);
    $me_email = "회원가입 e-mail 인증번호는 " . $emailchk . "입니다.";

    include ("/home/계정명/www/gnu3/lib/sql.lib.php");
    include ("/home/계정명/www/gnu3/lib/mailer.lib.php");
    include ("/home/계정명/www/gnu3/config.php");
    include ("/home/계정명/www/gnu3/dbconfig.php");
    $connect = @mysql_connect($cfg[mysql_host], $cfg[mysql_user], $cfg[mysql_pass]);
    $select_db = @mysql_select_db($cfg[mysql_db], $connect);
    if (!$select_db) {
        echo "DB 접속 오류";
        exit;
    }

    $mb = sql_fetch( "SELECT mb_id FROM member_emailchk WHERE mb_id = '$mb_id' ");
   
    if($mb[mb_id]) {

        sql_query(" UPDATE member_emailchk SET emailchk = '$emailchk' WHERE mb_id = '$mb_id' ");

    } else {
        sql_query(" INSERT INTO member_emailchk SET mb_id = '$mb_id', emailchk = '$emailchk' ");
    }

    // 메일발송
    $sendmail_subject  = "회원가입 인증 이메일";
/*
    스킨형식의 <table>및 html작성용...
    ob_start();
    include "email_skin/email_1.skin.php";
    $me_email = ob_get_contents();
    ob_end_clean();
*/
 
    $default = sql_fetch(" select * from $cfg[table_default] ");
    $admin = sql_fetch("select * from $cfg[table_member] where mb_id = '$default[de_admin]'");

    mailer('관리자', $admin[mb_email], $email, $sendmail_subject, $me_email, 1);

}
?>
<script>self.close();</script>

//##############################################
//
//  bbs/mbupdate.php 
//
//  19 line에 추가
//
//##############################################

// 이메일 인증체크
$emailchk = sql_fetch(" SELECT * FROM member_emailchk WHERE mb_id = '$mb_id' ");
if ($mb_email_chk != $emailchk[emailchk] OR $mb_email_chk == '' OR $emailchk[emailchk] == '') {
    alert("이메일 인증번호가 맞지 않습니다. 다시 인증받으세요!");
}

완벽하게 체크한 소스입니다.
테스트는 http://ccc.na.ly에서 하실수 있습니다.
지금위의팁을적용하여 잠깐실험을해보니..
팝업창으로 넘어가서 인증번호발송까지는 합니다.
근데..인증번호받기를 클릭했을때 순간적으로 새창이떴다가 사라짐...
해당 이메일로 발송된 발송자를 보면 보낸사람=> 관리자 <*** 개인정보보호를 위한 이메일주소 노출방지 ***>
이렇게 ..근데..보는 바와 같이 해당호스팅사의 주소가나옵니다..
소스를 공개해 주신 ccc님께는 죄송스런 말씀이나...
이메일인증코드를 기입하거나, 기입하지 않거나,
회원가입 폼에 정상적인(만일 *** 개인정보보호를 위한 이메일주소 노출방지 *** 과 같은 형식으로 이메일 형식만 유지한다 하더라도 무사통과) 입력만을
했다면, 이메일 인증코드의 유무와 관계없이, 정상적으로 회원가입이 되어 버리는 문제가 보입니다.
소스코드를 사용해 보신 분들께서는 어떠신지요?
오~~빨강앵두님....오류를 잡으셨다니..감축드립니다..
저보다먼저 삽질을시작했나보군여...하하하
덕분에...삽질거리가하나없어졌어용..감사요...아직은적용해보지않았지만..잘되겠지요??..
흐~*
순간 소스코드를 살펴보니, 오류를 잡았습니다.
mbform.skin.php 파일의 최하단에서 다음과 같이 호출하시기 바랍니다.

window.open('./?doc=bbs/user_emailcheck.php&mode=memchk&mb_id='+f.mb_id.value+'&email='+ f.mb_email.value, 'email', 'left=50, top=50, width=516, height=400, scrollbars=1');
    }

즉, 호출방식은 ?doc으로 그누보드 연동파일임을 명시해 주고,
실행으로 넘어가는 부분을 user_emailcheck.php?mode=memchk가 아니라
user_emailcheck.php&mode=memchk 로 변경해 주시기 바랍니다.
mailer함수를 호출하기 위해서는,
mbform.skin.php 파일의 최하단 부분의 하단 소스코드에서
window.open('./bbs/user_emailcheck.php?mode=memchk&mb_id='+f.mb_id.value+'&email='+ f.mb_email.value, 'email', 'left=50, top=50, width=516, height=400, scrollbars=1');
    }
팝업창을 띄워주는 방식을 ./bbs/user_emailcheck.php 의 방식이 아니라,
이론상으로는 그누보드 연동 파일임을 한정짓기 위해서,
./?doc=bbs/user_emailcheck.php ~ 과 같은 형식으로 기재해야 되는것 같습니다만...
?doc의 형식으로 수정한다 하더라도,
여전히 mailer함수를 호출하지 못하는 문제가 있습니다.
엥....그렇담..경로문제가아닐수도있겠군여//....웅!@@@경로라고단정짓고
오늘은디비까지만 추가해고...질문을통해 ...아직절대경로는입력안해봤기땜에 경로문제라고 단정짓고
다른작업끝나면 찬찬히 할려구했는데..그동안해결책이안나오면..히히..
삽질열심히해봐야겠는걸요...^^;;
말씀하신대로 계정의 절대경로를 입력해봤지만,
오류나신 분들과 마찬가지로 mailer함수를 호출하지 못합니다.
아~ 해결하는 방법이 도대체 뭘까요?
저도 엠클럽 님과 같은 에러가 나오는데요
Fatal error: Call to undefined function: mailer() in /home/my3040/public_html/gnu3/bbs/user_emailcheck.php on line 40

 실제 절대디렉토리를 어디에 적어야 하는지..
그냥디비에다가 테이블생성해서..추가했는데..
음...Fatal error: Call to undefined function: mailer() in /설치루트/bbs/user_emailcheck.php on line 35
요런에러가..살펴보니..해당파일의
mailer('관리자', 'master', $email, $sendmail_subject, $me_email, 1); <<===요부분인데..
따로작업할내용이있는지요??
죄송하지만 위의 소스를 이용하여 '회원탈퇴'도 email 인증을 받을 수 있을까요?
회원들의 실수로 탈퇴버튼을 눌러 재가입 요청이 많아서 입니다.
/home/bod/bbs/user_emailcheck.php 주소는 이게 맞는데요.
gnu3이거대신에 bod를쓴것입니다.
user_emailcheck.php 이것은 bod/bbs/user_emailcheck.php 여기에 있구요.

member_emailchk.sql 이소스를 어떻게 해야되는건가요?
이것을 잘못한것 같은데 어떻게 하는지를 모르겠네요.
계정주소가 틀리신것 같은데요...
user_emailcheck.php를 어디에 두셨나요?
window.open('./bbs/user_emailcheck.php?mode=memchk&mb_id='+f.mb_id.value+'&email='+ f.mb_email.value, 'email', 'left=50, top=50, width=516, height=400, scrollbars=1');
요부분하고 매치를 시켜야겠죠...
말씀하신거라면 주소가..
/home/bod/gnu3/bbs/user_emailcheck.php가 아닌가요?
전체 1,026
그누3 팁자료실 내용 검색

회원로그인

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