BOARD

팁·활용

그누보드 회원가입 시 닉네임 항목 삭제 및 이름으로 대체하기

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 2회 작성일 26-10-10 17:11

본문

그누보드 회원가입 시 닉네임 항목 삭제 및 이름으로 대체하기

그누보드 회원가입 폼에서 닉네임 입력을 없애고 이름(mb_name) 값을 닉네임 대신 사용하도록 프론트엔드 스킨과 백엔드 처리 파일을 수정하는 방법을 안내합니다.

그누보드 회원가입 폼에서 닉네임 입력란 삭제하기

그누보드 기본(basic) 스킨 기준으로 회원가입 폼에서 닉네임 입력 항목과 관련 자바스크립트 검증 코드를 삭제하려면 skin/member/basic/register_form.skin.php 파일을 수정해야 합니다. 테마를 사용하는 경우에는 theme/적용테마/skin/member/basic/register_form.skin.php 파일을 대신 수정합니다.

1. 수정 전 확인 사항

스킨 파일을 수정하기 전에 관리자 페이지의 환경설정 > 기본환경설정 > 회원가입 메뉴에서 현재 적용 중인 회원스킨 경로가 정확한지 확인해야 합니다.

2. 스킨 파일 수정 내용 (register_form.skin.php)

닉네임 수정일 관련 숨김 필드 삭제

파일 내에서 아래 코드를 찾아 삭제합니다.

<?php if (isset($member['mb_nick_date']) && $member['mb_nick_date'] > date("Y-m-d", G5_SERVER_TIME - ($config['cf_nick_modify'] * 86400))) { // 닉네임수정일이 지나지 않았다면?> 
<input type="hidden" name="mb_nick_default" value="<?php echo get_text($member['mb_nick'])?>">
<input type="hidden" name="mb_nick" value="<?php echo get_text($member['mb_nick'])?>">
<?php }?>
닉네임 입력 폼 HTML 영역 삭제

파일 내에서 아래 <tr> 태그 영역을 찾아 삭제합니다.

<?php if ($req_nick) {?> 
<tr> 
 <th scope="row"><label for="reg_mb_nick">닉네임<strong class="sound_only">필수</strong></label></th> 
 <td> 
 <span class="frm_info"> 
 공백없이 한글,영문,숫자만 입력 가능 (한글2자, 영문4자 이상)<br>
 닉네임을 바꾸시면 앞으로 <?php echo (int)$config['cf_nick_modify']?>일 이내에는 변경 할 수 없습니다. 
 </span> 
 <input type="hidden" name="mb_nick_default" value="<?php echo isset($member['mb_nick'])?get_text($member['mb_nick']):'';?>">
 <input type="text" name="mb_nick" value="<?php echo isset($member['mb_nick'])?get_text($member['mb_nick']):'';?>" id="reg_mb_nick" required class="frm_input required nospace" size="10" maxlength="20">
 <span id="msg_mb_nick"></span> 
 </td> 
</tr> 
<?php }?>
하단 자바스크립트 닉네임 검사 부분 삭제

파일 하단 스크립트 영역에서 닉네임 검사 로직을 찾아 삭제합니다.

// 닉네임 검사
if ((f.w.value == "") || (f.w.value == "u" && f.mb_nick.defaultValue!= f.mb_nick.value)) {
 var msg = reg_mb_nick_check();
 if (msg) {
 alert(msg);
 f.reg_mb_nick.select();
 return false;
 }
}

3. 다음 행동

화면(HTML 및 JS)만 삭제하면 서버 측 처리 과정에서 필수 입력값 누락이나 검증 오류가 발생할 수 있으므로, 서버 측 처리 파일(bbs/register_form_update.php)에서 닉네임 변수에 이름 값을 할당하고 세션 및 중복 검사 코드를 함께 정리해야 합니다.

회원정보 처리 파일에서 닉네임 변수 대체 및 검증 해제 방법

그누보드 회원가입 폼에서 닉네임 입력 항목을 삭제한 후, 서버 측 처리 파일인 bbs/register_form_update.php에서 이름(mb_name) 값을 닉네임 변수($mb_nick)에 할당하고 관련 세션 및 중복 검증 로직을 해제하려면 다음 단계를 진행합니다.

1. 닉네임 변수에 이름 값 할당하기

bbs/register_form_update.php 파일에서 닉네임 값을 처리하는 부분을 찾아 이름(mb_name) 입력값으로 대체합니다.

  • 기존 코드 형태 예시:
    $mb_nick = trim($_POST['mb_nick']);
    // 또는 최근 버전 형태
    $mb_nick = isset($_POST['mb_nick'])? trim($_POST['mb_nick']): '';
  • 수정할 코드:
    $mb_nick = isset($_POST['mb_name'])? trim($_POST['mb_name']): '';
    두 군데 이상 존재할 수 있으므로 관련 구문을 모두 수정합니다.

2. 세션 체크 부분 수정하기

회원가입 정보 검증 시 닉네임 세션값이 일치하는지 확인하는 조건을 수정하거나 삭제합니다.

  • 수정 위치:
    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_nick', '');

3. 닉네임 중복 검사 제거하기

서버 측에서 기존 닉네임의 중복 여부를 체크하여 오류를 발생시키는 함수 호출부를 주석 처리하거나 삭제합니다.

  • 수정 위치:
    // if ($msg = exist_mb_nick($mb_nick, $mb_id)) alert($msg, "", true, true);

그누보드 회원가입 닉네임 항목 삭제 및 이름 대체 방법

그누보드 회원가입 폼에서 닉네임 입력 항목을 없애고, 입력된 이름(mb_name)을 닉네임(mb_nick) 값으로 대신 사용하도록 설정하려면 스킨 파일과 백엔드 처리 파일을 함께 수정해야 합니다.

1. 회원가입 스킨 파일 수정

skin/member/basic/register_form.skin.php (테마를 사용하는 경우 theme/적용테마/skin/member/basic/register_form.skin.php) 파일에서 닉네임 관련 코드와 자바스크립트 검증 부분을 삭제합니다.

  • 닉네임 수정일 체크 및 hidden 필드 삭제
<?php if (isset($member['mb_nick_date']) && $member['mb_nick_date'] > date("Y-m-d", G5_SERVER_TIME - ($config['cf_nick_modify'] * 86400))) { // 닉네임수정일이 지나지 않았다면?> 
<input type="hidden" name="mb_nick_default" value="<?php echo get_text($member['mb_nick'])?>">
<input type="hidden" name="mb_nick" value="<?php echo get_text($member['mb_nick'])?>">
<?php }?>
  • 닉네임 입력 폼 HTML 삭제
<?php if ($req_nick) {?> 
<tr> 
<th scope="row"><label for="reg_mb_nick">닉네임<strong class="sound_only">필수</strong></label></th> 
<td> 
<span class="frm_info"> 공백없이 한글,영문,숫자만 입력 가능 (한글2자, 영문4자 이상)<br>
닉네임을 바꾸시면 앞으로 <?php echo (int)$config['cf_nick_modify']?>일 이내에는 변경 할 수 없습니다. </span> 
<input type="hidden" name="mb_nick_default" value="<?php echo isset($member['mb_nick'])?get_text($member['mb_nick']):'';?>">
<input type="text" name="mb_nick" value="<?php echo isset($member['mb_nick'])?get_text($member['mb_nick']):'';?>" id="reg_mb_nick" required class="frm_input required nospace" size="10" maxlength="20">
<span id="msg_mb_nick"></span> 
</td> 
</tr> 
<?php }?>
  • 하단 스크립트 중 닉네임 검사 부분 삭제
// 닉네임 검사
if ((f.w.value == "") || (f.w.value == "u" && f.mb_nick.defaultValue!= f.mb_nick.value)) {
 var msg = reg_mb_nick_check();
 if (msg) {
 alert(msg);
 f.reg_mb_nick.select();
 return false;
 }
}

2. 회원정보 처리 파일 수정

bbs/register_form_update.php 파일을 수정하여 닉네임 변수에 이름 값을 할당하고 세션 및 중복 검증 로직을 제거합니다.

  • 닉네임 변수에 이름 값 대입아래 코드를 찾아 변경합니다.
    $mb_nick = trim($_POST['mb_nick']);
    최근 버전의 경우 두 군데 모두 아래와 같이 수정합니다.
    $mb_nick = isset($_POST['mb_name'])? trim($_POST['mb_name']): '';
  • 세션 체크 코드 수정아래 내용을 찾아 빨간색 부분(또는 닉네임 세션 비교/설정 부분)을 삭제합니다.
    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_nick', '');
  • 닉네임 중복 검사 제거아래 코드를 찾아 주석 처리하거나 삭제합니다.
    // if ($msg = exist_mb_nick($mb_nick, $mb_id)) alert($msg, "", true, true);

3. 적용 후 확인 사항

  • 스킨 수정 후 변경 사항이 반영되지 않는다면 관리자 페이지의 환경설정 > 기본환경설정 > 회원가입 메뉴에서 현재 적용 중인 회원스킨 경로가 올바른지 확인합니다.
  • 가입 과정에서 닉네임 관련 오류나 DB 저장 문제가 발생한다면 서버 측 처리 파일(register_form_update.php)에서 필수 입력값 누락이나 세션 검증 코드가 완전히 제거되었는지 재확인합니다.

상황별 적용 가이드

내 상황우선할 판단다음 행동
그누보드 회원가입 폼에서 닉네임 입력 항목을 없애고 싶음화면(HTML/JS)과 서버 측 처리 로직을 동시에 수정해야 함skin/member/basic/register_form.skin.php의 닉네임 입력 폼 및 검사 코드를 삭제하고, bbs/register_form_update.php에서 $mb_nick에 $_POST['mb_name'] 값을 할당하도록 수정
코드를 수정했으나 회원가입 시 DB에 정보가 저장되지 않음서버 측 업데이트 파일에서 필드 처리 누락 여부 확인register_form_update.php 파일 내 세션 검증 코드(ss_check_mb_nick) 및 exist_mb_nick 중복 검사 코드가 올바르게 제거·주석 처리되었는지 재확인

실전 FAQ

Q. 스킨 파일에서 닉네임 입력란만 지우고 회원가입을 시도했더니 오류가 납니다.

  • 예외 및 대안: 프론트엔드 HTML 폼만 삭제하면 서버 측 처리 파일(bbs/register_form_update.php)에서 필수 입력값 누락이나 닉네임 중복 검증 오류를 발생시킵니다. 반드시 백엔드 파일에서 $mb_nick에 이름을 대입하고 중복 검사 함수를 제거해야 합니다.

Q. 최신 그누보드 버전에서도 동일한 코드를 수정하면 되나요?

  • 적용 범위: 그누보드 기본(basic) 스킨 구조를 기반으로 하며, 최신 버전의 경우 $mb_nick 변수 할당 구문이 다를 수 있습니다. 파일 내에서 trim($_POST['mb_nick']) 또는 isset($_POST['mb_nick']) 형태의 코드를 모두 찾아 $_POST['mb_name']으로 변경해야 합니다.

함께 보면 좋은 글

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.