오픈아이디 자작 실시간 중복검사 소스 올려보아요~ 정보
오픈아이디 자작 실시간 중복검사 소스 올려보아요~본문
흠..... 짜다가 짜다가 꼼수까지 부리며 드디어 끝났네요...
이제 버그를 찾아서 수정하는것만 남았네요.
하루죙일 고생한만큼 나와서 다행입니다.
처음으로 카피라이트를 지우지 못하게 하는 모듈을 만들었네요^^
아래 소스는 실시간 중복검사 소스입니다.~~
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에게 있으며 출력되는 카피라이트는 어떠한 경우에도 수정,변경, 추가하실수없습니다.
// 카피라이트 제거를 원하시는분 께서는 따로 문의 부탁드립니다.
// 본 모듈은 "무료" 모듈로써 어떠한 수정, 추가 제작 작업을 따로 해드리지 않습니다.
// 이부분이 제일 힘들었습니다...
-->
댓글 전체
실력이 이렇게나 늘어 있을줄이야....
머... 아직도 초보 수준이지만..
한숨자고 다시 와서 봐야 겠습니다..
볼것도 없어요.
대충 방식만 참고하시라고 올려둔 소스입니다.