회원가입을 누르면 모든 값이 초기화되면서 다시 회원가입창으로 돌아옵니다.
본문
지구인 님의 스킨을 변형해서 적용시켰습니다.
아래는 register_form.skin.php 의 내용입니다... 확인 버튼 부분은 볼드 처리했습니다.
기존 코드를 그대로 두면 확인을 눌렀을 때 아무런 반응이 없기에 그 부분만 그누보드 원본 소스를 따다가 수정했는데
회원 가입을 누르면 입력해 놓은 모든 값이 초기화되면서 다시 회원가입창으로 돌아옵니다.
제가 뭘 잘못한 걸까요? ㅠㅠ
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
?>
<link rel="stylesheet" href="<?=$member_skin_path?>/member_style.css" type="text/css">
<style type="text/css">
<!--
.m_title { BACKGROUND-COLOR: #F7F7F7; PADDING-LEFT: 15px; PADDING-top: 5px; PADDING-BOTTOM: 5px; }
.m_padding { PADDING-LEFT: 15px; PADDING-BOTTOM: 5px; PADDING-TOP: 5px; }
.m_padding2 { PADDING-LEFT: 0px; PADDING-top: 5px; PADDING-BOTTOM: 0px; }
.m_padding3 { PADDING-LEFT: 0px; PADDING-top: 5px; PADDING-BOTTOM: 5px; }
-->
</style>
<script>
var member_skin_path = "<?=$member_skin_path?>";
</script>
<script type="text/javascript" src="<?=$member_skin_path?>/ajax_register_form.jquery.js"></script>
<script type="text/javascript" src="<?=$g4['path']?>/js/md5.js"></script>
<script type="text/javascript" src="<?=$g4['path']?>/js/sideview.js"></script>
<form id="fregisterform" name="fregisterform" method="post" enctype="multipart/form-data" autocomplete="off">
<input type="hidden" name="w" value="<?=$w?>">
<input type="hidden" name="url" value="<?=$urlencode?>">
<input type="hidden" name="mb_jumin" value="<?=$jumin?>">
<input type="hidden" name="mb_type" value="<?=$mb_type?>">
<input type="hidden" name="mb_id_enabled" value="" id="mb_id_enabled">
<input type="hidden" name="mb_nick_enabled" value="" id="mb_nick_enabled">
<input type="hidden" name="mb_email_enabled" value="" id="mb_email_enabled">
<div id='member-page'>
<div id='member-box'>
<div class="register_title"></div>
<table class="in_table">
<?if($is_member){?>
<tr><th>가입일</th>
<td><?=$member['mb_datetime']?></td>
</tr>
<?}?>
<input type="hidden" name='old_email' value='<?=$member['mb_email']?>'>
<center>
<br>
메일 인증 후에 가입이 완료됩니다<br>
반드시 사용 중인 메일을 입력하시기 바랍니다<br>
다음 한메일은 인증메일을 수신하지 못하니 다른 메일을 사용해 주세요<br>
<br></center>
<tr>
<th>email</th>
<td>
<? if ($w=='u') echo "<br><span class=\"input_help\">이메일 변경시 다시 발송된 인증내용을 확인하셔
야 합니다.</span>"; ?>
<input class="login_input" type="text" id='reg_mb_email' name='mb_email' maxlength="100"
value='<?=$member['mb_email']?>'
required onblur="reg_mb_email_check()" >
<? if ($w=='') { ?><span id='msg_mb_email'></span><? } ?>
<? if ($config['cf_use_email_certify']) { ?>
<? } ?>
</td>
</tr>
<? if($w=='u') { ?><input type='hidden' name='mb_id' value='<?=$member['mb_id']?>'>
<? } else { ?><input type='hidden' name='mb_id' value='shb<?=$g4['server_time']?>'>
<? } ?>
<!--------회원가입시 아이디를 현재 서버타임으로 설정. shb는 임의의 접두어. 바꾸어도
됨--------->
<tr>
<th>password</th>
<td><input class="login_input" type="password" name="mb_password" maxlength="20" <?=
($w=="")?"required":"";?> itemname="패스워드"></td>
</tr>
<tr>
<th>confirm<br />password</th>
<td><input class="login_input" type="password" name="mb_password_re" maxlength="20" <?=
($w=="")?"required":"";?> itemname="패스워드 확인">
<? if($w=='u') { ?><p><span class="input_help">비밀번호를 수정하지 않을 경우엔 공란으로 두
어도 됩니다.</span></p><? } ?>
</td>
</tr>
<? if ($member['mb_nick_date'] <= date("Y-m-d", $g4['server_time'] - ($config['cf_nick_modify'] *
86400))) { // 별명수정일이 지났다면 수정가능 ?>
<input type=hidden name=mb_nick_default value='<?=$member['mb_nick']?>'>
<tr>
<th>nickname</th>
<td>
<p><input class="login_input" type="text" id='reg_mb_nick' name='mb_nick' maxlength='30'
value='<?=$member['mb_nick']?>' onblur="reg_mb_nick_check();" required>
<? if($w=='') { ?><span id='msg_mb_nick'></span><? } ?></p>
<!--<br />별명 수정시 <?=(int)$config['cf_nick_modify']?>일 이내 변경 불가--></p>
</td>
</tr>
<? } else { ?>
<input type="hidden" name="mb_nick_default" value='<?=$member['mb_nick']?>'>
<input type="hidden" name="mb_nick" value="<?=$member['mb_nick']?>">
<? } ?>
<input type="hidden" name="mb_mailling" value='1'>
<input type="hidden" name="mb_sms" value='1'>
<input type="hidden" name="mb_open" value='1'>
<!----------메일링, 문자수신, 정보공개는 수신으로 설정--------->
<? if ($w == "" && $config['cf_use_recommend']) { ?>
<tr>
<th>추천인아이디</th>
<td>
<p><input type="text" name="mb_recommend" class="login_input"></p>
</td>
</tr>
<? } ?>
<tr>
<th>filter</th>
<td>
<table>
<tr>
<td width="80" height="28" style="border-width:0">
<img id='kcaptcha_image' />
</td>
<td style="border-width:0">
<p><input type="text" class="login_input" size="12" name="wr_key" itemname="자동등
록방지" required>
</tr>
</table>
</td>
</tr>
</table>
<div style='text-align:center;padding-top:15px;border-top:1px solid #ccc;'>
<INPUT type=image width="98" height="27" src="<?=$member_skin_path?>/img/bt_join_ok.gif" border=0 accesskey='s'>
<a href="<?=$g4['path']?>"><img src="<?=$member_skin_path?>/img/bt_home.gif" border="0"></a>
</div>
</div>
</div>
</form>
<script type="text/javascript" src="<?="$g4[path]/js/jquery.kcaptcha.js"?>"></script>
<script type="text/javascript">
$(function() {
// 폼의 첫번째 입력박스에 포커스 주기
$("#fregisterform :input[type=text]:visible:enabled:first").focus();
});
var f=document.fregisterform;
// submit 최종 폼체크
function fregisterform_submit()
{
/*
// 회원아이디 검사
if (f.w.value == "") {
reg_mb_id_check();
if (document.getElementById('mb_id_enabled').value!='000') {
alert('회원아이디를 입력하지 않았거나 입력에 오류가 있습니다.');
document.getElementById('reg_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.mb_password_q.value.length < 1) {
alert('패스워드 분실시 질문을 선택하거나 입력하세요.');
f.mb_password_q.focus();
return false;
}
if (f.mb_password_a.value.length < 1) {
alert('패스워드 분실시 답변을 입력하세요.');
f.mb_password_a.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.focus();
return false;
}
}
*/
// 별명 검사
if ((f.w.value == "") ||
(f.w.value == "u" && f.mb_nick.defaultValue != f.mb_nick.value)) {
reg_mb_nick_check();
if (document.getElementById('mb_nick_enabled').value!='000') {
alert('별명을 입력하지 않았거나 입력에 오류가 있습니다.');
document.getElementById('reg_mb_nick').select();
return false;
}
}
// E-mail 검사
if ((f.w.value == "") ||
(f.w.value == "u" && f.mb_email.defaultValue != f.mb_email.value)) {
reg_mb_email_check();
if (document.getElementById('mb_email_enabled').value!='000') {
alert('E-mail을 입력하지 않았거나 입력에 오류가 있습니다.');
document.getElementById('reg_mb_email').select();
return false;
}
// 사용할 수 없는 E-mail 도메인
var domain = prohibit_email_check(f.mb_email.value);
if (domain) {
alert("'"+domain+"'은(는) 사용하실 수 없는 메일입니다.");
document.getElementById('reg_mb_email').focus();
return false;
}
}
/*
if (typeof(f.mb_birth) != 'undefined') {
if (f.mb_birth.value.length < 1) {
alert('달력 버튼을 클릭하여 생일을 입력하여 주십시오.');
//f.mb_birth.focus();
return false;
}
var todays = <?=date("Ymd", $g4['server_time']);?>;
// 오늘날짜에서 생일을 빼고 거기서 140000 을 뺀다.
// 결과가 0 이상의 양수이면 만 14세가 지난것임
var n = todays - parseInt(f.mb_birth.value) - 140000;
if (n < 0) {
alert("만 14세가 지나지 않은 어린이는 정보통신망 이용촉진 및 정보보호 등에 관한 법률\n\n제 31조 1항의
규정에 의하여 법정대리인의 동의를 얻어야 하므로\n\n법정대리인의 이름과 연락처를 '자기소개'란에 별도로 입력하시기 바
랍니다.");
return false;
}
}
if (typeof(f.mb_sex) != 'undefined') {
if (f.mb_sex.value == '') {
alert('성별을 선택하여 주십시오.');
f.mb_sex.focus();
return false;
}
}
*/
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') {
if (f.mb_id.value == f.mb_recommend.value) {
alert('본인을 추천할 수 없습니다.');
f.mb_recommend.focus();
return false;
}
}
/*
if (!check_kcaptcha(f.wr_key)) {
return false;
}
*/
<?
if ($g4[https_url])
echo "f.action = '$g4[https_url]/$g4[bbs]/register_form_update.php';";
else
echo "f.action = './register_form_update.php';";
?>
// 보안인증관련 코드로 반드시 포함되어야 합니다.
set_cookie("<?=md5($token)?>", "<?=base64_encode($token)?>", 1, "<?=$g4['cookie_domain']?>");
f.submit();
}
// 금지 메일 도메인 검사
function prohibit_email_check(email)
{
email = email.toLowerCase();
var prohibit_email = "<?=trim(strtolower(preg_replace("/(\r\n|\r|\n)/", ",", $config[cf_prohibit_email])));?>";
var s = prohibit_email.split(",");
var tmp = email.split("@");
var domain = tmp[tmp.length - 1]; // 메일 도메인만 얻는다
for (i=0; i<s.length; i++) {
if (s[i] == domain)
return domain;
}
return "";
}
</script>
답변 1
폼태그에 submit action 이 빠졌어요.
<form id="fregisterform" name=fregisterform method=post onsubmit="return fregisterform_submit(this);" enctype="multipart/form-data" autocomplete="off">
답변을 작성하시기 전에 로그인 해주세요.