안녕하세요~
어느 회원분의 요청으로 수정한 팁을 공유해 볼까합니다.
회원가입시 닉네임을 자동으로 부여하는 방법입니다.
수정파일 위치
/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개
게시글 목록
| 번호 | 제목 |
|---|---|
| 21529 | |
| 21526 | |
| 21521 | |
| 21516 | |
| 21513 | |
| 21502 | |
| 21485 | |
| 21471 | |
| 21467 | |
| 21457 | |
| 21424 | |
| 21421 | |
| 21415 | |
| 21410 | |
| 21406 | |
| 21405 | |
| 21394 | |
| 21378 | |
| 21354 | |
| 21349 | |
| 21345 | |
| 21316 | |
| 21299 | |
| 21297 | |
| 21279 | |
| 21276 | |
| 21254 | |
| 21242 | |
| 21214 | |
| 21206 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기