회원가입시 닉네임을 자동으로 부여하는 방법 > 그누보드5 팁자료실

그누보드5 팁자료실

회원가입시 닉네임을 자동으로 부여하는 방법 정보

회원가입시 닉네임을 자동으로 부여하는 방법

본문

안녕하세요~

어느 회원분의 요청으로 수정한 팁을 공유해 볼까합니다.

 

회원가입시 닉네임을 자동으로 부여하는 방법입니다.

수정파일 위치

/skin/member/basic/register_form.skin.php

 

<?php if ($req_nick) 의 위치를 찾아 아래의 코드로 수정 (대부분 이름항목 밑에 있습니다)


                <?php if ($req_nick) {
                $mb_nick = isset($member['mb_nick']) ? get_text($member['mb_nick']) : generate_user_nick();
                ?>
                <li>
                    <label for="reg_mb_nick">닉네임</label>
                    <input type="text" name="mb_nick" value="<?php echo $mb_nick; ?>" id="reg_mb_nick" class="frm_input nospace full_input" size="10" maxlength="20" placeholder="닉네임">
                    <span id="msg_mb_nick"></span>
                </li>
                <?php } ?>

 

아래의 코드를 원하는 위치에 추가하시면 됩니다. 보통 상단에 넣거나 보기 편하게 닉네임 부분 밑에 적용하기도 합니다.


                <?php
                function generate_user_nick() {
                    global $g5, $config, $member;
 
                    // 다음 닉네임을 생성합니다.
                    $new_user_num = 1;
 
                    // 그누보드 환경 설정 파일 불러오기
                    include_once('../../../config.php');
 
                    $sql = "SELECT MAX(CAST(SUBSTRING(mb_nick, 5) AS UNSIGNED)) AS max_user_num FROM {$g5['member_table']}";
                    $row = sql_fetch($sql);
 
                    if ($row && $row['max_user_num']) {
                    $new_user_num = $row['max_user_num'] + 1;
                    }
 
                    // 형식에 맞는 닉네임 생성
                    $new_nick = 'user' . str_pad($new_user_num, 4, '0', STR_PAD_LEFT);
 
                    return $new_nick;
                }
                ?>

include_once('./config.php') 부분은 실제 config.php 파일의 위치의 경로로 수정

 

위의 코드에서 include_once('./config.php')를 사용하여 $g5 변수를 함수내에서 전역 변수로 사용할 수 있도록 수정했습니다.

config.php 파일을 인클루드 하는 이유는 $g5변수를 함수내에서 전역 변수로 사용하지 않아서 입니다.

 

이렇게 하면 회원가입시 닉네임 부분에 user0001, 0002 ~~~~ 이런식으로 부여가 되는거죠

닉네임을 회원이 직접 수정하면 자동부여 닉네임의 수치는 변하지 않습니다

 

즉 1번 회원부터 5번 회원까지 자동부여가 되어있고, 6번 회원이 닉네임(불독) 이라고 했을때

7번 회원은 0006 을 부여받게 된다는 얘기입니다.

 

이게 팁이 될지는 모르겠지만 모르고 계시거나 위와 같은 방식으로 해보고 싶다고 하시는 분들을 위해 공유 해봅니다.

 

오늘도 좋은 하루 되세요~^^

추천
6

댓글 13개

배포가 작으시군요.
회원이 1만명이 넘어가면 곤란할겁니다~!!!
100만명을 수용할수 있도록 0을 3개는 더 붙혀야 합니다~!!!
ㅎㅎ 다음과 같이 수정하시면 되지 않을까요?

// 형식에 맞는 닉네임 생성
$new_nick = 'user' . str_pad($new_user_num, 4, '0', STR_PAD_LEFT);

위 부분을 원하시는 부분으로 수정하시면 됩니다
$new_user_num, 4 수치를 6으로 수정한다면 user000000 이렇게 늘어나겠지요?

단, 중간에 수정을 하시면 아마 오류가 생길 우려가 있으므로 초기에 원하시는 수치로 설정을 하시면 됩니다.
전체 2,431 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

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