[초보]소스분석을 대충해봣는데.....회원가입 아이디 중보확인관련..

오류가 나는곳의 주소를 알려주시면 더 빠르고 정확하게 답변 받을 수 있습니다.

오류 주소 :
G4에서는 아이디중복확인이 아약스로 구동이 되었었습니다.

그런데 지금 보니
G5에서 이 아약스 아이디 중복확인이 안되는 줄알앗는데.. 자세히 소스를 보니 소스가 있긴 잇는것같은데 ..작동을 안하는것같습니다..


우선 스킨 파일 상당에보면

<script src="<?php echo G5_JS_URL ?>/jquery.register_form.js"></script>

따라가보니..

///jquery.register_form.js////

var reg_mb_id_check = function() {
var result = "";
$.ajax({
type: "POST",
url: g5_bbs_url+"/ajax.mb_id.php",
data: {
"reg_mb_id": encodeURIComponent($("#reg_mb_id").val())
},
cache: false,
async: false,
success: function(data) {
result = data;
}
});
return result;
}



//////bbs/ajax_mb_id.php////////


<?php
include_once('./_common.php');
include_once(G5_LIB_PATH.'/register.lib.php');

$mb_id = escape_trim($_POST['reg_mb_id']);

if ($msg = empty_mb_id($mb_id)) die($msg);
if ($msg = valid_mb_id($mb_id)) die($msg);
if ($msg = count_mb_id($mb_id)) die($msg);
if ($msg = exist_mb_id($mb_id)) die($msg);
if ($msg = reserve_mb_id($mb_id)) die($msg);
?>




//////lib/register.lib.php////////

if (!defined('_GNUBOARD_')) exit;

function empty_mb_id($reg_mb_id)
{
if (trim($reg_mb_id)=='')
return "회원아이디를 입력해 주십시오.";
else
return "";
}

function valid_mb_id($reg_mb_id)
{
if (preg_match("/[^0-9a-z_]+/i", $reg_mb_id))
return "회원아이디는 영문자, 숫자, _ 만 입력하세요.";
else
return "";
}

function count_mb_id($reg_mb_id)
{
if (strlen($reg_mb_id) < 3)
return "회원아이디는 최소 3글자 이상 입력하세요.";
else
return "";
}

function exist_mb_id($reg_mb_id)
{
global $g5;

$reg_mb_id = trim($reg_mb_id);
if ($reg_mb_id == "") return "";

$sql = " select count(*) as cnt from `{$g5['member_table']}` where mb_id = '$reg_mb_id' ";
$row = sql_fetch($sql);
if ($row['cnt'])
return "이미 사용중인 회원아이디 입니다.";
else
return "";
}





이게.....아약스구동파일이아닌가요 ?.......?;;ㅎㅎ;

그냥 초보의 눈으로 봤을때 파일이 있는것같은데..실행이 안되는것같아서 여쭈어봐요!
|

댓글 5개

그누보드를 설치하시고
회원가입 페이지를 수정하지 않으셨다면 정상적으로 아이디 중복 체크가 이루어질텐데
안된다고 하신 사이트 테스트가 가능할까요??
안녕하세요~! 혹시나해서 새로 설치해봤는데.. 안되네요.. 회원가입버튼 눌럿을때 나오는 아이디 중복확인 말구요!
아이디 입력란 옆에 아이디 중복확인 버튼이없어요. 여기 sir 홈페이지같은경우는 회원가입시에 아이디를 입력하고 tab 키 눌러서 포커스아웃시키면 우측으로 사용하셔도 좋은 아이디입니다 라는 실시간으로 중복검색이 되는걸 말한거예여~!
말씀하신 내용은 접근성과 관련하여 자바스크립트 사용이 불가한 환경에서도 사용할 수 있도록 하기위하여 빠져있습니다.
그러나 현재 개발진 내부에서는 ajax를 이용한 체크기능을 추가하는 방향을 고려 중에 있습니다.
아하 ! 넵 알겠습니다 ^^ 감사합니다~!
정 쓰실거면
스크립트 추가하시구요
※ 함수명은 바꾸셔도 상관없습니다.
[code]
function mb_id_check() {
var msg = reg_mb_id_check();
if (msg) {
$("#msg_mb_id").text(msg);
$("#reg_mb_id").select();
} else
$("#msg_mb_id").text("");
}
[/code]

아이디 input 박스에 onblur="mb_id_check();" 추가해주세요
※ 스크립트 작성시 함수명을 달리 하셨다면 여기도 바꿔주셔야 합니다.
[code]
<td>
<span class="frm_info">영문자, 숫자, _ 만 입력 가능. 최소 3자이상 입력하세요.</span>
<input type="text" name="mb_id" value="<?php echo $member['mb_id'] ?>" id="reg_mb_id" <?php echo $required ?> <?php echo $readonly ?> class="frm_input minlength_3 <?php echo $required ?> <?php echo $readonly ?>"maxlength="20" onblur="mb_id_check();">
<span id="msg_mb_id"></span>
</td>
[/code]
댓글을 작성하시려면 로그인이 필요합니다. 로그인

그누5 질답

그누보드5 버전에 대한 질문을 할 수 있습니다.쪽지나 메일로 해결해 주겠다는 답변은 정상적인 답변으로 보기 어려우므로 신고해 주시기 바랍니다.

+
제목 글쓴이 날짜 조회
12년 전 조회 330
12년 전 조회 346
12년 전 조회 199
12년 전 조회 497
12년 전 조회 356
12년 전 조회 209
12년 전 조회 399
12년 전 조회 268
12년 전 조회 345
12년 전 조회 778
12년 전 조회 588
12년 전 조회 291
12년 전 조회 486
12년 전 조회 786
12년 전 조회 403
12년 전 조회 1,474
12년 전 조회 972
12년 전 조회 411
12년 전 조회 294
12년 전 조회 579
🐛 버그신고