initial
This commit is contained in:
@@ -0,0 +1,114 @@
|
||||
function Login_Import() {
|
||||
ImportAction(HOME+I+LOGIN+W+FINDPW+W+ACTION);
|
||||
ImportAction(HOME+I+LOGIN+W+JOIN+W+ACTION);
|
||||
|
||||
LoginFindpw_Import();
|
||||
LoginJoin_Import();
|
||||
}
|
||||
|
||||
function Login_Init() {
|
||||
LoginFindpw_Init();
|
||||
LoginJoin_Init();
|
||||
|
||||
$(".Login_Bbs").click(function() { window.open('/bbs'); });
|
||||
$(".Login_Free").click(function() { window.open('/bbs/bbs/board.php?bo_table=0free'); });
|
||||
$(".Login_News").click(function() { window.open('/bbs/bbs/board.php?bo_table=1news'); });
|
||||
$(".Login_Reference").click(function() { window.open('/bbs/bbs/board.php?bo_table=2reference'); });
|
||||
$(".Login_Patch").click(function() { window.open('/bbs/bbs/board.php?bo_table=3patch'); });
|
||||
$(".Login_Donation").click(function() { window.open('/bbs/bbs/board.php?bo_table=4donation'); });
|
||||
$(".Login_Tutorial").click(function() { window.open('../i_other/help.php'); });
|
||||
$(".Login_Emperior").click(function() { window.open('../che/a_emperior.php'); });
|
||||
$(".Login_Traffic").click(function() { window.open('../che/a_traffic.php'); });
|
||||
|
||||
$("#Login_00010007").focus(Login_DefaultConMsg);
|
||||
|
||||
$("#Login_00010008").click(Login_Findpw);
|
||||
$("#Login_00010009").click(Login_Join);
|
||||
$("#Login_00010010").click(Login_Login);
|
||||
$("#Login_00010013").click(function() { window.open('../i_other/help.php'); });
|
||||
$("#Login_00010014").click(function() { window.open('../i_other/screenshot.php'); });
|
||||
|
||||
$("#Login_00010003").keypress(Login_Enter);
|
||||
$("#Login_00010005").keypress(Login_Enter);
|
||||
$("#Login_00010007").keypress(Login_Enter);
|
||||
}
|
||||
|
||||
function Login_Enter(e) {
|
||||
if(e.keyCode == 13) {
|
||||
Login_Login();
|
||||
}
|
||||
}
|
||||
|
||||
function Login_Update() {
|
||||
$("#Login_00010003").val("");
|
||||
$("#Login_00010005").val("");
|
||||
$("#Login_00010007").val("");
|
||||
|
||||
$("#Login_00010003").focus();
|
||||
}
|
||||
|
||||
function Login_DefaultConMsg() {
|
||||
$("#Login_00010007").val("자택");
|
||||
}
|
||||
|
||||
function Login_Login() {
|
||||
var id = $("#Login_00010003").val();
|
||||
var pw = $("#Login_00010005").val();
|
||||
var token = $("#token_login").val();
|
||||
var conmsg = $("#Login_00010007").val();
|
||||
|
||||
if(id.length == 0) {
|
||||
Popup_Alert("ID를 입력해주세요!", function() {
|
||||
$("#Login_00010003").focus();
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
if(pw.length == 0) {
|
||||
Popup_Alert("PW를 입력해주세요!", function() {
|
||||
$("#Login_00010005").focus();
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
if(conmsg.length == 0) {
|
||||
Popup_Alert("접속장소를 입력해주세요!", function() {
|
||||
$("#Login_00010007").focus();
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
pw = hex_md5(pw+""+pw)+""+hex_md5(token);
|
||||
|
||||
Popup_Wait(function() {
|
||||
PostJSON(
|
||||
HOME+I+LOGIN+W+POST, {
|
||||
id: id,
|
||||
pw: pw,
|
||||
conmsg: conmsg
|
||||
},
|
||||
function(response, textStatus) {
|
||||
if(response.result == "SUCCESS") {
|
||||
Popup_WaitHide();
|
||||
ReplaceFrame(HOME);
|
||||
} else {
|
||||
Popup_WaitShow(response.msg, function() {
|
||||
$("#Login_00010010").focus();
|
||||
});
|
||||
}
|
||||
}
|
||||
)
|
||||
});
|
||||
}
|
||||
|
||||
function Login_Findpw() {
|
||||
$("#Login_00").hide();
|
||||
$("#LoginFindpw_00").show();
|
||||
LoginFindpw_Update();
|
||||
}
|
||||
|
||||
function Login_Join() {
|
||||
$("#Login_00").hide();
|
||||
$("#LoginJoin_00").show();
|
||||
LoginJoin_Update();
|
||||
}
|
||||
@@ -0,0 +1,95 @@
|
||||
<?
|
||||
require_once('_common.php');
|
||||
require_once(ROOT.W.F_CONFIG.W.DB.PHP);
|
||||
|
||||
$rs = $DB->Select('REG, LOGIN', 'SYSTEM', "NO='1'");
|
||||
$system = $DB->Get($rs);
|
||||
?>
|
||||
|
||||
<? include(FINDPW.W.FRAME); ?>
|
||||
<? include(JOIN.W.FRAME); ?>
|
||||
|
||||
<div id="Login_00">
|
||||
|
||||
<div id="Login_0000">심의</div>
|
||||
<? $banner_id = 'none'; ?>
|
||||
<div id="Login_0002">
|
||||
<? include(ROOT.W.'i_banner/banner.php'); ?>
|
||||
</div>
|
||||
<div id="Login_0003">
|
||||
<? include(ROOT.W.'i_banner/banner.php'); ?>
|
||||
</div>
|
||||
|
||||
<div class="Login_TopBottomButtons">
|
||||
<input type="button" value="게시판메인" class="Login_TopBottomButton Login_Bbs">
|
||||
<input type="button" value="삼모게시판" class="Login_TopBottomButton Login_Free">
|
||||
<input type="button" value="삼국일보" class="Login_TopBottomButton Login_News">
|
||||
<input type="button" value="레퍼런스" class="Login_TopBottomButton Login_Reference">
|
||||
<input type="button" value="패치게시판" class="Login_TopBottomButton Login_Patch">
|
||||
<input type="button" value="참여게시판" class="Login_TopBottomButton Login_Donation">
|
||||
<input type="button" value="튜토리얼" class="Login_TopBottomButton Login_Tutorial">
|
||||
<input type="button" value="왕조일람" class="Login_TopBottomButton Login_Emperior")>
|
||||
<input type="button" value="접속량정보" class="Login_TopBottomButton Login_Traffic">
|
||||
</div>
|
||||
<div id="Login_0001" style="background-image: url('<?=IMAGES.W.'back7.jpg';?>');">
|
||||
<div id="Login_000100" class="bg0">
|
||||
<div id="Login_00010000" class="bg1">삼모전 유기체서버</div>
|
||||
<div id="Login_00010001" class="bg1">통합관리</div>
|
||||
<div id="Login_00010002">ID </div>
|
||||
<input id="Login_00010003" type="text" maxlength="12">
|
||||
<div id="Login_00010004">PW </div>
|
||||
<input id="Login_00010005" type="password" maxlength="12">
|
||||
<input id="token_login" type="hidden" value="<?=md5(rand()%100000000);?>">
|
||||
<div id="Login_00010006">접속장소 </div>
|
||||
<input id="Login_00010007" type="text" maxlength="35">
|
||||
<input id="Login_00010008" type="button" value="비번 찾기">
|
||||
<?
|
||||
if($system['REG'] == 'Y') {
|
||||
echo '
|
||||
<input id="Login_00010009" type="button" value="회원 가입">
|
||||
';
|
||||
} else {
|
||||
echo '
|
||||
<input id="Login_00010009" type="button" value="가입 금지중" disabled>
|
||||
';
|
||||
}
|
||||
?>
|
||||
<?
|
||||
if($system['LOGIN'] == 'Y') {
|
||||
echo '
|
||||
<input id="Login_00010010" type="button" value="로그인">
|
||||
';
|
||||
} else {
|
||||
echo '
|
||||
<input id="Login_00010010" type="button" value="로그인 금지중">
|
||||
';
|
||||
}
|
||||
?>
|
||||
|
||||
<div id="Login_00010011" class="Login_Alert">
|
||||
<b><pre>접속장소 예문 : 형/동생, 삼모대학 컴퓨터실
|
||||
원칙적으로 1IP/1인이며 예외가 필요한 경우
|
||||
접속장소를 상세히 적어주셔야 합니다.
|
||||
(제대로 입력 안할시 블럭될 수 있습니다)</pre></b>
|
||||
</div>
|
||||
<div id="Login_00010012" class="bg0"><b>※체섭은 맑은고딕체를 권장합니다.</b></div>
|
||||
<input id="Login_00010013" type="button" value="튜토리얼">
|
||||
<input id="Login_00010014" type="button" value="스크린샷">
|
||||
</div>
|
||||
<div id="Login_000101" class="bg0">
|
||||
<b><pre>삼국지 모의전투 유기체서버
|
||||
제작자 : 유기체(jwh1807@gmail.com)</pre></b>
|
||||
</div>
|
||||
</div>
|
||||
<div class="Login_TopBottomButtons">
|
||||
<input type="button" value="게시판메인" class="Login_TopBottomButton Login_Bbs">
|
||||
<input type="button" value="삼모게시판" class="Login_TopBottomButton Login_Free">
|
||||
<input type="button" value="삼국일보" class="Login_TopBottomButton Login_News">
|
||||
<input type="button" value="레퍼런스" class="Login_TopBottomButton Login_Reference">
|
||||
<input type="button" value="패치게시판" class="Login_TopBottomButton Login_Patch">
|
||||
<input type="button" value="참여게시판" class="Login_TopBottomButton Login_Donation">
|
||||
<input type="button" value="튜토리얼" class="Login_TopBottomButton Login_Tutorial">
|
||||
<input type="button" value="왕조일람" class="Login_TopBottomButton Login_Emperior")>
|
||||
<input type="button" value="접속량정보" class="Login_TopBottomButton Login_Traffic">
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,54 @@
|
||||
<?
|
||||
// 외부 파라미터
|
||||
// $_POST['id'] : ID
|
||||
// $_POST['pw'] : PW
|
||||
// $_POST['conmsg'] : 접속장소
|
||||
$id = $_POST['id'];
|
||||
$pw = $_POST['pw'];
|
||||
$conmsg = $_POST['conmsg'];
|
||||
|
||||
require_once('_common.php');
|
||||
require_once(ROOT.W.F_FUNC.W.'class._JSON.php');
|
||||
require_once(ROOT.W.F_FUNC.W.'class._Session.php');
|
||||
require_once(ROOT.W.F_FUNC.W.'class._String.php');
|
||||
require_once(ROOT.W.F_CONFIG.W.DB.PHP);
|
||||
|
||||
$id = _String::NoSpecialCharacter($id);
|
||||
$pw = substr($pw, 0, 32);
|
||||
|
||||
$response['result'] = 'FAIL';
|
||||
|
||||
_Session::TrashSession();
|
||||
|
||||
$SESSION = new _Session();
|
||||
|
||||
$rs = $DB->Select('NO, GRADE, QUIT', 'MEMBER', "ID='{$id}' AND PW='{$pw}'");
|
||||
if($DB->Count($rs) == 1) {
|
||||
$member = $DB->Get($rs);
|
||||
|
||||
if($member['QUIT'] != 'Y') {
|
||||
$rs = $DB->Select('LOGIN', 'SYSTEM', "NO='1'");
|
||||
$system = $DB->Get($rs);
|
||||
|
||||
if($system['LOGIN'] == Y || $member['GRADE'] >= 5) {
|
||||
$SESSION->Login($member['NO']);
|
||||
$DB->Update('MEMBER', "CONMSG='{$conmsg}', IP='{$_SERVER['REMOTE_ADDR']}'", "NO='{$member['NO']}'");
|
||||
|
||||
$response['result'] = 'SUCCESS';
|
||||
} else {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '로그인 실패! 현재는 로그인이 금지되어있습니다.';
|
||||
}
|
||||
} else {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '탈퇴 신청중인 계정입니다!';
|
||||
}
|
||||
} else {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '로그인 실패! ID, PW를 확인해주세요.';
|
||||
}
|
||||
|
||||
sleep(1);
|
||||
echo json_encode($response);
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,136 @@
|
||||
@charset "utf-8";
|
||||
|
||||
@import url("findpw/Style.css");
|
||||
@import url("join/Style.css");
|
||||
|
||||
#Login_00 {
|
||||
width: 1024px; height: 815px;
|
||||
position: absolute; top: 0px; left: 50%;
|
||||
margin-left: -512px; /* DIV박스 크기의 1/2로 마진을 잡아줍니다. */
|
||||
}
|
||||
|
||||
.Login_TopBottomButtons {
|
||||
width: 1024px; height: 20px;
|
||||
}
|
||||
|
||||
.Login_TopBottomButton {
|
||||
width: 113px; height: 20px;
|
||||
float: left;
|
||||
background-color: #225500;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#Login_0000 {
|
||||
width: 52px; height: 52px;
|
||||
position: absolute; top: 30px; left: 10px;
|
||||
border: 1px solid white;
|
||||
}
|
||||
|
||||
#Login_0002 {
|
||||
width: 160px; height: 600px;
|
||||
position: absolute; top: 100px; left: -170px;
|
||||
}
|
||||
|
||||
#Login_0003 {
|
||||
width: 160px; height: 600px;
|
||||
position: absolute; top: 100px; left: 1034px;
|
||||
}
|
||||
|
||||
#Login_0001 {
|
||||
width: 1024px; height: 768px;
|
||||
background-color: black; background-position: center; background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
#Login_000100 {
|
||||
width: 350px; height: 230px;
|
||||
position: absolute; left: 337px; top: 269px;
|
||||
}
|
||||
|
||||
#Login_00010000 {
|
||||
width: 173px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#Login_00010001 {
|
||||
width: 173px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#Login_00010002 {
|
||||
width: 104px;
|
||||
float: left;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#Login_00010003 {
|
||||
width: 92px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#Login_00010004 {
|
||||
width: 50px;
|
||||
float: left;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#Login_00010005 {
|
||||
width: 92px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#Login_00010006 {
|
||||
width: 104px;
|
||||
float: left;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#Login_00010007 {
|
||||
width: 240px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#Login_00010008 {
|
||||
width: 50px; height: 50px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#Login_00010009 {
|
||||
width: 100px; height: 50px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#Login_00010010 {
|
||||
width: 200px; height: 50px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#Login_00010011 {
|
||||
width: 348px; height: 60px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#Login_00010012 {
|
||||
width: 348px; height: 20px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#Login_00010013 {
|
||||
width: 150px; height: 30px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#Login_00010014 {
|
||||
width: 200px; height: 30px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.Login_Alert {
|
||||
text-align: right;
|
||||
color: cyan;
|
||||
}
|
||||
|
||||
#Login_000101 {
|
||||
width: 280px; height: 40px;
|
||||
position: absolute; left: 700px; top: 720px;
|
||||
padding-top: 10px;
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
<?
|
||||
define(ROOT, '..');
|
||||
require_once(ROOT.'/f_config/config.php');
|
||||
require_once(ROOT.W.F_CONFIG.W.APP.PHP);
|
||||
require_once(ROOT.W.F_FUNC.W.FUNC.PHP);
|
||||
|
||||
CustomHeader();
|
||||
?>
|
||||
@@ -0,0 +1,297 @@
|
||||
var LoginFindpw_idChecked = 0;
|
||||
var LoginFindpw_pidChecked = 0;
|
||||
var LoginFindpw_emailChecked = 0;
|
||||
var LoginFindpw_emailVerified = 0;
|
||||
|
||||
function LoginFindpw_Import() {
|
||||
}
|
||||
|
||||
function LoginFindpw_Init() {
|
||||
$(".LoginFindpw_back").click(LoginFindpw_Back);
|
||||
$("#LoginFindpw_000601").click(LoginFindpw_CheckId);
|
||||
$("#LoginFindpw_001402").click(LoginFindpw_CheckPid);
|
||||
$("#LoginFindpw_002001").click(LoginFindpw_CheckEmail);
|
||||
$("#LoginFindpw_002300").click(LoginFindpw_SendCode);
|
||||
$("#LoginFindpw_002302").click(LoginFindpw_VerifyCode);
|
||||
|
||||
$("#LoginFindpw_000600").keydown(LoginFindpw_InvalidateId);
|
||||
$("#LoginFindpw_001400").keydown(LoginFindpw_InvalidatePid);
|
||||
$("#LoginFindpw_001401").keydown(LoginFindpw_InvalidatePid);
|
||||
$("#LoginFindpw_002000").keydown(LoginFindpw_InvalidateEmail);
|
||||
|
||||
$("#LoginFindpw_002800").click(function() { LoginFindpw_Findpw(); });
|
||||
$("#LoginFindpw_002900").click(function() { LoginFindpw_Update(); });
|
||||
}
|
||||
|
||||
function LoginFindpw_Update() {
|
||||
LoginFindpw_UpdateRegisteredCount();
|
||||
|
||||
$("#LoginFindpw_000600").val("");
|
||||
$("#LoginFindpw_001400").val("");
|
||||
$("#LoginFindpw_001401").val("");
|
||||
$("#LoginFindpw_002000").val("");
|
||||
$("#LoginFindpw_002301").val("");
|
||||
|
||||
LoginFindpw_InvalidateId();
|
||||
LoginFindpw_InvalidatePid();
|
||||
LoginFindpw_InvalidateEmail();
|
||||
LoginFindpw_InvalidateCode();
|
||||
|
||||
$("#LoginFindpw_000600").focus();
|
||||
}
|
||||
|
||||
function LoginFindpw_UpdateRegisteredCount() {
|
||||
GetJSON(
|
||||
HOME+I+LOGIN+W+FINDPW+W+GET, { },
|
||||
function(response, textStatus) {
|
||||
if(response.result == "SUCCESS") {
|
||||
$("#LoginFindpw_000100").text(response.registeredCount);
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
function LoginFindpw_Back() {
|
||||
$("#LoginFindpw_00").hide();
|
||||
|
||||
$("#Login_00").show();
|
||||
Login_Update();
|
||||
}
|
||||
|
||||
function LoginFindpw_InvalidateId() {
|
||||
LoginFindpw_EnableCheckId();
|
||||
}
|
||||
|
||||
function LoginFindpw_InvalidatePid() {
|
||||
LoginFindpw_EnableCheckPid();
|
||||
}
|
||||
|
||||
function LoginFindpw_InvalidateEmail() {
|
||||
LoginFindpw_EnableCheckEmail();
|
||||
LoginFindpw_InvalidateCode();
|
||||
}
|
||||
|
||||
function LoginFindpw_InvalidateCode() {
|
||||
LoginFindpw_DisableSendCode(0);
|
||||
LoginFindpw_DisableVerifyCode(0);
|
||||
LoginFindpw_emailVerified = 0;
|
||||
}
|
||||
|
||||
function LoginFindpw_CheckId() {
|
||||
LoginFindpw_Check(0);
|
||||
}
|
||||
|
||||
function LoginFindpw_CheckPid() {
|
||||
LoginFindpw_Check(1);
|
||||
}
|
||||
|
||||
function LoginFindpw_CheckEmail() {
|
||||
LoginFindpw_Check(2);
|
||||
}
|
||||
|
||||
function LoginFindpw_SendCode() {
|
||||
var email = $("#LoginFindpw_002000").val();
|
||||
|
||||
Popup_Wait(function() {
|
||||
PostJSON(
|
||||
HOME+I+LOGIN+W+FINDPW+W+"sendCode"+POST, {
|
||||
email: email
|
||||
},
|
||||
function(response, textStatus) {
|
||||
Popup_WaitShow(response.msg, function() {
|
||||
if(response.result == "SUCCESS") {
|
||||
LoginFindpw_DisableSendCode(1);
|
||||
LoginFindpw_EnableVerifyCode();
|
||||
$("#LoginFindpw_002301").val("");
|
||||
$("#LoginFindpw_002301").focus();
|
||||
} else {
|
||||
}
|
||||
})
|
||||
}
|
||||
)
|
||||
});
|
||||
}
|
||||
|
||||
function LoginFindpw_VerifyCode() {
|
||||
var email = $("#LoginFindpw_002000").val();
|
||||
var code = $("#LoginFindpw_002301").val();
|
||||
|
||||
if(code.length < 6) {
|
||||
Popup_Alert("인증코드는 6자리입니다!", function() {
|
||||
$("#LoginFindpw_002301").val("");
|
||||
$("#LoginFindpw_002301").focus();
|
||||
});
|
||||
return false;
|
||||
} else if(code.length == 6) {
|
||||
Popup_Wait(function() {
|
||||
PostJSON(
|
||||
HOME+I+LOGIN+W+FINDPW+W+"verifyCode"+POST, {
|
||||
email: email,
|
||||
code: code
|
||||
},
|
||||
function(response, textStatus) {
|
||||
Popup_WaitShow(response.msg, function() {
|
||||
if(response.result == "SUCCESS") {
|
||||
LoginFindpw_DisableVerifyCode(1);
|
||||
LoginFindpw_emailVerified = 1;
|
||||
} else {
|
||||
$("#LoginFindpw_002301").val("");
|
||||
$("#LoginFindpw_002301").focus();
|
||||
}
|
||||
})
|
||||
}
|
||||
)
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function LoginFindpw_Check(type) {
|
||||
var id = $("#LoginFindpw_000600").val();
|
||||
var pid1 = $("#LoginFindpw_001400").val();
|
||||
var pid2 = $("#LoginFindpw_001401").val();
|
||||
var email = $("#LoginFindpw_002000").val();
|
||||
|
||||
Popup_Wait(function() {
|
||||
PostJSON(
|
||||
HOME+I+LOGIN+W+FINDPW+W+"check"+POST, {
|
||||
type: type,
|
||||
id: id,
|
||||
pid1: pid1,
|
||||
pid2: pid2,
|
||||
email: email
|
||||
},
|
||||
function(response, textStatus) {
|
||||
Popup_WaitShow(response.msg, function() {
|
||||
if(response.result == "SUCCESS") {
|
||||
switch(response.type) {
|
||||
case "0":
|
||||
LoginFindpw_DisableCheckId();
|
||||
break;
|
||||
case "1":
|
||||
LoginFindpw_DisableCheckPid();
|
||||
break;
|
||||
case "2":
|
||||
LoginFindpw_DisableCheckEmail();
|
||||
LoginFindpw_EnableSendCode();
|
||||
break;
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
)
|
||||
});
|
||||
}
|
||||
|
||||
function LoginFindpw_Findpw() {
|
||||
if(LoginFindpw_FindpwTest() == false) {
|
||||
return;
|
||||
}
|
||||
|
||||
var id = $("#LoginFindpw_000600").val();
|
||||
var pid1 = $("#LoginFindpw_001400").val();
|
||||
var pid2 = $("#LoginFindpw_001401").val();
|
||||
var email = $("#LoginFindpw_002000").val();
|
||||
|
||||
Popup_Wait(function() {
|
||||
PostJSON(
|
||||
HOME+I+LOGIN+W+FINDPW+W+POST, {
|
||||
id: id,
|
||||
pid1: pid1,
|
||||
pid2: pid2,
|
||||
name: name,
|
||||
email: email
|
||||
},
|
||||
function(response, textStatus) {
|
||||
Popup_WaitShow(response.msg, function() {
|
||||
if(response.result == "SUCCESS") {
|
||||
LoginFindpw_Back();
|
||||
} else {
|
||||
LoginFindpw_Update();
|
||||
}
|
||||
});
|
||||
}
|
||||
)
|
||||
});
|
||||
}
|
||||
|
||||
function LoginFindpw_FindpwTest() {
|
||||
if(LoginFindpw_idChecked + LoginFindpw_pidChecked + LoginFindpw_emailChecked + LoginFindpw_emailVerified < 4) {
|
||||
Popup_Alert("4가지 확인을 해주세요!");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function LoginFindpw_EnableCheckId() {
|
||||
LoginFindpw_idChecked = 0;
|
||||
$("#LoginFindpw_000601").val("아이디 존재 확인");
|
||||
$("#LoginFindpw_000601").removeAttr("disabled");
|
||||
$("#LoginFindpw_000601").css("color", "white");
|
||||
}
|
||||
|
||||
function LoginFindpw_DisableCheckId() {
|
||||
LoginFindpw_idChecked = 1;
|
||||
$("#LoginFindpw_000601").val("확인 완료");
|
||||
$("#LoginFindpw_000601").attr("disabled", true);
|
||||
$("#LoginFindpw_000601").css("color", "gray");
|
||||
}
|
||||
|
||||
function LoginFindpw_EnableCheckPid() {
|
||||
LoginFindpw_pidChecked = 0;
|
||||
$("#LoginFindpw_001402").val("생년월일 존재 확인");
|
||||
$("#LoginFindpw_001402").removeAttr("disabled");
|
||||
$("#LoginFindpw_001402").css("color", "white");
|
||||
}
|
||||
|
||||
function LoginFindpw_DisableCheckPid() {
|
||||
LoginFindpw_pidChecked = 1;
|
||||
$("#LoginFindpw_001402").val("확인 완료");
|
||||
$("#LoginFindpw_001402").attr("disabled", true);
|
||||
$("#LoginFindpw_001402").css("color", "gray");
|
||||
}
|
||||
|
||||
function LoginFindpw_EnableCheckEmail() {
|
||||
LoginFindpw_emailChecked = 0;
|
||||
$("#LoginFindpw_002001").val("이메일 존재 확인");
|
||||
$("#LoginFindpw_002001").removeAttr("disabled");
|
||||
$("#LoginFindpw_002001").css("color", "white");
|
||||
}
|
||||
|
||||
function LoginFindpw_DisableCheckEmail() {
|
||||
LoginFindpw_emailChecked = 1;
|
||||
$("#LoginFindpw_002001").val("확인 완료");
|
||||
$("#LoginFindpw_002001").attr("disabled", true);
|
||||
$("#LoginFindpw_002001").css("color", "gray");
|
||||
}
|
||||
|
||||
function LoginFindpw_EnableSendCode() {
|
||||
$("#LoginFindpw_002300").val("인증번호 전송");
|
||||
$("#LoginFindpw_002300").removeAttr("disabled");
|
||||
$("#LoginFindpw_002300").css("color", "white");
|
||||
}
|
||||
|
||||
function LoginFindpw_DisableSendCode(type) {
|
||||
if(type == 0) {
|
||||
$("#LoginFindpw_002300").val("인증번호 전송");
|
||||
} else {
|
||||
$("#LoginFindpw_002300").val("전송 완료");
|
||||
}
|
||||
$("#LoginFindpw_002300").attr("disabled", true);
|
||||
$("#LoginFindpw_002300").css("color", "gray");
|
||||
}
|
||||
|
||||
function LoginFindpw_EnableVerifyCode() {
|
||||
$("#LoginFindpw_002302").val("인증번호 확인");
|
||||
$("#LoginFindpw_002302").removeAttr("disabled");
|
||||
$("#LoginFindpw_002302").css("color", "white");
|
||||
}
|
||||
|
||||
function LoginFindpw_DisableVerifyCode(type) {
|
||||
if(type == 0) {
|
||||
$("#LoginFindpw_002302").val("인증번호 확인");
|
||||
} else {
|
||||
$("#LoginFindpw_002302").val("확인 완료");
|
||||
}
|
||||
$("#LoginFindpw_002302").attr("disabled", true);
|
||||
$("#LoginFindpw_002302").css("color", "gray");
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
<?
|
||||
require_once('_common.php');
|
||||
?>
|
||||
|
||||
<div id="LoginFindpw_00" class="bg0">
|
||||
<div id="LoginFindpw_0000" class="font4">비 번 찾 기 <input class="LoginFindpw_back" type="button" value="돌아가기"></div>
|
||||
<div id="LoginFindpw_0001">전체 회원 수 : <font id="LoginFindpw_000100">0</font>명</div>
|
||||
<div id="LoginFindpw_0002">인증 완료되면 비번이 1111로 변경됩니다.</div>
|
||||
<div id="LoginFindpw_0003" class="bg1">비번 초기화</div>
|
||||
<div id="LoginFindpw_0005">ID </div>
|
||||
<div id="LoginFindpw_0006">
|
||||
<input id="LoginFindpw_000600" type="text" maxlength=12>
|
||||
<input id="LoginFindpw_000601" type="button" value="아이디 존재 확인">
|
||||
</div>
|
||||
<div id="LoginFindpw_0013">생년월일-성별 </div>
|
||||
<div id="LoginFindpw_0014">
|
||||
<input id="LoginFindpw_001400" type="text" maxlength=6>
|
||||
<input id="LoginFindpw_001401" type="text" maxlength=1>
|
||||
<input id="LoginFindpw_001402" type="button" value="생년월잉 확인">
|
||||
</div>
|
||||
<div id="LoginFindpw_0018">
|
||||
인증을 위한 이메일 주소를 입력해주세요.<br>
|
||||
<font class="LoginFindpw_notice">가입시 입력했던 인증메일을 수신할 주소입니다.</font><br>
|
||||
<font class="LoginFindpw_alert">메일인증을 하지 않으면 비번변경이 불가능합니다.</font>
|
||||
</div>
|
||||
<div id="LoginFindpw_0019">이메일 </div>
|
||||
<div id="LoginFindpw_0020">
|
||||
<input id="LoginFindpw_002000" type="text" maxlength=64>
|
||||
<input id="LoginFindpw_002001" type="button" value="이메일 중복 확인">(64글자 이내)
|
||||
</div>
|
||||
<div id="LoginFindpw_0021">
|
||||
인증을 위한 인증번호를 입력해주세요.<br>
|
||||
<font class="LoginFindpw_notice">인증번호전송을 누르고 메일을 확인하세요.</font><br>
|
||||
<font class="LoginFindpw_alert">번호를 확인하여 입력후 인증확인을 누르세요.</font>
|
||||
</div>
|
||||
<div id="LoginFindpw_0022">이메일 인증 </div>
|
||||
<div id="LoginFindpw_0023">
|
||||
<input id="LoginFindpw_002300" type="button" value="인증번호 전송">
|
||||
<input id="LoginFindpw_002301" type="text" maxlength=6>
|
||||
<input id="LoginFindpw_002302" type="button" value="인증번호 확인">
|
||||
</div>
|
||||
<div id="LoginFindpw_0028"><input id="LoginFindpw_002800" type="button" value="비번초기화"></div>
|
||||
<div id="LoginFindpw_0029"><input id="LoginFindpw_002900" type="button" value="다시 입력"></div>
|
||||
<div id="LoginFindpw_0030"><input class="LoginFindpw_back" type="button" value="돌아가기"></div>
|
||||
</div>
|
||||
@@ -0,0 +1,15 @@
|
||||
<?
|
||||
require_once('_common.php');
|
||||
require_once(ROOT.W.F_FUNC.W.'class._JSON.php');
|
||||
require_once(ROOT.W.F_CONFIG.W.DB.PHP);
|
||||
|
||||
$rs = $DB->Select('COUNT(*) AS CNT', 'MEMBER');
|
||||
|
||||
$registeredCount = $DB->Get($rs);
|
||||
$response['registeredCount'] = $registeredCount['CNT'];
|
||||
$response['result'] = 'SUCCESS';
|
||||
|
||||
sleep(1);
|
||||
echo json_encode($response);
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,123 @@
|
||||
<?
|
||||
// 외부 파라미터
|
||||
// $_POST['id'] : ID
|
||||
// $_POST['pid1'] : 주민번호
|
||||
// $_POST['pid2'] : 주민번호
|
||||
// $_POST['email'] : 이메일
|
||||
$id = $_POST['id'];
|
||||
$pid1 = $_POST['pid1'];
|
||||
$pid2 = $_POST['pid2'];
|
||||
$pid = $_POST['pid1'].'-'.substr($_POST['pid2'],0,1).'-'.md5($_POST['pid2']);
|
||||
$email = $_POST['email'];
|
||||
|
||||
require_once('_common.php');
|
||||
require_once(ROOT.W.F_FUNC.W.'class._JSON.php');
|
||||
require_once(ROOT.W.F_FUNC.W.'class._Time.php');
|
||||
require_once(ROOT.W.F_FUNC.W.'class._String.php');
|
||||
require_once(ROOT.W.F_FUNC.W.'class._Validation.php');
|
||||
require_once(ROOT.W.F_CONFIG.W.DB.PHP);
|
||||
|
||||
$response['result'] = 'FAIL';
|
||||
$err = _Validation::CheckID($id);
|
||||
if($err == 2) {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '영어 소문자와 숫자만 입력 가능합니다!';
|
||||
} elseif($err == 1) {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '4~12글자로 입력해주세요.';
|
||||
} elseif($err == 0) {
|
||||
$rs = $DB->Select('ID', 'MEMBER', "ID='{$id}'");
|
||||
$count = $DB->Count($rs);
|
||||
if($count == 1) {
|
||||
$response['result'] = 'SUCCESS';
|
||||
} else {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '없는 아이디입니다! 운영자에게 문의해보세요!';
|
||||
}
|
||||
}
|
||||
|
||||
if($response['result'] != 'SUCCESS') {
|
||||
echo json_encode($response);
|
||||
exit(0);
|
||||
}
|
||||
|
||||
$response['result'] = 'FAIL';
|
||||
$err = _Validation::CheckPID($pid1, $pid2);
|
||||
if($err == 3) {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '잘못된 주민번호 입니다!';
|
||||
} elseif($err == 2) {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '숫자가 아닙니다!';
|
||||
} elseif($err == 1) {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '입력이 충분치 않습니다!';
|
||||
} elseif($err == 0) {
|
||||
$rs = $DB->Select('PID', 'MEMBER', "ID='{$id}' AND PID='{$pid}'");
|
||||
$count = $DB->Count($rs);
|
||||
if($count == 1) {
|
||||
$response['result'] = 'SUCCESS';
|
||||
} else {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '아이디에 맞지 않는 주민번호입니다! 운영자에게 문의해보세요!';
|
||||
}
|
||||
}
|
||||
|
||||
if($response['result'] != 'SUCCESS') {
|
||||
echo json_encode($response);
|
||||
exit(0);
|
||||
}
|
||||
|
||||
$response['result'] = 'FAIL';
|
||||
$err = _Validation::CheckEmail($email);
|
||||
if($err == 1) {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '이메일이 올바르지 않습니다!';
|
||||
} elseif($err == 0) {
|
||||
$rs = $DB->Select('EMAIL', 'MEMBER', "ID='{$id}' AND EMAIL='{$email}'");
|
||||
$count = $DB->Count($rs);
|
||||
if($count == 1) {
|
||||
$response['result'] = 'SUCCESS';
|
||||
} else {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '아이디에 맞지 않는 이메일입니다! 운영자에게 문의해보세요!';
|
||||
}
|
||||
}
|
||||
|
||||
if($response['result'] != 'SUCCESS') {
|
||||
echo json_encode($response);
|
||||
exit(0);
|
||||
}
|
||||
|
||||
$response['result'] = 'FAIL';
|
||||
$rs = $DB->Select('VERIFIED', 'EMAIL', "EMAIL='{$email}'");
|
||||
$count = $DB->Count($rs);
|
||||
if($count != 1) {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = $email.' 에 대한 인증정보가 없습니다! 운영자에게 문의해보세요!';
|
||||
} else {
|
||||
$res = $DB->Get($rs);
|
||||
if($res['VERIFIED'] == 1) {
|
||||
$response['result'] = 'SUCCESS';
|
||||
} else {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = $email.' 에 대한 인증이 되지 않았습니다! 운영자에게 문의해보세요!';
|
||||
}
|
||||
}
|
||||
|
||||
if($response['result'] != 'SUCCESS') {
|
||||
echo json_encode($response);
|
||||
exit(0);
|
||||
}
|
||||
|
||||
// 비밀번호 변경
|
||||
$pw = md5('11111111');
|
||||
$DB->Update('MEMBER', "PW='{$pw}'", "ID='{$id}'");
|
||||
|
||||
$response['result'] = 'SUCCESS';
|
||||
$response['msg'] = "정상적으로 비번이 변경되었습니다. ID: {$id}";
|
||||
|
||||
sleep(1);
|
||||
echo json_encode($response);
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,178 @@
|
||||
@charset "utf-8";
|
||||
|
||||
#LoginFindpw_00 {
|
||||
width: 800px; height: 851px;
|
||||
position: absolute; top: 0px; left: 50%;
|
||||
margin-left: -400px; /* DIV박스 크기의 1/2로 마진을 잡아줍니다. */
|
||||
display: none;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
#LoginFindpw_0000 {
|
||||
width: 800px; height: 50px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.LoginFindpw_back {
|
||||
height: 30px;
|
||||
}
|
||||
|
||||
#LoginFindpw_0001 {
|
||||
width: 800px; height: 15px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginFindpw_0002 {
|
||||
width: 800px; height: 30px;
|
||||
float: left;
|
||||
color: red; font-size: 20px; font-weight: bold;
|
||||
}
|
||||
|
||||
#LoginFindpw_0003 {
|
||||
width: 800px; height: 25px;
|
||||
float: left;
|
||||
font-size: 20px; font-weight: bold;
|
||||
}
|
||||
|
||||
#LoginFindpw_0005 {
|
||||
width: 398px; height: 20px;
|
||||
float: left;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#LoginFindpw_0006 {
|
||||
width: 398px; height: 20px;
|
||||
float: left;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#LoginFindpw_000600 {
|
||||
width: 100px; height: 16px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginFindpw_000601 {
|
||||
width: 120px; height: 20px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginFindpw_0013 {
|
||||
width: 398px; height: 20px;
|
||||
float: left;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#LoginFindpw_0014 {
|
||||
width: 398px; height: 20px;
|
||||
float: left;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#LoginFindpw_001400 {
|
||||
width: 100px; height: 16px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginFindpw_001401 {
|
||||
width: 20px; height: 16px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginFindpw_001402 {
|
||||
width: 120px; height: 20px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginFindpw_0018 {
|
||||
width: 800px; height: 50px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginFindpw_0019 {
|
||||
width: 398px; height: 20px;
|
||||
float: left;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#LoginFindpw_0020 {
|
||||
width: 398px; height: 20px;
|
||||
float: left;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#LoginFindpw_002000 {
|
||||
width: 100px; height: 16px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginFindpw_002001 {
|
||||
width: 120px; height: 20px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginFindpw_0021 {
|
||||
width: 800px; height: 50px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginFindpw_0022 {
|
||||
width: 398px; height: 20px;
|
||||
float: left;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#LoginFindpw_0023 {
|
||||
width: 398px; height: 20px;
|
||||
float: left;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#LoginFindpw_002300 {
|
||||
width: 100px; height: 20px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginFindpw_002301 {
|
||||
width: 50px; height: 16px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginFindpw_002302 {
|
||||
width: 100px; height: 20px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginFindpw_0028 {
|
||||
width: 398px; height: 30px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginFindpw_002800 {
|
||||
width: 120px; height: 30px;
|
||||
}
|
||||
|
||||
#LoginFindpw_0029 {
|
||||
width: 398px; height: 30px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginFindpw_002900 {
|
||||
width: 120px; height: 30px;
|
||||
}
|
||||
|
||||
#LoginFindpw_0030 {
|
||||
width: 800px; height: 30px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.LoginFindpw_notice {
|
||||
color: cyan;
|
||||
font-size: 15px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.LoginFindpw_alert {
|
||||
color: red;
|
||||
font-size: 15px;
|
||||
font-weight: bold;
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
<?
|
||||
define(ROOT, '../..');
|
||||
require_once(ROOT.'/f_config/config.php');
|
||||
require_once(ROOT.W.F_CONFIG.W.APP.PHP);
|
||||
require_once(ROOT.W.F_FUNC.W.FUNC.PHP);
|
||||
|
||||
CustomHeader();
|
||||
?>
|
||||
@@ -0,0 +1,85 @@
|
||||
<?
|
||||
// 외부 파라미터
|
||||
// $_POST['type'] : 0: ID체크, 1: 주민번호 체크, 2: 이메일 체크
|
||||
// $_POST['id'] : ID
|
||||
// $_POST['pid1'] : 주민번호
|
||||
// $_POST['pid2'] : 주민번호
|
||||
// $_POST['email'] : 이메일
|
||||
$type = $_POST['type'];
|
||||
$id = $_POST['id'];
|
||||
$pid1 = $_POST['pid1'];
|
||||
$pid2 = $_POST['pid2'];
|
||||
$pid = $_POST['pid1'].'-'.substr($_POST['pid2'],0,1).'-'.md5($_POST['pid2']);
|
||||
$email = $_POST['email'];
|
||||
|
||||
require_once('_common.php');
|
||||
require_once(ROOT.W.F_FUNC.W.'class._JSON.php');
|
||||
require_once(ROOT.W.F_FUNC.W.'class._String.php');
|
||||
require_once(ROOT.W.F_FUNC.W.'class._Validation.php');
|
||||
require_once(ROOT.W.F_CONFIG.W.DB.PHP);
|
||||
|
||||
$response['type'] = $type;
|
||||
|
||||
if($type == 0) {
|
||||
$err = _Validation::CheckID($id);
|
||||
if($err == 2) {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '영어 소문자와 숫자만 입력 가능합니다!';
|
||||
} elseif($err == 1) {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '4~12글자로 입력해주세요.';
|
||||
} elseif($err == 0) {
|
||||
$rs = $DB->Select('ID', 'MEMBER', "ID='{$id}'");
|
||||
$count = $DB->Count($rs);
|
||||
if($count == 1) {
|
||||
$response['result'] = 'SUCCESS';
|
||||
$response['msg'] = '존재하는 아이디입니다. ^^';
|
||||
} else {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '없는 아이디입니다! 운영자에게 문의해보세요!';
|
||||
}
|
||||
}
|
||||
} elseif($type == 1) {
|
||||
$err = _Validation::CheckPID($pid1, $pid2);
|
||||
if($err == 3) {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '잘못된 주민번호 입니다!';
|
||||
} elseif($err == 2) {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '숫자가 아닙니다!';
|
||||
} elseif($err == 1) {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '입력이 충분치 않습니다!';
|
||||
} elseif($err == 0) {
|
||||
$rs = $DB->Select('PID', 'MEMBER', "ID='{$id}' AND PID='{$pid}'");
|
||||
$count = $DB->Count($rs);
|
||||
if($count == 1) {
|
||||
$response['result'] = 'SUCCESS';
|
||||
$response['msg'] = '맞는 주민번호입니다. ^^';
|
||||
} else {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '아이디에 맞지 않는 주민번호입니다! 운영자에게 문의해보세요!';
|
||||
}
|
||||
}
|
||||
} elseif($type == 2) {
|
||||
$err = _Validation::CheckEmail($email);
|
||||
if($err == 1) {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '이메일이 올바르지 않습니다!';
|
||||
} elseif($err == 0) {
|
||||
$rs = $DB->Select('EMAIL', 'MEMBER', "ID='{$id}' AND EMAIL='{$email}'");
|
||||
$count = $DB->Count($rs);
|
||||
if($count == 1) {
|
||||
$response['result'] = 'SUCCESS';
|
||||
$response['msg'] = '맞는 이메일입니다. ^^';
|
||||
} else {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '아이디에 맞지 않는 이메일입니다! 운영자에게 문의해보세요!';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sleep(1);
|
||||
echo json_encode($response);
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,49 @@
|
||||
<?
|
||||
// 외부 파라미터
|
||||
// $_POST['email'] : 이메일
|
||||
$email = $_POST['email'];
|
||||
|
||||
require_once('_common.php');
|
||||
require_once(ROOT.W.F_FUNC.W.'class._JSON.php');
|
||||
require_once(ROOT.W.F_FUNC.W.'class._String.php');
|
||||
require_once(ROOT.W.F_FUNC.W.'class._Validation.php');
|
||||
require_once(ROOT.W.F_FUNC.W.'class._Time.php');
|
||||
require_once(ROOT.W.F_CONFIG.W.DB.PHP);
|
||||
require_once(ROOT.W.F_CONFIG.W.'MAIL'.PHP);
|
||||
|
||||
$response['result'] = 'FAIL';
|
||||
|
||||
$err = _Validation::CheckEmail($email);
|
||||
if($err == 1) {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '이메일이 올바르지 않습니다!';
|
||||
} elseif($err == 0) {
|
||||
$code = _String::Fill2(rand()%1000000, 6);
|
||||
|
||||
$res = $MAIL->Send($email, 'Auth code from 62che.com', "인증번호: {$code}");
|
||||
|
||||
if($res['result'] != 0) {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '이메일전송이 실패: '.$res['msg'];
|
||||
} else {
|
||||
$rs = $DB->Select('EMAIL', 'EMAIL', "EMAIL='{$email}'");
|
||||
$count = $DB->Count($rs);
|
||||
if($count > 0) {
|
||||
$DB->Delete('EMAIL', "EMAIL='{$email}'");
|
||||
}
|
||||
$DB->InsertArray('EMAIL', array(
|
||||
EMAIL => $email,
|
||||
CODE => $code,
|
||||
VERIFIED=> 0,
|
||||
REG_DATE=> _Time::DatetimeNow()
|
||||
));
|
||||
|
||||
$response['result'] = 'SUCCESS';
|
||||
$response['msg'] = $email.'로 인증번호가 전송되었습니다. 이메일을 확인하세요.';
|
||||
}
|
||||
}
|
||||
|
||||
//sleep(1);
|
||||
echo json_encode($response);
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,48 @@
|
||||
<?
|
||||
// 외부 파라미터
|
||||
// $_POST['email'] : 이메일
|
||||
// $_POST['code'] : 인증번호
|
||||
$email = $_POST['email'];
|
||||
$code = $_POST['code'];
|
||||
|
||||
require_once('_common.php');
|
||||
require_once(ROOT.W.F_FUNC.W.'class._JSON.php');
|
||||
require_once(ROOT.W.F_FUNC.W.'class._Validation.php');
|
||||
require_once(ROOT.W.F_FUNC.W.'class._Time.php');
|
||||
require_once(ROOT.W.F_CONFIG.W.DB.PHP);
|
||||
|
||||
$response['result'] = 'FAIL';
|
||||
|
||||
$err = _Validation::CheckEmail($email);
|
||||
if($err == 1) {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '이메일이 올바르지 않습니다!';
|
||||
} elseif($err == 0) {
|
||||
$rs = $DB->Select('CODE', 'EMAIL', "EMAIL='{$email}'");
|
||||
$count = $DB->Count($rs);
|
||||
|
||||
if($count == 0) {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '인증번호 전송 내역이 없습니다.';
|
||||
} elseif($count == 1) {
|
||||
$result = $DB->Get($rs);
|
||||
|
||||
if($result['CODE'] != $code) {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '인증번호가 일치하지 않습니다.';
|
||||
} else {
|
||||
$DB->UpdateArray('EMAIL', array(
|
||||
VERIFIED=> 1,
|
||||
VRF_DATE=> _Time::DatetimeNow()
|
||||
), "EMAIL='{$email}'");
|
||||
|
||||
$response['result'] = 'SUCCESS';
|
||||
$response['msg'] = '인증번호가 확인되었습니다.';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sleep(1);
|
||||
echo json_encode($response);
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,356 @@
|
||||
var LoginJoin_idChecked = 0;
|
||||
var LoginJoin_pidChecked = 0;
|
||||
var LoginJoin_nameChecked = 0;
|
||||
var LoginJoin_emailChecked = 0;
|
||||
var LoginJoin_emailVerified = 0;
|
||||
|
||||
function LoginJoin_Import() {
|
||||
}
|
||||
|
||||
function LoginJoin_Init() {
|
||||
$(".LoginJoin_back").click(LoginJoin_Back);
|
||||
$("#LoginJoin_000601").click(LoginJoin_CheckId);
|
||||
$("#LoginJoin_001402").click(LoginJoin_CheckPid);
|
||||
$("#LoginJoin_001701").click(LoginJoin_CheckName);
|
||||
$("#LoginJoin_002001").click(LoginJoin_CheckEmail);
|
||||
$("#LoginJoin_002300").click(LoginJoin_SendCode);
|
||||
$("#LoginJoin_002302").click(LoginJoin_VerifyCode);
|
||||
|
||||
$("#LoginJoin_000600").keydown(LoginJoin_InvalidateId);
|
||||
$("#LoginJoin_001400").keydown(LoginJoin_InvalidatePid);
|
||||
$("#LoginJoin_001401").keydown(LoginJoin_InvalidatePid);
|
||||
$("#LoginJoin_001700").keydown(LoginJoin_InvalidateName);
|
||||
$("#LoginJoin_002000").keydown(LoginJoin_InvalidateEmail);
|
||||
|
||||
$("#LoginJoin_002800").click(function() { LoginJoin_Join(); });
|
||||
$("#LoginJoin_002900").click(function() { LoginJoin_Update(); });
|
||||
}
|
||||
|
||||
function LoginJoin_Update() {
|
||||
LoginJoin_UpdateRegisteredCount();
|
||||
|
||||
$("#LoginJoin_000600").val("");
|
||||
$("#LoginJoin_000900").val("");
|
||||
$("#LoginJoin_001100").val("");
|
||||
$("#LoginJoin_001400").val("");
|
||||
$("#LoginJoin_001401").val("");
|
||||
$("#LoginJoin_001700").val("");
|
||||
$("#LoginJoin_002000").val("");
|
||||
$("#LoginJoin_002301").val("");
|
||||
$("#LoginJoin_002700").attr("checked", false);
|
||||
|
||||
LoginJoin_InvalidateId();
|
||||
LoginJoin_InvalidatePid();
|
||||
LoginJoin_InvalidateName();
|
||||
LoginJoin_InvalidateEmail();
|
||||
LoginJoin_InvalidateCode();
|
||||
|
||||
$("#LoginJoin_000600").focus();
|
||||
}
|
||||
|
||||
function LoginJoin_UpdateRegisteredCount() {
|
||||
GetJSON(
|
||||
HOME+I+LOGIN+W+JOIN+W+GET, { },
|
||||
function(response, textStatus) {
|
||||
if(response.result == "SUCCESS") {
|
||||
$("#LoginJoin_000100").text(response.registeredCount);
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
function LoginJoin_Back() {
|
||||
$("#LoginJoin_00").hide();
|
||||
|
||||
$("#Login_00").show();
|
||||
Login_Update();
|
||||
}
|
||||
|
||||
function LoginJoin_InvalidateId() {
|
||||
LoginJoin_EnableCheckId();
|
||||
}
|
||||
|
||||
function LoginJoin_InvalidatePid() {
|
||||
LoginJoin_EnableCheckPid();
|
||||
}
|
||||
|
||||
function LoginJoin_InvalidateName() {
|
||||
LoginJoin_EnableCheckName();
|
||||
}
|
||||
|
||||
function LoginJoin_InvalidateEmail() {
|
||||
LoginJoin_EnableCheckEmail();
|
||||
LoginJoin_InvalidateCode();
|
||||
}
|
||||
|
||||
function LoginJoin_InvalidateCode() {
|
||||
LoginJoin_DisableSendCode(0);
|
||||
LoginJoin_DisableVerifyCode(0);
|
||||
LoginJoin_emailVerified = 0;
|
||||
}
|
||||
|
||||
function LoginJoin_CheckId() {
|
||||
LoginJoin_Check(0);
|
||||
}
|
||||
|
||||
function LoginJoin_CheckPid() {
|
||||
LoginJoin_Check(1);
|
||||
}
|
||||
|
||||
function LoginJoin_CheckName() {
|
||||
LoginJoin_Check(2);
|
||||
}
|
||||
|
||||
function LoginJoin_CheckEmail() {
|
||||
LoginJoin_Check(3);
|
||||
}
|
||||
|
||||
function LoginJoin_SendCode() {
|
||||
var email = $("#LoginJoin_002000").val();
|
||||
|
||||
Popup_Wait(function() {
|
||||
PostJSON(
|
||||
HOME+I+LOGIN+W+JOIN+W+"sendCode"+POST, {
|
||||
email: email
|
||||
},
|
||||
function(response, textStatus) {
|
||||
Popup_WaitShow(response.msg, function() {
|
||||
if(response.result == "SUCCESS") {
|
||||
LoginJoin_DisableSendCode(1);
|
||||
LoginJoin_EnableVerifyCode();
|
||||
$("#LoginJoin_002301").val("");
|
||||
$("#LoginJoin_002301").focus();
|
||||
} else {
|
||||
}
|
||||
})
|
||||
}
|
||||
)
|
||||
});
|
||||
}
|
||||
|
||||
function LoginJoin_VerifyCode() {
|
||||
var email = $("#LoginJoin_002000").val();
|
||||
var code = $("#LoginJoin_002301").val();
|
||||
|
||||
if(code.length < 6) {
|
||||
Popup_Alert("인증코드는 6자리입니다!", function() {
|
||||
$("#LoginJoin_002301").val("");
|
||||
$("#LoginJoin_002301").focus();
|
||||
});
|
||||
return false;
|
||||
} else if(code.length == 6) {
|
||||
Popup_Wait(function() {
|
||||
PostJSON(
|
||||
HOME+I+LOGIN+W+JOIN+W+"verifyCode"+POST, {
|
||||
email: email,
|
||||
code: code
|
||||
},
|
||||
function(response, textStatus) {
|
||||
Popup_WaitShow(response.msg, function() {
|
||||
if(response.result == "SUCCESS") {
|
||||
LoginJoin_DisableVerifyCode(1);
|
||||
LoginJoin_emailVerified = 1;
|
||||
} else {
|
||||
$("#LoginJoin_002301").val("");
|
||||
$("#LoginJoin_002301").focus();
|
||||
}
|
||||
})
|
||||
}
|
||||
)
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function LoginJoin_Check(type) {
|
||||
var id = $("#LoginJoin_000600").val();
|
||||
var pid1 = $("#LoginJoin_001400").val();
|
||||
var pid2 = $("#LoginJoin_001401").val();
|
||||
var name = $("#LoginJoin_001700").val();
|
||||
var email = $("#LoginJoin_002000").val();
|
||||
|
||||
Popup_Wait(function() {
|
||||
PostJSON(
|
||||
HOME+I+LOGIN+W+JOIN+W+"check"+POST, {
|
||||
type: type,
|
||||
id: id,
|
||||
pid1: pid1,
|
||||
pid2: pid2,
|
||||
name: name,
|
||||
email: email
|
||||
},
|
||||
function(response, textStatus) {
|
||||
Popup_WaitShow(response.msg, function() {
|
||||
if(response.result == "SUCCESS") {
|
||||
switch(response.type) {
|
||||
case "0":
|
||||
LoginJoin_DisableCheckId();
|
||||
break;
|
||||
case "1":
|
||||
LoginJoin_DisableCheckPid();
|
||||
break;
|
||||
case "2":
|
||||
LoginJoin_DisableCheckName(response.name);
|
||||
break;
|
||||
case "3":
|
||||
LoginJoin_DisableCheckEmail();
|
||||
LoginJoin_EnableSendCode();
|
||||
break;
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
)
|
||||
});
|
||||
}
|
||||
|
||||
function LoginJoin_Join() {
|
||||
if(LoginJoin_JoinTest() == false) {
|
||||
return;
|
||||
}
|
||||
|
||||
var id = $("#LoginJoin_000600").val();
|
||||
var pw = $("#LoginJoin_000900").val();
|
||||
var token = $("#token_join").val();
|
||||
var pid1 = $("#LoginJoin_001400").val();
|
||||
var pid2 = $("#LoginJoin_001401").val();
|
||||
var name = $("#LoginJoin_001700").val();
|
||||
var email = $("#LoginJoin_002000").val();
|
||||
|
||||
pw = hex_md5(pw+""+pw)+""+hex_md5(token);
|
||||
|
||||
Popup_Wait(function() {
|
||||
PostJSON(
|
||||
HOME+I+LOGIN+W+JOIN+W+POST, {
|
||||
id: id,
|
||||
pw: pw,
|
||||
pid1: pid1,
|
||||
pid2: pid2,
|
||||
name: name,
|
||||
email: email
|
||||
},
|
||||
function(response, textStatus) {
|
||||
Popup_WaitShow(response.msg, function() {
|
||||
if(response.result == "SUCCESS") {
|
||||
LoginJoin_Back();
|
||||
} else {
|
||||
LoginJoin_Update();
|
||||
}
|
||||
});
|
||||
}
|
||||
)
|
||||
});
|
||||
}
|
||||
|
||||
function LoginJoin_JoinTest() {
|
||||
if($("#LoginJoin_002700").is(":checked") == false) {
|
||||
Popup_Alert("주의사항을 읽으시고 동의하시는 분만 삼모전을 사용하실수 있습니다!");
|
||||
return false;
|
||||
}
|
||||
|
||||
if(LoginJoin_idChecked + LoginJoin_pidChecked + LoginJoin_nameChecked + LoginJoin_emailChecked + LoginJoin_emailVerified < 5) {
|
||||
Popup_Alert("5가지 확인을 해주세요!");
|
||||
return false;
|
||||
}
|
||||
|
||||
var pw1 = $("#LoginJoin_000900").val();
|
||||
var pw2 = $("#LoginJoin_001100").val();
|
||||
|
||||
if(pw1.length < 4 || pw1.length > 12) {
|
||||
Popup_Alert("비밀번호 길이가 부적합합니다!");
|
||||
return false;
|
||||
}
|
||||
if(pw1 != pw2) {
|
||||
Popup_Alert("비밀번호가 일치하지 않습니다!");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function LoginJoin_EnableCheckId() {
|
||||
LoginJoin_idChecked = 0;
|
||||
$("#LoginJoin_000601").val("아이디 중복 확인");
|
||||
$("#LoginJoin_000601").removeAttr("disabled");
|
||||
$("#LoginJoin_000601").css("color", "white");
|
||||
}
|
||||
|
||||
function LoginJoin_DisableCheckId() {
|
||||
LoginJoin_idChecked = 1;
|
||||
$("#LoginJoin_000601").val("확인 완료");
|
||||
$("#LoginJoin_000601").attr("disabled", true);
|
||||
$("#LoginJoin_000601").css("color", "gray");
|
||||
}
|
||||
|
||||
function LoginJoin_EnableCheckPid() {
|
||||
LoginJoin_pidChecked = 0;
|
||||
$("#LoginJoin_001402").val("생년월일 확인");
|
||||
$("#LoginJoin_001402").removeAttr("disabled");
|
||||
$("#LoginJoin_001402").css("color", "white");
|
||||
}
|
||||
|
||||
function LoginJoin_DisableCheckPid() {
|
||||
LoginJoin_pidChecked = 1;
|
||||
$("#LoginJoin_001402").val("확인 완료");
|
||||
$("#LoginJoin_001402").attr("disabled", true);
|
||||
$("#LoginJoin_001402").css("color", "gray");
|
||||
}
|
||||
|
||||
function LoginJoin_EnableCheckName() {
|
||||
LoginJoin_nameChecked = 0;
|
||||
$("#LoginJoin_001701").val("닉네임 중복 확인");
|
||||
$("#LoginJoin_001701").removeAttr("disabled");
|
||||
$("#LoginJoin_001701").css("color", "white");
|
||||
}
|
||||
|
||||
function LoginJoin_DisableCheckName(name) {
|
||||
LoginJoin_nameChecked = 1;
|
||||
$("#LoginJoin_001701").val("확인 완료");
|
||||
$("#LoginJoin_001701").attr("disabled", true);
|
||||
$("#LoginJoin_001701").css("color", "gray");
|
||||
$("#LoginJoin_001700").val(name);
|
||||
}
|
||||
|
||||
function LoginJoin_EnableCheckEmail() {
|
||||
LoginJoin_emailChecked = 0;
|
||||
$("#LoginJoin_002001").val("이메일 중복 확인");
|
||||
$("#LoginJoin_002001").removeAttr("disabled");
|
||||
$("#LoginJoin_002001").css("color", "white");
|
||||
}
|
||||
|
||||
function LoginJoin_DisableCheckEmail() {
|
||||
LoginJoin_emailChecked = 1;
|
||||
$("#LoginJoin_002001").val("확인 완료");
|
||||
$("#LoginJoin_002001").attr("disabled", true);
|
||||
$("#LoginJoin_002001").css("color", "gray");
|
||||
}
|
||||
|
||||
function LoginJoin_EnableSendCode() {
|
||||
$("#LoginJoin_002300").val("인증번호 전송");
|
||||
$("#LoginJoin_002300").removeAttr("disabled");
|
||||
$("#LoginJoin_002300").css("color", "white");
|
||||
}
|
||||
|
||||
function LoginJoin_DisableSendCode(type) {
|
||||
if(type == 0) {
|
||||
$("#LoginJoin_002300").val("인증번호 전송");
|
||||
} else {
|
||||
$("#LoginJoin_002300").val("전송 완료");
|
||||
}
|
||||
$("#LoginJoin_002300").attr("disabled", true);
|
||||
$("#LoginJoin_002300").css("color", "gray");
|
||||
}
|
||||
|
||||
function LoginJoin_EnableVerifyCode() {
|
||||
$("#LoginJoin_002302").val("인증번호 확인");
|
||||
$("#LoginJoin_002302").removeAttr("disabled");
|
||||
$("#LoginJoin_002302").css("color", "white");
|
||||
}
|
||||
|
||||
function LoginJoin_DisableVerifyCode(type) {
|
||||
if(type == 0) {
|
||||
$("#LoginJoin_002302").val("인증번호 확인");
|
||||
} else {
|
||||
$("#LoginJoin_002302").val("확인 완료");
|
||||
}
|
||||
$("#LoginJoin_002302").attr("disabled", true);
|
||||
$("#LoginJoin_002302").css("color", "gray");
|
||||
}
|
||||
@@ -0,0 +1,92 @@
|
||||
<?
|
||||
require_once('_common.php');
|
||||
|
||||
/*
|
||||
<pre>주민번호는 중복가입 방지와 허위정보 방지를 위한 용도로만 사용되며,
|
||||
생년은 통계정보 등에 사용되며, <font class="LoginJoin_notice">뒷자리는 다른용도로 악용될 수 없도록 암호화됩니다.</font>
|
||||
<font class="LoginJoin_notice">게임물등급위원회</font>의 정책에 따라 연령제한을 위해 주민번호 입력이 필요합니다.
|
||||
주민번호 도용시 <font class="LoginJoin_alert">주민등록법 제21조 제2항 9호</font>에 따라 처벌될 수 있습니다.</pre>
|
||||
*/
|
||||
|
||||
?>
|
||||
|
||||
<div id="LoginJoin_00" class="bg0">
|
||||
<div id="LoginJoin_0000" class="font4">회 원 가 입 <input class="LoginJoin_back" type="button" value="돌아가기"></div>
|
||||
<div id="LoginJoin_0001">전체 회원 수 : <font id="LoginJoin_000100">0</font>명</div>
|
||||
<div id="LoginJoin_0002">6개월간 플레이 하지 않은 일반 계정은 삭제됩니다.</div>
|
||||
<div id="LoginJoin_0003" class="bg1">계정 생성</div>
|
||||
<div id="LoginJoin_0004">아이디는 4~12자의 영문소문자 숫자 또는 조합된 문자열이어야 합니다!</div>
|
||||
<div id="LoginJoin_0005">ID </div>
|
||||
<div id="LoginJoin_0006">
|
||||
<input id="LoginJoin_000600" type="text" maxlength=12>
|
||||
<input id="LoginJoin_000601" type="button" value="아이디 중복 확인">
|
||||
</div>
|
||||
<div id="LoginJoin_0007">비밀번호는 4~12자의 영문자나 숫자 또는 조합된 문자열이어야 합니다!<br>암호화되어서 운영자도 알 수 없으므로 주의해 주세요!</div>
|
||||
<div id="LoginJoin_0008">비밀번호 </div>
|
||||
<div id="LoginJoin_0009"><input id="LoginJoin_000900" type="password" maxlength=12></div>
|
||||
<div id="LoginJoin_0010">비밀번호 확인 </div>
|
||||
<div id="LoginJoin_0011"><input id="LoginJoin_001100" type="password" maxlength=12></div>
|
||||
<input id="token_join" type="hidden" value="<?=md5(rand()%100000000);?>">
|
||||
<div id="LoginJoin_0012">
|
||||
<pre>생년월일과 성별은 유저 구분을 위한 보조 용도와 통계정보 등에 사용됩니다.
|
||||
진짜 본인의 생년월일을 입력해주셔야, 아이디 복구나 암호 초기화시 불이익을 당하지 않습니다.
|
||||
주민번호 사용 불가로 인해 <font class="LoginJoin_notice">셧다운 제도</font> 적용이 불가능하므로,
|
||||
본인이 청소년이라면 스스로의 의지로 <font class="LoginJoin_notice">셧다운 제도</font>를 준수하실 것을 권고합니다.</pre>
|
||||
</div>
|
||||
<div id="LoginJoin_0013">생년월일-성별 </div>
|
||||
<div id="LoginJoin_0014">
|
||||
<input id="LoginJoin_001400" type="text" maxlength=6>
|
||||
<input id="LoginJoin_001401" type="text" maxlength=1>
|
||||
<input id="LoginJoin_001402" type="button" value="생년월일 확인"> (남자: 1, 여자: 2)
|
||||
</div>
|
||||
<div id="LoginJoin_0015">
|
||||
삼모전에서 주로 사용할 장수명을 입력해주세요.<br>
|
||||
<font class="LoginJoin_notice">한번 가입하면 영구회원이므로 운영자가 알아볼 수 있는 평소 닉네임을 써주세요.</font><br>
|
||||
<font class="LoginJoin_alert">일반 특수문자는 무시됩니다.</font>
|
||||
</div>
|
||||
<div id="LoginJoin_0016">닉네임 </div>
|
||||
<div id="LoginJoin_0017">
|
||||
<input id="LoginJoin_001700" type="text" maxlength=12>
|
||||
<input id="LoginJoin_001701" type="button" value="닉네임 중복 확인">(6글자 이내)
|
||||
</div>
|
||||
<div id="LoginJoin_0018">
|
||||
인증을 위한 이메일 주소를 입력해주세요.<br>
|
||||
<font class="LoginJoin_notice">가입완료를 위한 인증메일을 수신할 주소입니다.</font> <font class="LoginJoin_alert">메일인증을 하지 않으면 로그인이 불가능합니다.</font><br>
|
||||
메일주소를 주의해서 입력해주세요! <font class="LoginJoin_notice">@gmail.com, @naver.com, @hanmail.net</font><br>
|
||||
</div>
|
||||
<div id="LoginJoin_0019">이메일 </div>
|
||||
<div id="LoginJoin_0020">
|
||||
<input id="LoginJoin_002000" type="text" maxlength=64>
|
||||
<input id="LoginJoin_002001" type="button" value="이메일 중복 확인">(64글자 이내)
|
||||
</div>
|
||||
<div id="LoginJoin_0021">
|
||||
인증을 위한 인증번호를 입력해주세요.<br>
|
||||
<font class="LoginJoin_notice">인증번호전송을 누르고 메일을 확인하세요.</font><br>
|
||||
<font class="LoginJoin_alert">번호를 확인하여 입력후 인증확인을 누르세요.</font>
|
||||
</div>
|
||||
<div id="LoginJoin_0022">이메일 인증 </div>
|
||||
<div id="LoginJoin_0023">
|
||||
<input id="LoginJoin_002300" type="button" value="인증번호 전송">
|
||||
<input id="LoginJoin_002301" type="text" maxlength=6>
|
||||
<input id="LoginJoin_002302" type="button" value="인증번호 확인">
|
||||
</div>
|
||||
<div id="LoginJoin_0024">필 독</div>
|
||||
<div id="LoginJoin_0025">
|
||||
접속을 6개월간 하지 않는 계정은 삭제됩니다.<br>
|
||||
한 사람의 유저가 다수의 계정을 등록을 하는것은 <font class="LoginJoin_alert">멀티이며 엄중히 처리되니</font> 양심껏 1개만 등록하시길 바랍니다.<br>
|
||||
멀티 등록이 적발될 시에는 운영자 임의대로 캐릭터를 블럭하게 됩니다. 블럭된 캐릭터는 24시간 후 삭제되면 재등록 가능합니다.<br>
|
||||
계정이 삭제되는것은 아니며, 해당 서버의 캐릭터만 삭제되게 됩니다.<br>
|
||||
블럭시에는 24시간후에 로그인하여 캐릭터 생성만 다시 하시면 됩니다.<br>
|
||||
악의적으로 멀티를 계속 시도하는 경우는 영구ip블럭이 될 수 있습니다.<br>
|
||||
멀티 검사는 관리자가 일일이 검사를 합니다.
|
||||
</div>
|
||||
<div id="LoginJoin_0026">
|
||||
반드시 게시판의 이용 약관을 읽어보셔야 합니다.<br>
|
||||
약관을 지키지 않는 유저의 경우 임의의 조치를 받으실 수 있습니다.<br>
|
||||
접속장소를 적지 않는 것은 블럭해도 이의 없다는 것에 동의하는 것입니다.
|
||||
</div>
|
||||
<div id="LoginJoin_0027"><input id="LoginJoin_002700" type="checkbox">위의 주의사항을 모두 읽었으며 동의합니다.</div>
|
||||
<div id="LoginJoin_0028"><input id="LoginJoin_002800" type="button" value="회원가입"></div>
|
||||
<div id="LoginJoin_0029"><input id="LoginJoin_002900" type="button" value="다시 입력"></div>
|
||||
<div id="LoginJoin_0030"><input class="LoginJoin_back" type="button" value="돌아가기"></div>
|
||||
</div>
|
||||
@@ -0,0 +1,15 @@
|
||||
<?
|
||||
require_once('_common.php');
|
||||
require_once(ROOT.W.F_FUNC.W.'class._JSON.php');
|
||||
require_once(ROOT.W.F_CONFIG.W.DB.PHP);
|
||||
|
||||
$rs = $DB->Select('COUNT(*) AS CNT', 'MEMBER');
|
||||
|
||||
$registeredCount = $DB->Get($rs);
|
||||
$response['registeredCount'] = $registeredCount['CNT'];
|
||||
$response['result'] = 'SUCCESS';
|
||||
|
||||
sleep(1);
|
||||
echo json_encode($response);
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,179 @@
|
||||
<?
|
||||
// 외부 파라미터
|
||||
// $_POST['id'] : ID
|
||||
// $_POST['pw'] : PW
|
||||
// $_POST['pid1'] : 주민번호
|
||||
// $_POST['pid2'] : 주민번호
|
||||
// $_POST['name'] : 닉네임
|
||||
// $_POST['email'] : 이메일
|
||||
$id = $_POST['id'];
|
||||
$pw = $_POST['pw'];
|
||||
$pid1 = $_POST['pid1'];
|
||||
$pid2 = $_POST['pid2'];
|
||||
$pid = $_POST['pid1'].'-'.substr($_POST['pid2'],0,1).'-'.md5($_POST['pid2']);
|
||||
$name = $_POST['name'];
|
||||
$email = $_POST['email'];
|
||||
|
||||
$pw = substr($pw, 0, 32);
|
||||
|
||||
require_once('_common.php');
|
||||
require_once(ROOT.W.F_FUNC.W.'class._JSON.php');
|
||||
require_once(ROOT.W.F_FUNC.W.'class._Time.php');
|
||||
require_once(ROOT.W.F_FUNC.W.'class._String.php');
|
||||
require_once(ROOT.W.F_FUNC.W.'class._Validation.php');
|
||||
require_once(ROOT.W.F_CONFIG.W.DB.PHP);
|
||||
|
||||
$name = _String::NoSpecialCharacter($name);
|
||||
|
||||
$rs = $DB->Select('REG', 'SYSTEM', "NO='1'");
|
||||
$system = $DB->Get($rs);
|
||||
|
||||
if($system['REG'] != 'Y') {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '현재는 가입이 금지되어있습니다!';
|
||||
} else {
|
||||
$response['result'] = 'SUCCESS';
|
||||
}
|
||||
|
||||
if($response['result'] != 'SUCCESS') {
|
||||
echo json_encode($response);
|
||||
exit(0);
|
||||
}
|
||||
|
||||
$response['result'] = 'FAIL';
|
||||
$err = _Validation::CheckID($id);
|
||||
if($err == 2) {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '영어 소문자와 숫자만 입력 가능합니다!';
|
||||
} elseif($err == 1) {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '4~12글자로 입력해주세요.';
|
||||
} elseif($err == 0) {
|
||||
$rs = $DB->Select('ID', 'MEMBER', "ID='{$id}'");
|
||||
$count = $DB->Count($rs);
|
||||
if($count == 0) {
|
||||
$response['result'] = 'SUCCESS';
|
||||
} else {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '이미 가입된 아이디입니다! 로그인을 시도해보세요!';
|
||||
}
|
||||
}
|
||||
|
||||
if($response['result'] != 'SUCCESS') {
|
||||
echo json_encode($response);
|
||||
exit(0);
|
||||
}
|
||||
|
||||
$response['result'] = 'FAIL';
|
||||
$err = _Validation::CheckBirth($pid1, $pid2);
|
||||
//$err = _Validation::CheckPID($pid1, $pid2);
|
||||
if($err == 3) {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '잘못된 생년월일 입니다!';
|
||||
} elseif($err == 2) {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '숫자가 아닙니다!';
|
||||
} elseif($err == 1) {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '입력이 충분치 않습니다!';
|
||||
} elseif($err == 0) {
|
||||
$response['result'] = 'SUCCESS';
|
||||
/*
|
||||
$rs = $DB->Select('PID', 'MEMBER', "PID='{$pid}'");
|
||||
$count = $DB->Count($rs);
|
||||
if($count == 0) {
|
||||
$response['result'] = 'SUCCESS';
|
||||
} else {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '이미 가입된 주민번호입니다! 운영자에게 문의해보세요!';
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
if($response['result'] != 'SUCCESS') {
|
||||
echo json_encode($response);
|
||||
exit(0);
|
||||
}
|
||||
|
||||
$response['result'] = 'FAIL';
|
||||
$err = _Validation::CheckName($name);
|
||||
if($err == 1) {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '닉네임이 올바르지 않습니다!';
|
||||
} elseif($err == 0) {
|
||||
$rs = $DB->Select('NAME', 'MEMBER', "NAME='{$name}'");
|
||||
$count = $DB->Count($rs);
|
||||
if($count == 0) {
|
||||
$response['result'] = 'SUCCESS';
|
||||
} else {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = $name.' 은(는) 이미 존재하는 닉네임입니다! 운영자에게 문의해보세요!';
|
||||
}
|
||||
}
|
||||
|
||||
if($response['result'] != 'SUCCESS') {
|
||||
echo json_encode($response);
|
||||
exit(0);
|
||||
}
|
||||
|
||||
$response['result'] = 'FAIL';
|
||||
$err = _Validation::CheckEmail($email);
|
||||
if($err == 1) {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '이메일이 올바르지 않습니다!';
|
||||
} elseif($err == 0) {
|
||||
$rs = $DB->Select('EMAIL', 'MEMBER', "EMAIL='{$email}'");
|
||||
$count = $DB->Count($rs);
|
||||
if($count == 0) {
|
||||
$response['result'] = 'SUCCESS';
|
||||
} else {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = $email.' 은(는) 이미 존재하는 이메일입니다! 운영자에게 문의해보세요!';
|
||||
}
|
||||
}
|
||||
|
||||
if($response['result'] != 'SUCCESS') {
|
||||
echo json_encode($response);
|
||||
exit(0);
|
||||
}
|
||||
|
||||
$response['result'] = 'FAIL';
|
||||
$rs = $DB->Select('VERIFIED', 'EMAIL', "EMAIL='{$email}'");
|
||||
$count = $DB->Count($rs);
|
||||
if($count != 1) {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = $email.' 에 대한 인증정보가 없습니다! 운영자에게 문의해보세요!';
|
||||
} else {
|
||||
$res = $DB->Get($rs);
|
||||
if($res['VERIFIED'] == 1) {
|
||||
$response['result'] = 'SUCCESS';
|
||||
} else {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = $email.' 에 대한 인증이 되지 않았습니다! 운영자에게 문의해보세요!';
|
||||
}
|
||||
}
|
||||
|
||||
if($response['result'] != 'SUCCESS') {
|
||||
echo json_encode($response);
|
||||
exit(0);
|
||||
}
|
||||
|
||||
// 멤버 등록
|
||||
$DB->InsertArray('MEMBER', array(
|
||||
ID => $id,
|
||||
PW => $pw,
|
||||
PID => $pid,
|
||||
NAME => $name,
|
||||
EMAIL => $email,
|
||||
IP => $_SERVER['REMOTE_ADDR'],
|
||||
GRADE => 1,
|
||||
REG_DATE => _Time::DatetimeNow()
|
||||
));
|
||||
|
||||
$response['result'] = 'SUCCESS';
|
||||
$response['msg'] = "정상적으로 회원 가입되었습니다. ID: {$id}";
|
||||
|
||||
sleep(1);
|
||||
echo json_encode($response);
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,280 @@
|
||||
@charset "utf-8";
|
||||
|
||||
#LoginJoin_00 {
|
||||
width: 800px; height: 851px;
|
||||
position: absolute; top: 0px; left: 50%;
|
||||
margin-left: -400px; /* DIV박스 크기의 1/2로 마진을 잡아줍니다. */
|
||||
display: none;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
#LoginJoin_0000 {
|
||||
width: 800px; height: 50px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.LoginJoin_back {
|
||||
height: 30px;
|
||||
}
|
||||
|
||||
#LoginJoin_0001 {
|
||||
width: 800px; height: 15px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginJoin_0002 {
|
||||
width: 800px; height: 30px;
|
||||
float: left;
|
||||
color: red; font-size: 20px; font-weight: bold;
|
||||
}
|
||||
|
||||
#LoginJoin_0003 {
|
||||
width: 800px; height: 25px;
|
||||
float: left;
|
||||
font-size: 20px; font-weight: bold;
|
||||
}
|
||||
|
||||
#LoginJoin_0004 {
|
||||
width: 800px; height: 15px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginJoin_0005 {
|
||||
width: 398px; height: 20px;
|
||||
float: left;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#LoginJoin_0006 {
|
||||
width: 398px; height: 20px;
|
||||
float: left;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#LoginJoin_000600 {
|
||||
width: 100px; height: 16px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginJoin_000601 {
|
||||
width: 120px; height: 20px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginJoin_0007 {
|
||||
width: 800px; height: 30px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginJoin_0008 {
|
||||
width: 398px; height: 20px;
|
||||
float: left;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#LoginJoin_0009 {
|
||||
width: 398px; height: 20px;
|
||||
float: left;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#LoginJoin_000900 {
|
||||
width: 100px; height: 16px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginJoin_0010 {
|
||||
width: 398px; height: 20px;
|
||||
float: left;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#LoginJoin_0011 {
|
||||
width: 398px; height: 20px;
|
||||
float: left;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#LoginJoin_001100 {
|
||||
width: 100px; height: 16px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginJoin_0012 {
|
||||
width: 800px; height: 65px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginJoin_0013 {
|
||||
width: 398px; height: 20px;
|
||||
float: left;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#LoginJoin_0014 {
|
||||
width: 398px; height: 20px;
|
||||
float: left;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#LoginJoin_001400 {
|
||||
width: 100px; height: 16px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginJoin_001401 {
|
||||
width: 20px; height: 16px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginJoin_001402 {
|
||||
width: 120px; height: 20px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginJoin_0015 {
|
||||
width: 800px; height: 50px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginJoin_0016 {
|
||||
width: 398px; height: 20px;
|
||||
float: left;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#LoginJoin_0017 {
|
||||
width: 398px; height: 20px;
|
||||
float: left;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#LoginJoin_001700 {
|
||||
width: 100px; height: 16px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginJoin_001701 {
|
||||
width: 120px; height: 20px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginJoin_0018 {
|
||||
width: 800px; height: 50px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginJoin_0019 {
|
||||
width: 398px; height: 20px;
|
||||
float: left;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#LoginJoin_0020 {
|
||||
width: 398px; height: 20px;
|
||||
float: left;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#LoginJoin_002000 {
|
||||
width: 100px; height: 16px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginJoin_002001 {
|
||||
width: 120px; height: 20px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginJoin_0021 {
|
||||
width: 800px; height: 50px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginJoin_0022 {
|
||||
width: 398px; height: 20px;
|
||||
float: left;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#LoginJoin_0023 {
|
||||
width: 398px; height: 20px;
|
||||
float: left;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#LoginJoin_002300 {
|
||||
width: 100px; height: 20px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginJoin_002301 {
|
||||
width: 50px; height: 16px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginJoin_002302 {
|
||||
width: 100px; height: 20px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginJoin_0024 {
|
||||
width: 800px; height: 35px;
|
||||
float: left;
|
||||
color: red; font-size: 30px; font-weight: bold;
|
||||
}
|
||||
|
||||
#LoginJoin_0025 {
|
||||
width: 800px; height: 110px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginJoin_0026 {
|
||||
width: 800px; height: 60px;
|
||||
float: left;
|
||||
color: cyan; font-size: 15px; font-weight: bold;
|
||||
}
|
||||
|
||||
#LoginJoin_0027 {
|
||||
width: 800px; height: 20px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginJoin_002700 {
|
||||
width: 15px; height: 15px;
|
||||
}
|
||||
|
||||
#LoginJoin_0028 {
|
||||
width: 398px; height: 30px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginJoin_002800 {
|
||||
width: 120px; height: 30px;
|
||||
}
|
||||
|
||||
#LoginJoin_0029 {
|
||||
width: 398px; height: 30px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#LoginJoin_002900 {
|
||||
width: 120px; height: 30px;
|
||||
}
|
||||
|
||||
#LoginJoin_0030 {
|
||||
width: 800px; height: 30px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.LoginJoin_notice {
|
||||
color: cyan;
|
||||
font-size: 15px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.LoginJoin_alert {
|
||||
color: red;
|
||||
font-size: 15px;
|
||||
font-weight: bold;
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
<?
|
||||
define(ROOT, '../..');
|
||||
require_once(ROOT.'/f_config/config.php');
|
||||
require_once(ROOT.W.F_CONFIG.W.APP.PHP);
|
||||
require_once(ROOT.W.F_FUNC.W.FUNC.PHP);
|
||||
|
||||
CustomHeader();
|
||||
?>
|
||||
@@ -0,0 +1,119 @@
|
||||
<?
|
||||
// 외부 파라미터
|
||||
// $_POST['type'] : 0: ID체크, 1: 주민번호 체크, 2: 닉네임 체크, 3: 이메일 체크
|
||||
// $_POST['id'] : ID
|
||||
// $_POST['pid1'] : 생년월일
|
||||
// $_POST['pid2'] : 성별
|
||||
// $_POST['name'] : 닉네임
|
||||
// $_POST['email'] : 이메일
|
||||
$type = $_POST['type'];
|
||||
$id = $_POST['id'];
|
||||
$pid1 = $_POST['pid1'];
|
||||
$pid2 = $_POST['pid2'];
|
||||
$pid = $_POST['pid1'].'-'.substr($_POST['pid2'],0,1).'-'.md5($_POST['pid2']);
|
||||
$name = $_POST['name'];
|
||||
$email = $_POST['email'];
|
||||
|
||||
require_once('_common.php');
|
||||
require_once(ROOT.W.F_FUNC.W.'class._JSON.php');
|
||||
require_once(ROOT.W.F_FUNC.W.'class._String.php');
|
||||
require_once(ROOT.W.F_FUNC.W.'class._Validation.php');
|
||||
require_once(ROOT.W.F_CONFIG.W.DB.PHP);
|
||||
|
||||
$name = _String::NoSpecialCharacter($name);
|
||||
|
||||
$response['type'] = $type;
|
||||
|
||||
$rs = $DB->Select('REG', 'SYSTEM', "NO='1'");
|
||||
$system = $DB->Get($rs);
|
||||
|
||||
if($system['REG'] != 'Y') {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '현재는 가입이 금지되어있습니다!';
|
||||
} else {
|
||||
if($type == 0) {
|
||||
$err = _Validation::CheckID($id);
|
||||
if($err == 2) {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '영어 소문자와 숫자만 입력 가능합니다!';
|
||||
} elseif($err == 1) {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '4~12글자로 입력해주세요.';
|
||||
} elseif($err == 0) {
|
||||
$rs = $DB->Select('ID', 'MEMBER', "ID='{$id}'");
|
||||
$count = $DB->Count($rs);
|
||||
if($count == 0) {
|
||||
$response['result'] = 'SUCCESS';
|
||||
$response['msg'] = '사용할 수 있는 아이디입니다. ^^';
|
||||
} else {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '이미 가입된 아이디입니다! 로그인을 시도해보세요!';
|
||||
}
|
||||
}
|
||||
} elseif($type == 1) {
|
||||
$err = _Validation::CheckBirth($pid1, $pid2);
|
||||
// $err = _Validation::CheckPID($pid1, $pid2);
|
||||
if($err == 3) {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '잘못된 생년월일 입니다!';
|
||||
} elseif($err == 2) {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '숫자가 아닙니다!';
|
||||
} elseif($err == 1) {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '입력이 충분치 않습니다!';
|
||||
} elseif($err == 0) {
|
||||
$response['result'] = 'SUCCESS';
|
||||
$response['msg'] = '사용할 수 있는 생년월일입니다. ^^';
|
||||
/*
|
||||
$rs = $DB->Select('PID', 'MEMBER', "PID='{$pid}'");
|
||||
$count = $DB->Count($rs);
|
||||
if($count == 0) {
|
||||
$response['result'] = 'SUCCESS';
|
||||
$response['msg'] = '사용할 수 있는 주민번호입니다. ^^';
|
||||
} else {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '이미 가입된 주민번호입니다! 운영자에게 문의해보세요!';
|
||||
}
|
||||
*/
|
||||
}
|
||||
} elseif($type == 2) {
|
||||
$err = _Validation::CheckName($name);
|
||||
if($err >= 1) {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '닉네임이 올바르지 않습니다!'." ($err)";
|
||||
} elseif($err == 0) {
|
||||
$rs = $DB->Select('NAME', 'MEMBER', "NAME='{$name}'");
|
||||
$count = $DB->Count($rs);
|
||||
if($count == 0) {
|
||||
$response['result'] = 'SUCCESS';
|
||||
$response['name'] = $name;
|
||||
$response['msg'] = $name.' 은(는) 사용할 수 있는 닉네임입니다. ^^';
|
||||
} else {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = $name.' 은(는) 이미 존재하는 닉네임입니다! 운영자에게 문의해보세요!';
|
||||
}
|
||||
}
|
||||
} elseif($type == 3) {
|
||||
$err = _Validation::CheckEmail($email);
|
||||
if($err == 1) {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '이메일이 올바르지 않습니다!';
|
||||
} elseif($err == 0) {
|
||||
$rs = $DB->Select('EMAIL', 'MEMBER', "EMAIL='{$email}'");
|
||||
$count = $DB->Count($rs);
|
||||
if($count == 0) {
|
||||
$response['result'] = 'SUCCESS';
|
||||
$response['msg'] = $email.' 은(는) 사용할 수 있는 이메일입니다. ^^';
|
||||
} else {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = $email.' 은(는) 이미 존재하는 이메일입니다! 운영자에게 문의해보세요!';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sleep(1);
|
||||
echo json_encode($response);
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,49 @@
|
||||
<?
|
||||
// 외부 파라미터
|
||||
// $_POST['email'] : 이메일
|
||||
$email = $_POST['email'];
|
||||
|
||||
require_once('_common.php');
|
||||
require_once(ROOT.W.F_FUNC.W.'class._JSON.php');
|
||||
require_once(ROOT.W.F_FUNC.W.'class._String.php');
|
||||
require_once(ROOT.W.F_FUNC.W.'class._Validation.php');
|
||||
require_once(ROOT.W.F_FUNC.W.'class._Time.php');
|
||||
require_once(ROOT.W.F_CONFIG.W.DB.PHP);
|
||||
require_once(ROOT.W.F_CONFIG.W.'MAIL'.PHP);
|
||||
|
||||
$response['result'] = 'FAIL';
|
||||
|
||||
$err = _Validation::CheckEmail($email);
|
||||
if($err == 1) {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '이메일이 올바르지 않습니다!';
|
||||
} elseif($err == 0) {
|
||||
$code = _String::Fill2(rand()%1000000, 6);
|
||||
|
||||
$res = $MAIL->Send($email, 'Auth code from 62che.com', "인증번호: {$code}");
|
||||
|
||||
if($res['result'] != 0) {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '이메일전송이 실패: '.$res['msg'];
|
||||
} else {
|
||||
$rs = $DB->Select('EMAIL', 'EMAIL', "EMAIL='{$email}'");
|
||||
$count = $DB->Count($rs);
|
||||
if($count > 0) {
|
||||
$DB->Delete('EMAIL', "EMAIL='{$email}'");
|
||||
}
|
||||
$DB->InsertArray('EMAIL', array(
|
||||
EMAIL => $email,
|
||||
CODE => $code,
|
||||
VERIFIED=> 0,
|
||||
REG_DATE=> _Time::DatetimeNow()
|
||||
));
|
||||
|
||||
$response['result'] = 'SUCCESS';
|
||||
$response['msg'] = $email.'로 인증번호가 전송되었습니다. 이메일을 확인하세요.';
|
||||
}
|
||||
}
|
||||
|
||||
//sleep(1);
|
||||
echo json_encode($response);
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,48 @@
|
||||
<?
|
||||
// 외부 파라미터
|
||||
// $_POST['email'] : 이메일
|
||||
// $_POST['code'] : 인증번호
|
||||
$email = $_POST['email'];
|
||||
$code = $_POST['code'];
|
||||
|
||||
require_once('_common.php');
|
||||
require_once(ROOT.W.F_FUNC.W.'class._JSON.php');
|
||||
require_once(ROOT.W.F_FUNC.W.'class._Validation.php');
|
||||
require_once(ROOT.W.F_FUNC.W.'class._Time.php');
|
||||
require_once(ROOT.W.F_CONFIG.W.DB.PHP);
|
||||
|
||||
$response['result'] = 'FAIL';
|
||||
|
||||
$err = _Validation::CheckEmail($email);
|
||||
if($err == 1) {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '이메일이 올바르지 않습니다!';
|
||||
} elseif($err == 0) {
|
||||
$rs = $DB->Select('CODE', 'EMAIL', "EMAIL='{$email}'");
|
||||
$count = $DB->Count($rs);
|
||||
|
||||
if($count == 0) {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '인증번호 전송 내역이 없습니다.';
|
||||
} elseif($count == 1) {
|
||||
$result = $DB->Get($rs);
|
||||
|
||||
if($result['CODE'] != $code) {
|
||||
$response['result'] = 'FAIL';
|
||||
$response['msg'] = '인증번호가 일치하지 않습니다.';
|
||||
} else {
|
||||
$DB->UpdateArray('EMAIL', array(
|
||||
VERIFIED=> 1,
|
||||
VRF_DATE=> _Time::DatetimeNow()
|
||||
), "EMAIL='{$email}'");
|
||||
|
||||
$response['result'] = 'SUCCESS';
|
||||
$response['msg'] = '인증번호가 확인되었습니다.';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sleep(1);
|
||||
echo json_encode($response);
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,50 @@
|
||||
<?
|
||||
require_once('_common.php');
|
||||
?>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
|
||||
<title>로그인</title>
|
||||
|
||||
<!-- 스타일 -->
|
||||
<link type="text/css" rel="stylesheet" href=<?=ROOT.W.F_CONFIG.W.CONFIG.CSS;?>>
|
||||
<link type="text/css" rel="stylesheet" href=<?=ROOT.W.F_CONFIG.W.APP.CSS;?>>
|
||||
|
||||
<link type="text/css" rel="stylesheet" href=<?=ROOT.W.I.POPUP.W.STYLE;?>>
|
||||
<link type="text/css" rel="stylesheet" href=<?=ROOT.W.I.LOGIN.W.STYLE;?>>
|
||||
|
||||
<!-- 액션 -->
|
||||
<script type="text/javascript" src=<?=ROOT.W.E_LIB.W.JQUERY;?>></script>
|
||||
<script type="text/javascript" src=<?=ROOT.W.E_LIB.W.MD5;?>></script>
|
||||
<script type="text/javascript" src=<?=ROOT.W.F_CONFIG.W.CONFIG.JS;?>></script>
|
||||
<script type="text/javascript" src=<?=ROOT.W.F_CONFIG.W.APP.JS;?>></script>
|
||||
<script type="text/javascript" src=<?=ROOT.W.F_FUNC.W.FUNC.JS;?>></script>
|
||||
|
||||
<script type="text/javascript" src=<?=ROOT.W.I.POPUP.W.ACTION;?>></script>
|
||||
<script type="text/javascript" src=<?=ROOT.W.I.LOGIN.W.ACTION;?>></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(Login);
|
||||
|
||||
function Login() {
|
||||
ImportView("body", "<?=ROOT;?>"+W+I+POPUP+W+FRAME);
|
||||
ImportView("body", FRAME);
|
||||
|
||||
Popup_Import();
|
||||
Popup_Init();
|
||||
Popup_Update();
|
||||
|
||||
Login_Import();
|
||||
Login_Init();
|
||||
Login_Update();
|
||||
}
|
||||
</script>
|
||||
<? require('../i_banner/analytics.php'); ?>
|
||||
</head>
|
||||
|
||||
<body <?=BLOCKBODY;?>>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
Reference in New Issue
Block a user