BOARD

팁·활용

그누보드 소셜 회원가입 시 여분 필드를 이용해 추가 정보를 입력받고 저장하는 방법

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 7회 작성일 26-10-24 15:12

본문

그누보드 소셜 회원가입 시 여분 필드를 이용해 추가 정보를 입력받고 저장하는 방법

그누보드5 운영자와 개발자가 소셜 로그인 회원가입 과정에서 기본 정보 외에 추가 필드를 구성하고 데이터베이스에 정상 반영할 수 있도록 스킨 및 업데이트 파일 수정 방법을 안내합니다.

소셜 회원가입 폼 추가 입력 항목 표시 방법

그누보드 소셜 로그인 시 이메일 외에 여분 필드를 활용하여 추가 정보를 입력받으려면 PC와 모바일 환경의 소셜 회원가입 스킨 파일을 수정해야 합니다.

1. PC용 스킨 파일 수정

  • 파일 경로: skin/social/social_register_member.skin.php
  • 수정 위치: 이메일 입력 부분 아래에 아래 코드를 추가합니다.
<tr>
 <th scope="row"><label for="reg_mb_1">여분필드1</label></th>
 <td><input type="text" name="mb_1" required class="frm_input required" size="70"></td>
</tr>
<tr>
 <th scope="row"><label for="reg_mb_2">여분필드2</label></th>
 <td><input type="text" name="mb_2" required class="frm_input required" size="70"></td>
</tr>

2. 모바일용 스킨 파일 수정

  • 파일 경로: mobile/skin/social/social_register_member.skin.php
  • 수정 방법: PC용 스킨과 동일하게 이메일 입력 부분 아래에 위와 동일한 입력 폼 코드를 추가합니다.

SNS 소셜 회원가입 시 여분 필드 값 저장하기

그누보드5 소셜 로그인 회원가입 시 추가로 입력한 여분 필드 값이 데이터베이스에 누락되지 않고 정상적으로 저장되도록 하려면 plugin/social/register_member_update.php 파일을 수정해야 합니다.

1. 입력값 처리 코드 추가

plugin/social/register_member_update.php 파일에서 전송된 POST 값을 받아 변수에 할당하는 부근에 아래와 같이 여분 필드 항목을 추가합니다.

$mb_1 = trim(strip_tags($_POST['mb_1']));
$mb_2 = trim(strip_tags($_POST['mb_2']));

2. 배열(Array)에 여분 필드 추가

데이터 저장을 위해 정의하는 $data 배열에 여분 필드 항목을 추가합니다.

$data = array(
 'mb_id' => $mb_id,
 'mb_password' => get_encrypt_string($mb_password),
 'mb_nick' => $mb_nick,
 'mb_email' => $mb_email,
 'mb_name' => $mb_name,
 'mb_1' => $mb_1,
 'mb_2' => $mb_2,
);

3. 회원정보 입력 SQL문 수정

실제 회원 데이터를 테이블에 삽입하는 insert into 쿼리문에 mb_1과 mb_2 필드를 추가합니다. 쉼표(,) 구분 및 문장 끝부분 형식을 주의하여 반영합니다.

$sql = " insert into {$g5['member_table']} set mb_id = '{$mb_id}', mb_password = '".get_encrypt_string($mb_password)."', mb_name = '{$mb_name}', mb_nick = '{$mb_nick}', mb_nick_date = '".G5_TIME_YMD."', mb_email = '{$mb_email}', mb_email_certify = '".$mb_email_certify."', mb_today_login = '".G5_TIME_YMDHIS."', mb_datetime = '".G5_TIME_YMDHIS."', mb_ip = '{$_SERVER['REMOTE_ADDR']}', mb_level = '{$config['cf_register_level']}', mb_login_ip = '{$_SERVER['REMOTE_ADDR']}', mb_mailling = '{$mb_mailling}', mb_sms = '0', mb_open = '1', mb_open_date = '".G5_TIME_YMD."', mb_1 = '{$mb_1}', mb_2 = '{$mb_2}' ";

수정 후 소셜 회원가입을 진행하여 값이 데이터베이스에 올바르게 입력되는지 확인합니다.

회원 정보 수정 시 추가 정보가 초기화되지 않도록 하려면, 회원 정보 수정 스킨 파일에도 해당 여분 필드(mb1, mb2 등) 입력 폼을 별도로 추가해야 합니다. 단순히 가입 스킨에만 필드를 추가할 경우, 이후 회원 정보 수정 페이지에서 해당 필드 값이 누락되어 저장되거나 초기화될 수 있으므로 반드시 수정 스킨에도 동일한 입력 항목을 구성해야 합니다.

상황별 판단 및 행동 지침

내 상황우선할 판단다음 행동
SNS 소셜 회원가입 시 이메일 외에 추가 정보를 입력받아야 하는 경우회원 테이블의 기본 여분 필드(mb1, mb2) 활용skin/social/social_register_member.skin.php 및 모바일 스킨 파일에 입력 폼 추가
스킨에 입력 폼을 추가했으나 DB에 값이 저장되지 않는 경우소셜 회원가입 처리 update 파일의 데이터 처리 로직 검토plugin/social/register_member_update.php 파일에서 POST 값 수신, 배열, insert 쿼리에 여분 필드 추가

실전 FAQ

Q. 소셜 회원가입 스킨에 폼을 추가했는데 입력한 값이 저장되지 않습니다.

  • 답변: 스킨 파일(skin/social/social_register_member.skin.php)에 입력 폼을 추가하더라도, 데이터를 받아 처리하는 백엔드 로직인 plugin/social/register_member_update.php 파일에 $mb_1 등의 변수 할당, $data 배열 추가, 그리고 insert into SQL 쿼리문에 여분 필드 항목이 포함되어 있지 않으면 데이터가 저장되지 않습니다. update 파일의 해당 코드를 모두 수정했는지 확인하세요.

Q. PC 스킨만 수정했는데 모바일 환경에서는 추가 필드가 보이지 않습니다.

  • 답변: 그누보드는 PC와 모바일 환경의 스킨 경로가 분리되어 있습니다. 모바일 사용자에게도 추가 폼을 노출하려면 mobile/skin/social/social_register_member.skin.php 파일에도 동일하게 입력 폼 코드를 추가해야 합니다.

함께 보면 좋은 글

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.