이메일 가입/로그인 > 그누보드5 팁자료실

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!

그누보드5 팁자료실

이메일 가입/로그인 정보

이메일 가입/로그인

첨부파일

gnu_email_login.zip (61.5K) 64회 다운로드 2015-10-26 15:38:39

본문

8년만에 php다시 보는중 그땐 제로보드 썼었는데... apmsetup이 7까지 올라가다니 후덜임

DB건드리기가 귀찮아서 ID는 uniqid()에서 20자리만 취함(중복되서 오류나면 다시 하겠지..)
처음에 id를 email과 동일하게 늘리고 email을 id에 복사했는데 id를 쓰는 다른테이블도 있는것 같아서 걍 놔둠
로그인할때 get_member_by_email추가해서 처리함

#config_form.php#
<tr>
            <th scope="row"><label for="cf_privacy">개인정보처리방침</label></th>
            <td colspan="3"><textarea id="cf_privacy" name="cf_privacy" rows="10"><?php echo $config['cf_privacy'] ?></textarea></td>
        </tr>
        <!-- BEGIN LOGIN_EMAIL -->
        <tr>
            <th scope="row"><label for="cf_login_email">이메일 로그인</label></th>
            <td colspan="3"><input type="checkbox" name="cf_login_email value="1" id="cf_login_email" <?php echo $config['cf_login_email']?'checked':''; ?>> <label for="cf_login_email">사용</label></td>
        </tr>
        <!-- END  LOGIN_EMAIL  -->

//LOGIN_EMAIL
if(!isset($config['cf_login_email'])) {
sql_query(" ALTER TABLE `{$g5['config_table']}`
ADD `cf_login_email` tinyint(4) NOT NULL DEFAULT '0' AFTER `cf_privacy` ", true);
}

#config_form_update.php#
$sql = " update {$g5['config_table']}
...
cf_privacy = '{$_POST['cf_privacy']}',
cf_login_email = '{$_POST['cf_login_email']}',

#lib/common.lib.php
function get_member($mb_id, $fields='*')
{
...
}

// 이메일로 회원 정보를 얻는다.
function get_member_by_email($mb_id, $fields='*')
{
global $g5;

return sql_fetch(" select $fields from {$g5['member_table']} where mb_email = TRIM('$mb_id') limit 1");
}

#bbs/login_check.php
if(!isset($config['cf_login_email']) || !$config['cf_login_email']) {
$mb = get_member($mb_id);
}
else
$mb = get_member_by_email($mb_id);

#bbs/password_lost2.php
삭제
$content .= '<span style="display:inline-block;width:100px">회원아이디</span> '.$mb['mb_id'].'<br>';

#skin/member/{skinname}/register_form.skin.php
<?php if(isset($config['cf_login_email']) && $config['cf_login_email']) { ?>
        <tr>
            <th scope="row"><label for="reg_mb_email">E-mail<strong class="sound_only">필수</strong></label></th>
            <td>
                <?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 type="text" name="mb_email" value="<?php echo isset($member['mb_email'])?$member['mb_email']:''; ?>"
                id="reg_mb_email" required class="frm_input email required" size="70" maxlength="100"
                onblur="document.fregisterform.mb_id.value = document.fregisterform.mb_email.value">
                <input type="hidden" name="mb_id" value="<?php echo $member['mb_id']?$member['mb_id']:substr(uniqid(), 0, 20); ?>" id="reg_mb_id" <?php echo $required ?> <?php echo $readonly ?> class="frm_input">
            </td>
        </tr>       
<?php }else{ ?>
        <tr>
            <th scope="row"><label for="reg_mb_id">아이디<strong class="sound_only">필수</strong></label></th>
            <td>
                <span class="frm_info">영문자, 숫자, _ 만 입력 가능. 최소 3자이상 입력하세요.</span>
                <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 <?php echo $required ?> <?php echo $readonly ?>" minlength="3" maxlength="20">
                <span id="msg_mb_id"></span>
            </td>
        </tr>       
<?php }?>
...
<?php if(!isset($config['cf_login_email']) || !$config['cf_login_email']) { ?>
        <tr>
            <th scope="row"><label for="reg_mb_email">E-mail<strong class="sound_only">필수</strong></label></th>
            <td>
                <?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 type="text" name="mb_email" value="<?php echo isset($member['mb_email'])?$member['mb_email']:''; ?>" id="reg_mb_email" required class="frm_input email required" size="70" maxlength="100">
            </td>
        </tr>
<?php }  ?>
...
<?php if(!isset($config['cf_login_email']) || !$config['cf_login_email']) { ?>
    // 회원아이디 검사
if (f.w.value == "") {
            var msg = reg_mb_id_check();
            if (msg) {
                alert(msg);
                f.mb_id.select();
                return false;
            }
        }
        <?php } ?>

#bbs/register_form_update.php
if(!isset($config['cf_login_email']) || !$config['cf_login_email']) {
    if ($msg = valid_mb_id($mb_id))        alert($msg, "", true, true);
    }

#skin/member/{skinname}/register_result.skin.php
<?php if(!isset($config['cf_login_email']) || !$config['cf_login_email']) { ?>
        <span>아이디</span>
        <strong><?php echo $mb['mb_id'] ?></strong><br>
<?php } ?>
        <span>이메일 주소</span>
        <strong><?php echo $mb['mb_email'] ?></strong>

#skin/member/{skinname}/login.skin.php //login.php의 로그인
<label for="login_id" class="login_id">회원아이디<strong class="sound_only"> 필수</strong></label>
<input type="text" name="mb_id" id="login_id" required class="frm_input required"
<?php if(isset($config['cf_login_email']) && $config['cf_login_email']) { ?>
echo size='70' maxLength='100'
<?php } else { ?>
echo size='20' maxLength='20'
<?php } ?>
>

#theme/{themename}/skin/outlogin/basic/outlogin.skin.1.php //index.php의 로그인
<input type="text" id="ol_id" name="mb_id" required class="required"
        <?php if(isset($config['cf_login_email']) && $config['cf_login_email']) { ?>
echo maxLength='100'
<?php }else {?>
echo maxLength='20'
<?php } ?>
>
#mobile/skin/member/{skinname}/register_result.skin.php
<?php if(!isset($config['cf_login_email']) || !$config['cf_login_email']) { ?>
        <span>아이디</span>
        <strong><?php echo $mb['mb_id'] ?></strong><br>
    <?php } ?>   

###################MOBILE########################
#mobile/skin/member/{skinname}/register_form.skin.php
<?php if(isset($config['cf_login_email']) && $config['cf_login_email']) { ?>
        <tr>
            <th scope="row"><label for="reg_mb_email">E-mail<strong class="sound_only">필수</strong></label></th>
            <td>
                <?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 type="email" name="mb_email" value="<?php echo isset($member['mb_email'])?$member['mb_email']:''; ?>" id="reg_mb_email" required class="frm_input email required" size="50" maxlength="100">
            <input type="hidden" name="mb_id" value="<?php echo $member['mb_id']?$member['mb_id']:substr(uniqid(), 0, 20); ?>" id="reg_mb_id" <?php echo $required ?> <?php echo $readonly ?> class="frm_input">
            </td>
        </tr>
<?php } else { ?>
<tr>
            <th scope="row"><label for="reg_mb_id">아이디<strong class="sound_only">필수</strong></label></th>
            <td>
                <span class="frm_info">영문자, 숫자, _ 만 입력 가능. 최소 3자이상 입력하세요.</span>
                <input type="text" name="mb_id" value="<?php echo $member['mb_id'] ?>" id="reg_mb_id" class="frm_input <?php echo $required ?> <?php echo $readonly ?>" minlength="3" maxlength="20" <?php echo $required ?> <?php echo $readonly ?>>
                <span id="msg_mb_id"></span>
            </td>
        </tr>
<?php } ?>
...
<?php if(!isset($config['cf_login_email']) || !$config['cf_login_email']) { ?>
        <tr>
            <th scope="row"><label for="reg_mb_email">E-mail<strong class="sound_only">필수</strong></label></th>
            <td>
                <?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 type="email" name="mb_email" value="<?php echo isset($member['mb_email'])?$member['mb_email']:''; ?>" id="reg_mb_email" required class="frm_input email required" size="50" maxlength="100">
            </td>
        </tr>
<?php } ?>
        <?php if ($config['cf_use_homepage']) { ?>

#mobile/skin/member/{skinname}/login.skin.php
<input type="password" name="mb_password" id="login_pw" placeholder="비밀번호(필수)" required class="frm_input required"
        <?php if(isset($config['cf_login_email']) && $config['cf_login_email']) { ?>
echo size='70' maxLength='100'
<?php } else { ?>
echo size='20' maxLength='20'
<?php } ?>

#theme/{themename}/mobile/skin/outlogin/basic/outlogin.skin.1.php //index.php의 로그인
<input type="text" id="ol_id" name="mb_id" required class="required"
        <?php if(isset($config['cf_login_email']) && $config['cf_login_email']) { ?>
echo maxLength='100'
<?php } else { ?>
echo maxLength='20'
<?php } ?>
>
추천
0

댓글 2개

좋은팁 이네요 ㅎㅎ 하지만 좀더 편리하게 bbs/login_check.php 만 손보면 \ 이메일 로그인 / 일반로그인 둘다 사용 가능합니다.  ㅎㅎ
전체 2,456 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

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