오픈아이디 자작 실시간 중복검사 소스 올려보아요~ > 십년전오늘

십년전오늘

10년전 추억의 책장을 넘기며

오픈아이디 자작 실시간 중복검사 소스 올려보아요~ 정보

오픈아이디 자작 실시간 중복검사 소스 올려보아요~

본문

흠..... 짜다가 짜다가 꼼수까지 부리며 드디어 끝났네요...
이제 버그를 찾아서 수정하는것만 남았네요.
하루죙일 고생한만큼 나와서 다행입니다.

처음으로 카피라이트를 지우지 못하게 하는 모듈을 만들었네요^^

아래 소스는  실시간 중복검사 소스입니다.~~

openid_confirm.php
<?
include_once("./_common.php");
if($member[mb_id]){
if(!$member[mb_name]|!$member[mb_nick]|!$member[mb_email]){
?>
<!--
// 카피라이트 수정,변경, 추가 금지.
// 제작: Terrorboy
// 본 모듈을 유료로 판매하실수 없습니다.(판매 목적을 원하신다면 따로 문의 부탁드립니다.)
// 개인저작물(오픈아이디 모듈)에 대한 저작권은 Terrorboy에게 있으며 출력되는 카피라이트는 어떠한 경우에도 수정,변경, 추가하실수없습니다.
// 카피라이트 제거를 원하시는분 께서는 따로 문의 부탁드립니다.
// 본 모듈은 "무료" 모듈로써 어떠한 수정, 추가 제작 작업을 따로 해드리지 않습니다.
-->
<style>
#nodata{
width:100%;
height:100%;
filter:alpha(opacity=85);
background-color:#000;
z-index:999;
position:absolute;
left:0;
top:0;
}

#message{
position:absolute;
border:5px solid #DDDDDD;
text-align:center;
padding-top:20px;
color:#ffffff;
}
</style>

<div id="nodata">
  <div id="message" style="width:500px;height:300px;"><?//자바스크립트 처리를 위하여 크기는 따로 스타일로 지정?>
    <h3>일부 환경변수를 정상적으로 전달 받지 못했습니다.</h3><hr><p>
   
    <form action="<?=$g4[path]?>/module/openid/openid_confirm_ok.php" method="post">
    <font color="#ffffff">
    이름: <input type="text" name="name" value="<?=$member[mb_name]?>" <?if($member[mb_name]){echo "readonly  style='background-color:#cccccc;'";}?>><br><?if(!$member[mb_name]){?><span id='chk_name' width="50px"></span><br><?}?>
    별명: <input type="text" name="nick" value="<?=$member[mb_nick]?>" <?if($member[mb_nick]){echo "readonly  style='background-color:#cccccc;'";}?>><br><?if(!$member[mb_nick]){?><span id='chk_nick' width="50px"></span><br><?}?>
    이메일: <input type="text" name="email" value="<?=$member[mb_email]?>" <?if($member[mb_email]){echo "readonly  style='background-color:#cccccc;'";}?>>   <br><?if(!$member[mb_email]){?><span id='chk_email' width="50px"></span><?}?>
    </font>
    <p><hr>
    입력 받은 데이터는 활동을 위한 최소한의 데이터입니다.<p>
    <input type="submit" style="width:100px" onclick="return check();" accesskey="s" value="확인">
    <button style="width:100px" onclick="location.href = '<?=$g4[path]?>/bbs/logout.php';">취소</button>
    </form>
   
    <div style="widht:100%;text-align:right;"><br><a href="http://sir.co.kr" target="_blank">SIR</a> OpenID Project Group.  </div><?//변경가능.?>
  </div>
</div>
<script type="text/javascript">
// 공란 체크
function check(){
    if(document.getElementById('name').value == "")
    {
      alert('이름을 입력하여 주세요.');
      document.getElementById('name').focus();
      return false;
    }
   
    var pattern = /([^가-힣\x20])/i;
    if (pattern.test(document.getElementById('name').value)) {
      alert('이름은 한글로 입력하십시오.');
      document.getElementById('name').focus();
      return false;
    }
   
    if(document.getElementById('name').value.length <= "1")
    {
      alert('이름은 1자 이상 입력하셔야 합니다.');
      document.getElementById('name').focus();
      return false;
      }
   
    if(document.getElementById('nick').value == "")
    {
      alert('별명을 입력하여 주세요.');
      document.getElementById('nick').focus();
      return false;
      }
    if(document.getElementById('nick').value.length <= "2")
    {
      alert('별명은 2자 이상 입력하셔야 합니다.');
      document.getElementById('nick').focus();
      return false;
      }
   
    if(nick_chk_on != "0")
    {
      alert('중복된 별명입니다.');
      document.getElementById('nick').focus();
      return false;
    }
   
    if(document.getElementById('email').value == "")
    {
      alert('이메일을 입력하여 주세요.');
      document.getElementById('email').focus();
      return false;
      }
     
    var mailexp = /[a-z0-9]{2,}@[a-z0-9-]{2,}\.[a-z0-9]{2,}/i;
      if(!mailexp.test(document.getElementById('email').value))
      {
        alert("이메일을 형식이 잘못되었습니다.");
        document.getElementById('email').focus();
        return false;
      }
    if(mail_chk_on != "0")
    {
      alert("중복된 이메일 입니다.");
      document.getElementById('email').focus();
      return false;
    }
}

// 실시간 검사
 $(document).ready(function() {
   $("input").keyup(function () {
     $('#chk_name').load('<?=$g4[path]?>/module/openid/chk.php?chk_mode=name&value='+document.getElementById('name').value);
     return false;
   }).keyup();

   $("input").keyup(function () {
     $('#chk_nick').load('<?=$g4[path]?>/module/openid/chk.php?chk_mode=nick&value='+document.getElementById('nick').value);
     return false;
   }).keyup();

   $("input").keyup(function () {
     $('#chk_email').load('<?=$g4[path]?>/module/openid/chk.php?chk_mode=email&value='+document.getElementById('email').value);
     return false;
   }).keyup();
 });
</script>

<script type="text/javascript">
// 위치 자동 조절
op_div_width = document.getElementById('message').style.width;
op_div_width = op_div_width.replace("px","");
op_div_height = document.getElementById('message').style.height;
op_div_height = op_div_height.replace("px","");
document.getElementById('message').style.left = (screen.availWidth/2) - (op_div_width/2)+"px";
document.getElementById('message').style.top = (screen.availHeight/2) - (op_div_height)+"px";
document.write(screen.availHeight/2);
</script>
<?}}?>


chk.php
<?
include_once("./_common.php");
if($_GET[chk_mode] == "name"){
  if($_GET[value]){
    $query = "select * from g4_member where mb_name = '$_GET[value]'";  // 주소 변수 값으로 쿼리함
    $result = mysql_query($query);
    $openid_chk_val = mysql_fetch_array($result);
      if(preg_match("/[a-zA-Z0-9]/", $_GET[value])){
          echo "<font color='red'>한글이 아닙니다.</font>";
      }
  }
}
if($_GET[chk_mode] == "nick"){
  if($_GET[value]){
    $query = "select * from g4_member where mb_nick = '$_GET[value]'";  // 주소 변수 값으로 쿼리함
    $result = mysql_query($query);
    $openid_chk_val = mysql_fetch_array($result);
    if($openid_chk_val[mb_nick] <> ""){
      echo "<font color='red'>사용중인 닉네임 입니다.</font>";
      echo "<script type='text/javascript'>nick_chk_on = '1';</script>";
    }else{
      echo "<font color='blue'>사용 가능한 닉네임 입니다.</font>";
      echo "<script type='text/javascript'>nick_chk_on = '0';</script>"; }
  }
}
if($_GET[chk_mode] == "email"){
  if($_GET[value]){
    $query = "select * from g4_member where mb_email = '$_GET[value]'";  // 주소 변수 값으로 쿼리함
    $result = mysql_query($query);
    $openid_chk_val = mysql_fetch_array($result);
    if($openid_chk_val[mb_email] <> ""){
      echo "<font color='red'>사용중인 메일 입니다.</font>";
      echo "<script type='text/javascript'>mail_chk_on = '1';</script>";
    }else{
      echo "<font color='blue'>사용 가능한 메일 입니다.</font>";
      echo "<script type='text/javascript'>mail_chk_on = '0';</script>";
    }
  }
}
?>
<!--
// 카피라이트 수정,변경, 추가 금지.
// 제작: Terrorboy
// 본 모듈을 유료로 판매하실수 없습니다.(판매 목적을 원하신다면 따로 문의 부탁드립니다.)
// 개인저작물(오픈아이디 모듈)에 대한 저작권은 Terrorboy에게 있으며 출력되는 카피라이트는 어떠한 경우에도 수정,변경, 추가하실수없습니다.
// 카피라이트 제거를 원하시는분 께서는 따로 문의 부탁드립니다.
// 본 모듈은 "무료" 모듈로써 어떠한 수정, 추가 제작 작업을 따로 해드리지 않습니다.
// 이부분이 제일 힘들었습니다...
-->
<meta http-equiv="content-type" content="text/html; charset=UTF-8">


openid_confirm_ok.php
<?
include_once("./_common.php");
$sql = "update g4_member
            set mb_name = '{$_POST[name]}',
                mb_nick = '{$_POST[nick]}',
                mb_email = '{$_POST[email]}'
                where mb_id = '{$member[mb_id]}' ";
                sql_query($sql);
                //echo $sql;
?>
<script type="text/javascript">
location.href = "<?=$g4[path]?>";
</script>
<!--
// 카피라이트 수정,변경, 추가 금지.
// 제작: Terrorboy
// 본 모듈을 유료로 판매하실수 없습니다.(판매 목적을 원하신다면 따로 문의 부탁드립니다.)
// 개인저작물(오픈아이디 모듈)에 대한 저작권은 Terrorboy에게 있으며 출력되는 카피라이트는 어떠한 경우에도 수정,변경, 추가하실수없습니다.
// 카피라이트 제거를 원하시는분 께서는 따로 문의 부탁드립니다.
// 본 모듈은 "무료" 모듈로써 어떠한 수정, 추가 제작 작업을 따로 해드리지 않습니다.
// 이부분이 제일 힘들었습니다...
-->

댓글 전체

전체 130,605
십년전오늘 내용 검색

회원로그인

진행중 포인트경매

  1. 참여4 회 시작24.04.25 20:23 종료24.05.02 20:23
(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT