회원 아이디를 이메일 주소로 가입 및 로그인 > 그누보드 팁

본문 바로가기
전체검색

아이디비번찾기

그누보드 팁

그누보드 영카트 초보 사용자를 위한 기본 매뉴얼, 스킨 제작 기초강좌를 공유합니다.

회원 아이디를 이메일 주소로 가입 및 로그인

페이지 정보

작성자 관리자 작성일18-03-21 15:04 조회160회

본문

회원 가입할 때 아이디를 이메일 주소로 사용하는 방법입니다.

로그인할 때도 이메일 주소를 입력해서 로그인할 수 있습니다.



1. 스킨 파일 수정


skin/member/basic/register_form.skin.php 파일 수정

(모바일 페이지도 사용 중이라면 모바일 스킨도 별도로 수정)


 

1-1.

안내 문구 및 아이디 글자수 제한을 이메일 길이에 맞게 적당히 수정

minlength = 최소 글자수, maxlength = 최대 글자수


<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">
 

1-2. 

이메일 입력 부분 삭제


<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>

1-3. 

같은 파일 하단 스크립트에서 이메일 검사 부분 삭제


// 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;
    }
}


2. bbs/register_form_update.php 파일 수정


2-1.


$mb_email       = trim($_POST['mb_email']);

여기를 이렇게 수정

$mb_email       = trim($_POST['mb_id']);

2-2.

아래 내용 주석 처리


// if ($msg = empty_mb_email($mb_email))   alert($msg, "", true, true);
// if ($msg = valid_mb_email($mb_email))   alert($msg, "", true, true);
// if ($msg = prohibit_mb_email($mb_email))alert($msg, "", true, true);
 

2-3.

아래 내용에서 빨간색 부분 삭제


if (get_session('ss_check_mb_id') != $mb_id || get_session('ss_check_mb_nick') != $mb_nick || get_session('ss_check_mb_email') != $mb_email) {
    set_session('ss_check_mb_id', '');
    set_session('ss_check_mb_nick', '');
    set_session('ss_check_mb_email', '');
    alert('올바른 방법으로 이용해 주십시오.');
}
 

수정하면 이렇게 되겠죠


if (get_session('ss_check_mb_id') != $mb_id || get_session('ss_check_mb_nick') != $mb_nick) {
    set_session('ss_check_mb_id', '');
    set_session('ss_check_mb_nick', '');
    alert('올바른 방법으로 이용해 주십시오.');
}
 


3. lib/register.lib.php 파일 수정


function valid_mb_id($reg_mb_id)
{
    if (preg_match("/[^0-9a-z_]+/i", $reg_mb_id))
        return "회원아이디는 영문자, 숫자, _ 만 입력하세요.";
    else
        return "";
}
 

위 내용을 이렇게 변경


function valid_mb_id($reg_mb_id)
{
    if (!preg_match("/([0-9a-zA-Z_-]+)@([0-9a-zA-Z_-]+)\.([0-9a-zA-Z_-]+)/", $reg_mb_id))
        return "아이디는 이메일 주소로 사용합니다.\n이메일 주소를 올바르게 입력해 주십시오.";
    else
        return "";
}
 


4. js/jquery.register_form.js 파일 수정


아이디 체크 부분에서 빨간색 부분 삭제하거나 주석 처리하고 바로 윗줄 추가


"reg_mb_id": $("#reg_mb_id").val() // 추가됨
// "reg_mb_id": encodeURIComponent($("#reg_mb_id").val())
 


5. g5_member 테이블에서 mb_id 필드 타입 변경


b9fb32b983794bbd41e213b9aa93360b_1521615544_5344.gif


기본 값이 짧아서 이메일 입력 용도에는 맞지 않을 겁니다.

varchar(255) 정도로 변경하세요.

부렁님의 댓글

부렁

팁으로 올려주셔서 감사합니다.
그런데 다 적용하고 테스트 해보니 bbs/register_form_update.php 에서

if(!$mb_id)
    alert('회원아이디 값이 없습니다. 올바른 방법으로 이용해 주십시오.');

이 부분이 뜨더라고요.
이메일 값을 mb_id에 저장했으니 주석/삭제 처리하기도 그렇고 뭔가 조금 잘못된 것 같은데 어떻게 해야할까요?

관리자님의 댓글

관리자 댓글의 댓글

여러 번 다시 해봤지만 문제없이 잘 됩니다. 수정을 잘 못 하신 것 같습니다.

부렁님의 댓글

부렁 댓글의 댓글

집념으로 찾아냈습니다 -_-ㅋ
그리고 계정분실(password_lost, password_lost2) 관련해서 기존 email로 되어있던데 수정이 필요하지 않을까요?

관리자님의 댓글

관리자 댓글의 댓글

해당 부분과는 관련이 없습니다. 이메일 필드에도 이메일 주소는 그대로 저장됩니다.

로그인 후 댓글을 남겨주세요.
그누보드 팁 목록
번호 제목
공지 그누보드 팁 자료실 공지사항
90 로그인 로그아웃했을 때 특정 페이지로 이동
89 메뉴 설정 회원 레벨별로 다르게 출력하기
88 관리자 페이지 메뉴 추가하는 방법
87 게시판 조회수 새로고침 할 때마다 증가시키는 방법
86 인기 검색어 DB에 저장하지 않기
열람중 회원 아이디를 이메일 주소로 가입 및 로그인 댓글4
84 특정 게시판에서 이미지 파일만 업로드 허용하기
83 총 게시물수, 코멘트수 출력하기
82 게시판 관리자가 본인보다 레벨이 높은 회원이 작성한 글 관리
81 분류명에 특수문자는 사용할 수 없습니다.
80 네아로 네이버 소셜 로그인 도메인 www 유무에 따라 안 되는 현상
79 네아로 네이버 소셜 로그인을 사용할 때 접속 해제하는 방법
78 최고관리자,게시판관리자 여러명 추가하기
77 테스트 회원 아이디를 제공할 때 회원 정보 수정 금지
76 아이코드 문자 발신번호 등록하는 방법
75 Warning: Unknown: write failed: Disk quota exceeded 그누보드 사용 …
74 소셜 로그인 그누보드 5.3버전에 있는 것을 5.2버전에 추가하기 댓글2
73 사이트에 숨김 처리된 스팸 광고 글이 있는지 확인하는 방법
72 광고 스팸성 글을 안 보이게 숨겨서 올리는 것 필터링
71 게시판 글 제목이나 내용에서 단어 필터링 관리자는 예외 시키기
70 인덱스(index) 페이지에 특정 게시판을 직접 출력하기 댓글4
69 모바일과 PC 테마 각각 다른 테마를 사용해서 적용하기
68 게시판에 글 등록시 발송되는 메일 제목 또는 내용 수정하기
67 비밀글로 작성된 글을 읽을 때 무조건 패스워드 입력받기
게시물 검색


그누스터디는 그누보드, 영카트 초보 사용자를 위한 정보를 공유합니다.

Copyright © GNUSTUDY. All rights reserved.
상단으로