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

· 2023-07-07 (금) 00:31:48 · 4255 · 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개

감사 합니다.
2023-07-07 (금) 11:55:20
@들레아빠 좋은하루 되세요
감사합니다! 이 코드를 가지고 닉네임을 랜덤하게 부여할수 있겠군요. 배민이나 기타 다른 사이트에서처럼요
2023-07-07 (금) 11:56:15
@minsung 네 조금 더 응용을 하면 가능할 것 같습니다.
배포가 작으시군요.
회원이 1만명이 넘어가면 곤란할겁니다~!!!
100만명을 수용할수 있도록 0을 3개는 더 붙혀야 합니다~!!!
2023-07-07 (금) 21:18:02
@붉은바람 ㅎㅎ 다음과 같이 수정하시면 되지 않을까요?

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

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

단, 중간에 수정을 하시면 아마 오류가 생길 우려가 있으므로 초기에 원하시는 수치로 설정을 하시면 됩니다.
공유 감사드립니다. ^^
2023-07-11 (화) 11:41:45
@marty72 부족한 팁에 관심가져 주셔서 감사합니다
웹메이킹님, 저 같은 초보들에게 큰 힘이 됩니다 ^^
오우 좋은 팁 감사합니다
2023-07-12 (수) 18:37:24
@DawnDew 많이 부족한 팁에 관심가져 주셔서 감사합니다
감사합니다.

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

2024-11-17 (일) 00:17:05

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

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

그누보드5 팁자료실

2,788건
+
제목 글쓴이 날짜 조회
23-07-30 조회 2,902
23-07-28 조회 3,700
23-07-25 조회 5,050
23-07-19 조회 3,714
23-07-12 조회 3,128
23-07-07 조회 4,296
23-07-07 조회 4,256
23-07-06 조회 3,622
23-07-03 조회 4,606
23-07-01 조회 3,542
23-06-30 조회 4,174
23-06-29 조회 5,907
23-06-25 조회 3,248
23-06-22 조회 3,548
23-06-17 조회 3,280
23-06-16 조회 3,789
23-06-12 조회 5,089
23-05-27 조회 4,005
23-05-26 조회 4,221
23-05-26 조회 3,683
23-05-23 조회 4,123
23-05-22 조회 4,696
23-05-22 조회 3,681
23-05-18 조회 4,108
23-05-18 조회 3,370
23-05-17 조회 4,187
23-05-16 조회 5,688
23-05-13 조회 3,549
23-05-12 조회 3,832
23-05-10 조회 3,805