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

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

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

오류 주소 :
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개

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

게시글 목록

번호 제목
4184
4181
4180
4169
4155
4154
4153
4148
4147
4140
4133
4126
4125
4124
4123
4121
4120
4116
4108
4106