BOARD

팁·활용

그누보드 5 회원가입 이메일 필수 입력 해제 및 검증 오류 해결 방법

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 5회 작성일 26-10-16 15:40

본문

그누보드 5 회원가입 이메일 필수 입력 해제 및 검증 오류 해결 방법

그누보드 5 회원가입 시 이메일 주소 입력을 필수가 아니도록 해제할 때 프론트엔드 스킨과 백엔드 처리 파일에서 수정해야 할 구체적인 위치와 중복 체크 오류 해결 방법을 안내합니다.

회원가입 스킨 파일(register_form.skin.php) 수정 방법

그누보드 5 회원가입 시 이메일 주소 입력을 필수가 아니도록 해제하려면 프론트엔드 스킨 파일에서 필수 속성과 자바스크립트 검사 코드를 수정해야 합니다.

1. required 속성 제거

skin/member/basic/register_form.skin.php 파일에서 이메일 입력 필드를 찾아 required 속성과 클래스를 삭제합니다.

<!-- 수정 전 -->
<input type="text" name="mb_email" value="<?php echo isset($member['mb_email'])?$member['mb_email']:'';?>" id="reg_mb_email" required class="frm_input email full_input required" size="70" maxlength="100" placeholder="E-mail">

<!-- 수정 후 -->
<input type="text" name="mb_email" value="<?php echo isset($member['mb_email'])?$member['mb_email']:'';?>" id="reg_mb_email" class="frm_input email full_input" size="70" maxlength="100" placeholder="E-mail">

2. 이메일 검사 자바스크립트 주석 처리

동일한 skin/member/basic/register_form.skin.php 파일 하단의 자바스크립트 영역에서 이메일 검사 로직을 찾아 삭제하거나 주석 처리합니다.

// E-mail 검사
/*
if ((f.w.value == "") || (f.w.value == "u" && f.mb_email.defaultValue!= f.mb_email.value)) {
 var msg = reg_mb_email_check();
 if (msg) {
 alert(msg);
 f.reg_mb_email.select();
 return false;
 }
}
*/

백엔드 처리 파일에서 이메일 관련 검증 함수 주석 처리 방법

그누보드 회원가입 시 이메일 필수 입력을 해제한 후, 백엔드 처리 파일인 bbs/register_form_update.php에서 이메일 입력값 검증 및 중복 체크로 인해 발생하는 오류('메일은 사용할 수 없습니다' 등)를 방지하려면 해당 파일 내의 검증 함수 호출 코드를 주석 처리해야 합니다.

수정 위치 및 대상 코드

  1. 대상 파일: bbs/register_form_update.php
  2. 주석 처리할 내용: 이메일 필수 여부, 형식, 금지어 및 중복 여부를 검사하는 함수 호출 부문
// if ($msg = empty_mb_email($mb_email)) alert($msg, "", true, true);
// if ($msg = valid_mb_email($mb_email)) alert($msg, "", true, true);
// if ($msg = prohibit_mb_email($mb_email)) alert($msg, "", true, true);
// if ($msg = exist_mb_email($mb_email, $mb_id)) alert($msg, "", true, true);

최신 버전 등을 포함하여 이메일 중복 체크 에러(exist_mb_email)나 형식 에러가 계속 발생할 경우, 위 코드 중 해당하는 검증 함수 호출 행을 주석 처리하거나 제거해야 서버에서 에러를 반환하지 않습니다.

이메일 필수 입력 해제 및 세션 체크 오류 해결 방법

그누보드 5에서 회원가입 시 이메일 필수 입력을 해제한 뒤 ss_check_mb_email 세션 체크 코드로 인해 "올바른 방법으로 이용해 주십시오." 등의 가입 오류가 발생할 때 해결하는 방법입니다.

1. bbs/register_form_update.php 세션 검증 코드 수정

이메일 필수를 해제하면 가입 과정에서 이메일 세션 값이 전달되지 않아 세션 불일치 오류가 발생할 수 있습니다. 해당 파일에서 이메일 세션 체크 부분을 수정하거나 제거해야 합니다.

  • 수정 위치: bbs/register_form_update.php 파일 내부
  • 확인할 코드:
    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) {
  • 다음 조치: 이메일 세션 비교 조건인 || get_session('ss_check_mb_email')!= $mb_email 부분을 아래와 같이 제외하도록 수정합니다.
    if (get_session('ss_check_mb_id')!= $mb_id || get_session('ss_check_mb_nick')!= $mb_nick) {

2. 연관된 이메일 검증 함수 주석 처리

세션 체크 외에도 bbs/register_form_update.php 파일에 남아있는 이메일 검증 함수들이 중복 에러나 필수 입력 에러를 유발할 수 있으므로 함께 처리해야 합니다.

  • 주석 처리 대상 함수:
    • empty_mb_email
    • valid_mb_email
    • prohibit_mb_email
    • exist_mb_email
  • 적용 방법: 해당 함수 호출 코드 앞에 주석 기호(//)를 추가하여 실행되지 않도록 처리합니다.
    // if ($msg = empty_mb_email($mb_email)) alert($msg, "", true, true);
    // if ($msg = valid_mb_email($mb_email)) alert($msg, "", true, true);
    // if ($msg = prohibit_mb_email($mb_email)) alert($msg, "", true, true);
    // if ($msg = exist_mb_email($mb_email, $mb_id)) alert($msg, "", true, true);

그누보드 이메일 필수 입력 해제 및 검증 오류 해결 가이드

회원가입 시 이메일 입력을 필수가 아니도록 해제하려면 프론트엔드 스킨과 백엔드 처리 파일을 모두 수정해야 합니다. 한쪽만 수정할 경우 서버 검증 로직과의 충돌로 인해 가입 오류가 발생합니다.

상황별 선택 기준

  • 입력 폼 수정: 사용자가 이메일을 입력하지 않아도 가입 버튼을 누를 수 있게 하려면 스킨 파일의 required 속성을 제거해야 합니다.
  • 서버 검증 오류 해결: 가입 시 "메일은 사용할 수 없습니다" 또는 "올바른 방법으로 이용해 주십시오"라는 경고창이 뜬다면, 백엔드 파일에서 이메일 관련 검증 함수와 세션 체크 조건을 수정해야 합니다.

다음 행동

  1. 스킨 수정: skin/member/basic/register_form.skin.php에서 mb_email 입력 태그의 required 속성을 삭제하고, 하단의 E-mail 검사 자바스크립트 코드를 주석 처리합니다.
  2. 백엔드 검증 해제: bbs/register_form_update.php에서 empty_mb_email, valid_mb_email, prohibit_mb_email, exist_mb_email 함수 호출 코드를 찾아 주석 처리합니다.
  3. 세션 오류 해결: 최신 버전에서 가입 시 세션 불일치 오류가 발생하면, bbs/register_form_update.php 내 get_session('ss_check_mb_email')!= $mb_email 조건문을 삭제하거나 수정하여 이메일 세션 비교를 제외합니다.

실전 FAQ

Q. 스킨과 백엔드 파일을 모두 수정했는데도 "메일은 사용할 수 없습니다" 에러가 발생합니다.

  • 예외 및 대안: bbs/register_form_update.php 외에도 lib/register.lib.php에 정의된 검증 함수가 호출되고 있을 수 있습니다. 해당 파일의 exist_mb_email 함수 상단에 return "";를 추가하여 검증을 강제로 우회할 수 있습니다.

Q. 이메일 필수 해제 후 "올바른 방법으로 이용해 주십시오." 경고창이 뜹니다.

  • 막히는 지점: 가입 폼 전송 시 서버는 아이디, 닉네임, 이메일의 세션 값이 일치하는지 검증합니다. 이메일 필드를 비우면 세션 체크 조건(get_session('ss_check_mb_email')!= $mb_email)과 충돌이 발생합니다.
  • 대안: bbs/register_form_update.php 파일에서 해당 세션 비교 조건문을 찾아 || get_session('ss_check_mb_email')!= $mb_email 부분을 삭제하십시오.

함께 보면 좋은 글

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.