테스트 사이트 - 개발 중인 베타 버전입니다

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

· 2년 전 · 2274 · 14

안녕하세요~

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

 

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

수정파일 위치

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

 

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

[code]

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

[/code]

 

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

[code]

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

                }

                ?>

[/code]

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

 

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

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

 

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

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

 

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

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

 

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

 

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

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 14개

2년 전
@DawnDew 많이 부족한 팁에 관심가져 주셔서 감사합니다
감사합니다.

선생님 제작하시다가 어디 가셨나요 ? 답변 바랍니다.

11개월 전

// 환경 설정 파일 불러오기
                    include_once $_SERVER['DOCUMENT_ROOT'] . '/config.php';

게시글 목록

번호 제목
21816
21804
21803
21802
21801
21791
21773
21768
21758
21753
21750
21729
21712
21686
21682
21675
21671
21669
21657
21637
21633
21631
21623
21594
21592
21589
21580
21567
21565
21542