답변 2개
채택된 답변
+20 포인트
9년 전
그누보드 커스텀 안된 것을 기준으로 설명을 드리겠습니다.
회원가입파일 스킨 폴더의 register_form.skin.php 파일
Copy
<tr> <th scope="row"><label for="reg_mb_name">이름<strong class="sound_only">필수</strong></label></th> <td> <?php if ($config['cf_cert_use']) { ?> <span class="frm_info">아이핀 본인확인 후에는 이름이 자동 입력되고 휴대폰 본인확인 후에는 이름과 휴대폰번호가 자동 입력되어 수동으로 입력할수 없게 됩니다.</span> <?php } ?> <input type="text" id="reg_mb_name" name="mb_name" value="<?php echo $member['mb_name'] ?>" <?php echo $required ?> <?php echo $readonly; ?> class="frm_input <?php echo $required ?> <?php echo $readonly ?>" size="10"> <?php if($config['cf_cert_use']) { if($config['cf_cert_ipin']) echo '<button type="button" id="win_ipin_cert" class="btn_frmline">아이핀 본인확인</button>'.PHP_EOL; if($config['cf_cert_hp']) echo '<button type="button" id="win_hp_cert" class="btn_frmline">휴대폰 본인확인</button>'.PHP_EOL; echo '<noscript>본인확인을 위해서는 자바스크립트 사용이 가능해야합니다.</noscript>'.PHP_EOL; } ?> <?php if ($config['cf_cert_use'] && $member['mb_certify']) { if($member['mb_certify'] == 'ipin') $mb_cert = '아이핀'; else $mb_cert = '휴대폰'; ?> <div id="msg_certify"> <strong><?php echo $mb_cert; ?> 본인확인</strong><?php if ($member['mb_adult']) { ?> 및 <strong>성인인증</strong><?php } ?> 완료 </div> <?php } ?> </td> </tr>
여기서 이름 입력 부분을 아에 주석 처리, 혹은 제거해 줍니다.
그 다음 아래의 스크립트 부분
Copy
// submit 최종 폼체크 function fregisterform_submit(f) { // 회원아이디 검사 if (f.w.value == "") { var msg = reg_mb_id_check(); if (msg) { alert(msg); f.mb_id.select(); return false; } } if (f.w.value == "") { if (f.mb_password.value.length < 3) { alert("비밀번호를 3글자 이상 입력하십시오."); f.mb_password.focus(); return false; } } if (f.mb_password.value != f.mb_password_re.value) { alert("비밀번호가 같지 않습니다."); f.mb_password_re.focus(); return false; } if (f.mb_password.value.length > 0) { if (f.mb_password_re.value.length < 3) { alert("비밀번호를 3글자 이상 입력하십시오."); f.mb_password_re.focus(); return false; } } // 이름 검사 if (f.w.value=="") { if (f.mb_name.value.length < 1) { alert("이름을 입력하십시오."); f.mb_name.focus(); return false; } /* var pattern = /([^가-힣\x20])/i; if (pattern.test(f.mb_name.value)) { alert("이름은 한글로 입력하십시오."); f.mb_name.select(); return false; } */ } <?php if($w == '' && $config['cf_cert_use'] && $config['cf_cert_req']) { ?> // 본인확인 체크 if(f.cert_no.value=="") { alert("회원가입을 위해서는 본인확인을 해주셔야 합니다."); return false; } <?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; } } // 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; } } <?php if (($config['cf_use_hp'] || $config['cf_cert_hp']) && $config['cf_req_hp']) { ?> // 휴대폰번호 체크 var msg = reg_mb_hp_check(); if (msg) { alert(msg); f.reg_mb_hp.select(); return false; } <?php } ?> if (typeof f.mb_icon != "undefined") { if (f.mb_icon.value) { if (!f.mb_icon.value.toLowerCase().match(/.(gif)$/i)) { alert("회원아이콘이 gif 파일이 아닙니다."); f.mb_icon.focus(); return false; } } } if (typeof(f.mb_recommend) != "undefined" && f.mb_recommend.value) { if (f.mb_id.value == f.mb_recommend.value) { alert("본인을 추천할 수 없습니다."); f.mb_recommend.focus(); return false; } var msg = reg_mb_recommend_check(); if (msg) { alert(msg); f.mb_recommend.select(); return false; } } <?php echo chk_captcha_js(); ?> document.getElementById("btn_submit").disabled = "disabled"; return true; }
이 부분중 아래의 코드 부분을 제거해 줍니다.
Copy
// 이름 검사 if (f.w.value=="") { if (f.mb_name.value.length < 1) { alert("이름을 입력하십시오."); f.mb_name.focus(); return false; } /* var pattern = /([^가-힣\x20])/i; if (pattern.test(f.mb_name.value)) { alert("이름은 한글로 입력하십시오."); f.mb_name.select(); return false; } */ }
▲ 여기서 이름 체크가 들어갑니다.
다음으로, /bbs/register_form_update.php 파일의 35번라인
Copy
$mb_password = trim($_POST['mb_password']);$mb_password_re = trim($_POST['mb_password_re']);$mb_name = trim($_POST['mb_name']);$mb_nick = trim($_POST['mb_nick']);$mb_email = trim($_POST['mb_email']);$mb_sex = isset($_POST['mb_sex'])
이 부분에서, 회원 이름의 변수를 담는 $mb_name 부분에 기본 값으로 한글을 넣어 줍니다.
완전히 넣지 않을 경우, 다른 쪽에서 오류를 발생시킬 수 있으므로 임의로 공통적으로 사용될 이름을 넣어 줍니다.
Copy
$mb_password = trim($_POST['mb_password']);$mb_password_re = trim($_POST['mb_password_re']);$mb_name = "회원";$mb_nick = trim($_POST['mb_nick']);$mb_email = trim($_POST['mb_email']);$mb_sex = isset($_POST['mb_sex'])
이렇게 수정 하시면 이름을 입력 하지 않더라도 정상적으로 돌아 갈 것입니다.
정보 공개 부분은
Copy
<?php if (isset($member['mb_open_date']) && $member['mb_open_date'] <= date("Y-m-d", G5_SERVER_TIME - ($config['cf_open_modify'] * 86400)) || empty($member['mb_open_date'])) { // 정보공개 수정일이 지났다면 수정가능 ?> <tr> <th scope="row"><label for="reg_mb_open">정보공개</label></th> <td> <span class="frm_info"> 정보공개를 바꾸시면 앞으로 <?php echo (int)$config['cf_open_modify'] ?>일 이내에는 변경이 안됩니다. </span> <input type="hidden" name="mb_open_default" value="<?php echo $member['mb_open'] ?>"> <input type="checkbox" name="mb_open" value="1" <?php echo ($w=='' || $member['mb_open'])?'checked':''; ?> id="reg_mb_open"> 다른분들이 나의 정보를 볼 수 있도록 합니다. </td> </tr> <?php } else { ?> <tr> <th scope="row">정보공개</th> <td> <span class="frm_info"> 정보공개는 수정후 <?php echo (int)$config['cf_open_modify'] ?>일 이내, <?php echo date("Y년 m월 j일", isset($member['mb_open_date']) ? strtotime("{$member['mb_open_date']} 00:00:00")+$config['cf_open_modify']*86400:G5_SERVER_TIME+$config['cf_open_modify']*86400); ?> 까지는 변경이 안됩니다.<br> 이렇게 하는 이유는 잦은 정보공개 수정으로 인하여 쪽지를 보낸 후 받지 않는 경우를 막기 위해서 입니다. </span> <input type="hidden" name="mb_open" value="<?php echo $member['mb_open'] ?>"> </td> </tr> <?php } ?>
해당 부분을 제거해 주시면 공개하지 않음이 기본 상태로 입력됩니다.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
헤븐코리아
9년 전
댓글을 작성하려면 로그인이 필요합니다.
9년 전
그누보드에 그런기능 은 없습니다
제작의뢰 게시판에 10~30만원 가량 준다고의뢰하면 해결 됩니다
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
신경써주셔서 감사합니다