테스트 사이트 - 개발 중인 베타 버전입니다

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

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



오류 주소 :

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



그런데 지금 보니

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





우선 스킨 파일 상당에보면



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



따라가보니..



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



var reg_mb_id_check = function() {

&nbsp; &nbsp; var result = "";

&nbsp; &nbsp; $.ajax({

&nbsp; &nbsp; &nbsp; &nbsp; type: "POST",

&nbsp; &nbsp; &nbsp; &nbsp; url: g5_bbs_url+"/ajax.mb_id.php",

&nbsp; &nbsp; &nbsp; &nbsp; data: {

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "reg_mb_id": encodeURIComponent($("#reg_mb_id").val())

&nbsp; &nbsp; &nbsp; &nbsp; },

&nbsp; &nbsp; &nbsp; &nbsp; cache: false,

&nbsp; &nbsp; &nbsp; &nbsp; async: false,

&nbsp; &nbsp; &nbsp; &nbsp; success: function(data) {

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; result = data;

&nbsp; &nbsp; &nbsp; &nbsp; }

&nbsp; &nbsp; });

&nbsp; &nbsp; 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))&nbsp; &nbsp; die($msg);

if ($msg = valid_mb_id($mb_id))&nbsp; &nbsp; die($msg);

if ($msg = count_mb_id($mb_id))&nbsp; &nbsp; die($msg);

if ($msg = exist_mb_id($mb_id))&nbsp; &nbsp; die($msg);

if ($msg = reserve_mb_id($mb_id))&nbsp; die($msg);

?>









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



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



function empty_mb_id($reg_mb_id)

{

&nbsp; &nbsp; if (trim($reg_mb_id)=='')

&nbsp; &nbsp; &nbsp; &nbsp; return "회원아이디를 입력해 주십시오.";

&nbsp; &nbsp; else

&nbsp; &nbsp; &nbsp; &nbsp; return "";

}



function valid_mb_id($reg_mb_id)

{

&nbsp; &nbsp; if (preg_match("/[^0-9a-z_]+/i", $reg_mb_id))

&nbsp; &nbsp; &nbsp; &nbsp; return "회원아이디는 영문자, 숫자, _ 만 입력하세요.";

&nbsp; &nbsp; else

&nbsp; &nbsp; &nbsp; &nbsp; return "";

}



function count_mb_id($reg_mb_id)

{

&nbsp; &nbsp; if (strlen($reg_mb_id) < 3)

&nbsp; &nbsp; &nbsp; &nbsp; return "회원아이디는 최소 3글자 이상 입력하세요.";

&nbsp; &nbsp; else

&nbsp; &nbsp; &nbsp; &nbsp; return "";

}



function exist_mb_id($reg_mb_id)

{

&nbsp; &nbsp; global $g5;



&nbsp; &nbsp; $reg_mb_id = trim($reg_mb_id);

&nbsp; &nbsp; if ($reg_mb_id == "") return "";



&nbsp; &nbsp; $sql = " select count(*) as cnt from `{$g5['member_table']}` where mb_id = '$reg_mb_id' ";

&nbsp; &nbsp; $row = sql_fetch($sql);

&nbsp; &nbsp; if ($row['cnt'])

&nbsp; &nbsp; &nbsp; &nbsp; return "이미 사용중인 회원아이디 입니다.";

&nbsp; &nbsp; else

&nbsp; &nbsp; &nbsp; &nbsp; return "";

}











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



그냥 초보의 눈으로 봤을때 파일이 있는것같은데..실행이 안되는것같아서 여쭈어봐요!
댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
말씀하신 내용은 접근성과 관련하여 자바스크립트 사용이 불가한 환경에서도 사용할 수 있도록 하기위하여 빠져있습니다.

그러나 현재 개발진 내부에서는 ajax를 이용한 체크기능을 추가하는 방향을 고려 중에 있습니다.
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

아하 ! 넵 알겠습니다 ^^ 감사합니다~!

댓글을 작성하려면 로그인이 필요합니다.

그누보드를 설치하시고

회원가입 페이지를 수정하지 않으셨다면 정상적으로 아이디 중복 체크가 이루어질텐데

안된다고 하신 사이트 테스트가 가능할까요??
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

안녕하세요~! 혹시나해서 새로 설치해봤는데.. 안되네요.. 회원가입버튼 눌럿을때 나오는 아이디 중복확인 말구요!
아이디 입력란 옆에 아이디 중복확인 버튼이없어요. 여기 sir 홈페이지같은경우는 회원가입시에 아이디를 입력하고 tab 키 눌러서 포커스아웃시키면 우측으로 사용하셔도 좋은 아이디입니다 라는 실시간으로 중복검색이 되는걸 말한거예여~!

댓글을 작성하려면 로그인이 필요합니다.

정 쓰실거면

스크립트 추가하시구요

※ 함수명은 바꾸셔도 상관없습니다.

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("");	

}




아이디 input 박스에 onblur="mb_id_check();" 추가해주세요

※ 스크립트 작성시 함수명을 달리 하셨다면 여기도 바꿔주셔야 합니다.

&nbsp;
    <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>
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인

전체 질문 목록

🐛 버그신고