한글아이디 사용 정보
한글아이디 사용본문
에고..처음 글올립니다...쩝...맨날 주워먹다가...
좋은정보가 될수 있을런지는 모르겠지만 일단 올려봅니다.
아이디를 한글로 반드시 해야한다는 경우가 생기더군요.
숫자+이름을 혼용해서 쓰기도 하구요...
필요하신분 참고하시기 바랍니다.
별명체크 부분을 아이디체크에 사용하였습니다.
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개

잘쓸께요^^
