2010년 4월 28일 수요일

회원중복검사 자바스크립트(펌)

우선 먼저 답변하신 분의 의견이 있기는한데 중요한 부분이 빠져 있어서 추가적으로

 

글을 남깁니다.

 

프로그램의 순서를 알아보면

 

<input name="chk_Id" id="_chk_id" type="hidden" value="0">

 

을 만들어 두시고요 회원가입 버튼을 클릭하면 체크하는 자바스크립트 함수에다가

 

if(document.getElementById("_chk_id").value=="0"){

       alert("아이디 중복 체크를 해주세요.");

       return;

}

 

위의 루틴을 적어 줍니다. 여기까지는 전에 답변 하신 분하고 비슷하구요.

제일 중요한 아이디 중복 체크 프로그램을 넣어야 합니다.

 

<input name="chk_dup_id" type="button" value="중복체크" onclick="check_id();">

 

이렇게 버튼을 만들고 온클릭 이벤트에 위와 같은 함수를 집어 넣습니다.

그리고 함수를 제작 하는데 함수의 내용은 다음과 같습니다.

 

function check_id(){

       // ex : <input name="id" id="_id" type="text" /> 만약에 아이디를 적는 인풋창이 왼쪽과 같다면

       //  밑에와 같이 적어줍니다. 만약 id="" 속성이 없다면  id="_id" 부분을 추가한다음 아래와 같이 적어줍니다.

 

      document.getElementById("_chk_id").value="0";

       var userid = document.getElementById("_id").value;

       window.open("./check_id.php?userid="+userid,"아이디 중복체크","width=0,height=0;");

}

 

그런 다음 check_id.php 파일을 만듭니다. 여기서는 실제 DB에 접속해서 중복되는 아이디가 있는지

없는지를 검사합니다.

 

check_id.php

<?

       $userid = $_REQUEST["id"];

       $ret = 0;

       //DB접속을 합니다.

       //쿼리문은 이렇게 만드세요. "select count(*) as `id_count` from 테이블이름 where userid=$userid"

       //그런다음 DB에서 $res[id_count]; 값을 불러옵니다. 위의 쿼리문 내용은 같은 아이디가 있으면 1을

       //리턴 할것이고 없다면 0을 리턴 할겁니다. $ret = $res[id_count]; 왼쪽과 같이 DB에서 나온값을

       //$ret 변수에다가 담습니다.

     

?>

<script type="text/javascript">

        //이제 이부분에서는 여기에서 검사한 정보를 회원가입 페이지로돌려줍니다.

        var ret = "<?=$ret ?>";

        if(ret=="1"){

          opener.document.getElementById("_chk_id").value="0";

        }else{

          opener.document.getElementById("_chk_id").value = "1";

        }

</script>

 

 

위의 스크립트는 같은 아이디가 있을 경우에는 젤처음 만들었던 hidden속성의 chk_id 부분의 값을

0으로 만들어서 회원가입을 못하게 만듭니다.

같은 아이디가 없을경우에는 chk_id 의 값을 1로 만들어 회원가입을 할수있도록 만듭니다.

 

이게 기본적인 오퍼레이션 입니다. 이런식으로 하시면 실제 DB에 접속해 현재 회원가입이 되어 있는가

없는가 하는 부분을 알수가 있습니다. 그리고 실제 서버스크립트를 실행해 회원가입을 할때역시 한번더

아이디가 있는지를 중복체크 해주시면 완벽한 프로그램이 되겠습니다.

 

그럼 성공 하시길 ^^*

댓글 1개: