푸

여분필드 mb_1 을 회원아이디체크처럼 사용하고 싶은데 잘 안됩니다.

안녕하세요...

여분필드 mb_1을 ajax로 회원아이디 체크처럼 사용하고 싶은데 잘 안되네요.

일단 제가 추가한 소스는

1.register_form.skin.php

<input type=hidden name=mb_1_enabled value="" id="mb_1_enabled">

<TR bgcolor="#363636">
<TD width="160" class=m_title>게임아이디</TD>
<TD class=m_padding>
<input class=m_text maxlength=20 size=20 id='reg_mb_1' name="mb_1" value="<?=$member[mb_1]?>" <? if ($w=='u') { echo "readonly style='background-color:#282828;'"; } ?>
<? if ($w=='') { echo "onblur='reg_mb_1_check();'"; } ?>>
<span id='msg_mb_1'></span>
<table height=25 cellspacing=0 cellpadding=0 border=0>
<tr><td><font color="#b5ff02">※ 영문자, 숫자, _ 만 입력 가능. 최소 3자이상 입력하세요.</font></td></tr>
</table>
</TD>
</TR>

if (f.w.value == "") {

reg_mb_1_check();

if (document.getElementById('mb_1_enabled').value!='000') {
alert('게임아이디를 입력하지 않았거나 입력에 오류가 있습니다.');
document.getElementById('reg_mb_1').select();
return false;
}
}

2.ajax_register_form.jquery.js

var reg_mb_1_check = function() {
$.ajax({
type: 'POST',
url: member_skin_path+'/ajax_mb_1_check.php',
data: {
'reg_mb_1': encodeURIComponent($('#reg_mb_1').val())
},
cache: false,
async: false,
success: function(result) {
var msg = $('#msg_mb_1');
switch(result) {
case '110' : msg.html('영문자, 숫자, _ 만 입력하세요.').css('color', 'red'); break;
case '120' : msg.html('최소 3자이상 입력하세요.').css('color', 'red'); break;
case '130' : msg.html('이미 사용중인 아이디 입니다.').css('color', 'red'); break;
case '140' : msg.html('예약어로 사용할 수 없는 아이디 입니다.').css('color', 'red'); break;
case '000' : msg.html('사용하셔도 좋은 아이디 입니다.').css('color', 'blue'); break;
default : alert( '잘못된 접근입니다.\n\n' + result ); break;
}
$('#mb_1_enabled').val(result);
}
});
}

3.ajax_mb_1_check.php

include_once("_common.php");

// echo "한글"로 출력하지 않는 이유는 Ajax 는 euc_kr 에서 한글을 제대로 인식하지 못하기 때문
// 여기에서 영문으로 echo 하여 Request 된 값을 Javascript 에서 한글로 메세지를 출력함

if (preg_match("/[^0-9a-z_]+/i", $reg_mb_1)) {
echo "110"; // 유효하지 않은 회원아이디
} else if (strlen($reg_mb_1) < 3) {
echo "120"; // 3보다 작은 회원아이디
} else {
$row = sql_fetch(" select count(*) as cnt from $g4[member_table] where mb_1 = '$reg_mb_1' ");
if ($row[cnt]) {
echo "130"; // 이미 존재하는 회원아이디
} else {
if (preg_match("/[\,]?{$reg_mb_1}/i", $config[cf_prohibit_1]))
echo "140"; // 예약어로 금지된 회원아이디
else
echo "000"; // 정상
}
}

-----------------------------------------------------------------이상입니다.

헌데 실행하면

잘못된 접근입니다.

<script language='JavaScript'> location.replace('../../../'); </script>

이런 메세지창이 뜨네요...

고수님들 해결방법 좀 가르쳐주시면 고맙겠습니다.
|
댓글을 작성하시려면 로그인이 필요합니다.

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
10-06-06 조회 1,598
10-06-05 조회 1,921
10-06-05 조회 2,422
10-06-05 조회 1,743
10-06-05 조회 1,265
10-06-04 조회 2,510
10-06-04 조회 2,827
10-06-04 조회 1,762
10-06-04 조회 1,655
10-06-04 조회 1,666
10-06-04 조회 5,714
10-06-04 조회 1,667
10-06-04 조회 1,745
10-06-03 조회 1,863
10-06-03 조회 1,694
10-06-03 조회 1,873
10-06-03 조회 1,507
10-06-03 조회 1,795
10-06-03 조회 3,237
10-06-03 조회 1,631