그누보드 회원가입 스킨 여분필드 선택값으로 레벨 자동 부여 방법
페이지 정보

본문
그누보드 회원가입 시 운영자가 지정한 여분필드 선택 값에 따라 회원의 등급(레벨)을 자동으로 설정하는 방법을 안내합니다.
그누보드 회원가입 스킨 여분필드 선택값으로 레벨 자동 부여 방법
그누보드5 회원가입 시 사용자가 선택한 여분필드 값에 따라 회원 레벨을 자동으로 지정하려면 회원가입 스킨 파일과 처리 스킨 파일을 수정해야 합니다.
1. 회원가입 스킨 파일 수정 (register_form.skin.php)
회원가입 스킨 폴더 내의 register_form.skin.php 파일에 여분필드를 활용한 선택 항목을 추가합니다. 일반 스킨을 사용하는 경우 skin/member/basic/ 경로를, 테마용 스킨을 사용하는 경우 theme/테마명/skin/member/ 경로를 확인하여 수정해야 합니다.
<tr>
<th scope="row"><label for="mb_1">사용자분류</label></th>
<td>
<input type="radio" name="mb_1" value="3" <?php echo ($member['mb_1'] == "3")? "checked": "";?>> 학생
<input type="radio" name="mb_1" value="5" <?php echo ($member['mb_1'] == "5")? "checked": "";?>> 선생님
</td>
</tr>
- 레벨 설정은 원하는 숫자(
3,5등)로 변경할 수 있습니다.
2. 회원가입 처리 확장 파일 생성 (register_form_update.tail.skin.php)
동일한 스킨 폴더 내에 register_form_update.tail.skin.php 파일을 새로 생성합니다. 기본 스킨에는 이 파일이 없을 수 있으나, 생성해 두면 그누보드5에서 자동으로 불러옵니다.
파일 생성 후 아래 코드를 입력합니다.
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
if ($mb_1) {
sql_query(" update {$g5['member_table']} set mb_level = '$mb_1' where mb_id = '$mb_id' ");
}
?>
- 이 코드는 회원 정보 여분필드 1번(
mb_1) 선택 값이 존재할 경우 해당 값으로 회원 테이블의mb_level을 업데이트합니다.
회원가입 스킨 여분필드 선택값으로 레벨 자동 부여 방법
그누보드5 회원가입 시 여분필드(예: mb_1)의 선택 값에 따라 회원의 레벨을 자동으로 지정하려면, 회원가입 스킨 폴더 내에 데이터베이스 업데이트 처리 파일을 생성해야 합니다.
1. 회원가입 스킨에 여분필드 선택 항목 추가
- 수정 위치:
skin/member/basic/register_form.skin.php파일 (테마를 사용하는 경우theme/테마명/skin/member/폴더) - 설정 내용: 적절한 위치에 아래와 같이 라디오 버튼 등의 선택 항목을 추가합니다. 예시에서는 여분필드
mb_1을 사용하며, 선택 값에 레벨 번호(예:3,5)를 지정합니다.
<tr>
<th scope="row"><label for="mb_1">사용자분류</label></th>
<td>
<input type="radio" name="mb_1" value="3" <?php echo ($member['mb_1'] == "3")? "checked": "";?>> 학생
<input type="radio" name="mb_1" value="5" <?php echo ($member['mb_1'] == "5")? "checked": "";?>> 선생님
</td>
</tr>
2. 회원 레벨 업데이트 파일 생성
- 생성 위치: 회원가입 스킨 폴더와 동일한 폴더에
register_form_update.tail.skin.php파일을 새로 생성합니다. 기본 스킨 폴더에는 이 파일이 없을 수 있으므로 새로 만들어야 합니다. - 파일 내용: 파일 안에 아래 코드를 작성하여 전달된 여분필드 값이 존재할 때
member테이블의mb_level을 해당 값으로 업데이트합니다.
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
if ($mb_1) {
sql_query(" update {$g5['member_table']} set mb_level = '$mb_1' where mb_id = '$mb_id' ");
}
?>
3. 적용 후 확인
- 설정을 마친 후 실제로 회원가입을 진행하여 선택한 값에 따라 데이터베이스 내 회원의 레벨이 올바르게 변경되었는지 확인합니다.
테마를 사용하는 그누보드 환경에서 회원가입 스킨 파일의 올바른 수정 경로는 theme/테마명/skin/member/ 폴더입니다. 일반 스킨을 사용하는 경우의 기본 경로는 skin/member/basic/입니다.
테마를 적용 중이라면 반드시 해당 테마 폴더 내의 스킨 파일을 수정해야 변경 사항이 정상적으로 반영됩니다.
그누보드 회원가입 스킨 여분필드 선택값으로 레벨 자동 부여 방법
회원가입 시 여분 필드의 선택 값(예: 학생, 선생님)에 따라 회원 레벨을 자동으로 지정하려면 회원가입 스킨 파일과 업데이트 처리 파일을 수정해야 한다. 기본적인 여분 필드 사용 방법을 알고 있어야 하며, 테마용 스킨을 사용하는 경우 테마 폴더에 있는 스킨을 수정해야 한다.
1. 회원가입 스킨에 선택 항목 추가
수정할 파일은 register_form.skin.php이다. 일반 스킨 경로는 skin/member/basic/ 폴더이며, 테마용 스킨을 사용 중이라면 테마 폴더에 있는 스킨을 수정한다. 적당한 위치에 여분필드(mb_1)를 이용한 선택 항목 코드를 추가한다.
<tr>
<th scope="row"><label for="mb_1">사용자분류</label></th>
<td>
<input type="radio" name="mb_1" value="3" <?php echo ($member['mb_1'] == "3")? "checked": "";?>> 학생
<input type="radio" name="mb_1" value="5" <?php echo ($member['mb_1'] == "5")? "checked": "";?>> 선생님
</td>
</tr>
레벨 설정은 3, 5 숫자 부분을 원하는 레벨 값으로 변경하여 사용할 수 있다.
2. 회원 레벨 업데이트 파일 생성
register_form.skin.php 파일이 있는 동일한 스킨 폴더 내에 register_form_update.tail.skin.php 파일을 새로 생성한다. 기본 스킨에는 해당 파일이 없을 수 있다. 파일 내부에는 여분필드1번 선택 값이 있을 경우 회원 레벨을 업데이트하는 아래 코드를 작성한다.
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
if ($mb_1) {
sql_query(" update {$g5['member_table']} set mb_level = '$mb_1' where mb_id = '$mb_id' ");
}
?>
상황별 판단 및 행동 지침
| 내 상황 | 우선할 판단 | 다음 행동 |
|---|---|---|
| 일반 스킨(skin/member/basic/) 사용 중 | 기존 파일 구조 유지 확인 | register_form.skin.php에 라디오 버튼 추가 후 동일 폴더에 업데이트 파일 생성 |
| 테마용 스킨 적용 중 | 테마 전용 경로 확인 | theme/테마명/skin/member/ 폴더 내 파일을 수정 및 생성 |
| 파일 생성 후 레벨 변경 누락 | 실행 스킨 경로 및 쿼리 조건 점검 | register_form_update.tail.skin.php 내 mb_1 변수와 SQL문 정상 작동 여부 확인 |
실전 FAQ
Q. registerformupdate.tail.skin.php 파일이 실행되지 않고 그냥 넘어갑니다.
- 답변: 현재 적용 중인 회원가입 스킨의 경로가 잘못 지정되었거나 테마 폴더를 사용 중인데 일반 스킨 경로에 파일을 생성했을 가능성이 높습니다. 관리자 환경설정에서 지정된 정확한 스킨 폴더(
skin/member/또는theme/테마명/skin/member/) 위치에 파일을 생성했는지 다시 확인해야 합니다.
Q. 라디오 버튼 대신 셀렉트박스나 체크박스로 레벨을 부여해도 작동하나요?
- 답변:
name="mb_1"과 전달되는 값(value)만 일치한다면 셀렉트박스 등의 다른 폼 요소로 변경해도 동일하게 동작합니다. 단, 체크박스의 경우 복수 선택 시 값이 배열로 전달되므로register_form_update.tail.skin.php에서 별도의 값 정제 처리가 필요할 수 있습니다.
함께 보면 좋은 글
- 그누보드4 특정 레벨 이상 회원 비밀글 열람 권한 부여 방법
- 그누보드4 게시판 스킨 내 3단계 여분필드 연동 검색 구현 방법
- 그누보드 게시판 댓글 작성 및 수정 페이지에 여분필드 적용하는 방법
참고자료
기타 참고자료
- 이전글그누보드 갤러리 게시판 공지사항 썸네일 출력 방법 26.10.04
- 다음글그누보드 전체 최신글 new.php 목록에 댓글 내용 출력하기 26.10.03
댓글목록
등록된 댓글이 없습니다.