한글아이디 사용 정보
한글아이디 사용본문
에고..처음 글올립니다...쩝...맨날 주워먹다가...
좋은정보가 될수 있을런지는 모르겠지만 일단 올려봅니다.
아이디를 한글로 반드시 해야한다는 경우가 생기더군요.
숫자+이름을 혼용해서 쓰기도 하구요...
필요하신분 참고하시기 바랍니다.
별명체크 부분을 아이디체크에 사용하였습니다.
1. 테스트 버전 : 4.22.06 (08.09.07), 4.31.02 (08.11.03)
ㅇ 정보수정/관리자 회원수정시 정상작동 확인
2. 변경할 파일 : skin/member/basic/ajax_mb_id_check.php(기본스킨 기준)
3. 변경내용
<?
include_once("_common.php");
// echo "한글"로 출력하지 않는 이유는 Ajax 는 euc_kr 에서 한글을 제대로 인식하지 못하기 때문
// 여기에서 영문으로 echo 하여 Request 된 값을 Javascript 에서 한글로 메세지를 출력함
//********************** 추가 *****************************
if (!function_exists('convert_charset')) {
/*
-----------------------------------------------------------
Charset 을 변환하는 함수
-----------------------------------------------------------
iconv 함수가 있으면 iconv 로 변환하고
없으면 mb_convert_encoding 함수를 사용한다.
둘다 없으면 사용할 수 없다.
*/
function convert_charset($from_charset, $to_charset, $str) {
if( function_exists('iconv') )
return iconv($from_charset, $to_charset, $str);
elseif( function_exists('mb_convert_encoding') )
return mb_convert_encoding($str, $to_charset, $from_charset);
else
die("Not found 'iconv' or 'mbstring' library in server.");
}
}
$reg_mb_id = convert_charset('UTF-8','CP949',$reg_mb_id);
//********************** 추가 끝 *****************************
//********************** 변경**********************************
//if (preg_match("/[^0-9a-z_]+/i", $reg_mb_id)) { <--- 기존코드
if (!check_string($reg_mb_id, _G4_HANGUL_ + _G4_ALPHABETIC_ + _G4_NUMERIC_)){
//위에가 변경된 코드
//********************** 변경 끝 **********************************
echo "110"; // 유효하지 않은 회원아이디
} else if (strlen($reg_mb_id) < 3) {
echo "120"; // 3보다 작은 회원아이디
} else {
$row = sql_fetch(" select count(*) as cnt from $g4[member_table] where mb_id = '$reg_mb_id' ");
if ($row[cnt]) {
echo "130"; // 이미 존재하는 회원아이디
} else {
if (preg_match("/[\,]?{$reg_mb_id}/i", $config[cf_prohibit_id]))
echo "140"; // 예약어로 금지된 회원아이디
else
echo "000"; // 정상
}
}
?>
5
댓글 3개
잘쓸께요^^