회원가입시 휴대폰번호 중복 체크를 위한 코드 추가

This commit is contained in:
chicpro
2013-02-28 13:44:15 +09:00
parent 1edea853ec
commit 177ceb81bc
5 changed files with 90 additions and 29 deletions

10
bbs/ajax.mb_hp.php Normal file
View File

@ -0,0 +1,10 @@
<?
include_once('./_common.php');
include_once(G4_LIB_PATH.'/register.lib.php');
$mb_hp = escape_trim($_POST['reg_mb_hp']);
$mb_id = escape_trim($_POST['reg_mb_id']);
if ($msg = valid_mb_hp($mb_hp)) die($msg);
if ($msg = exist_mb_hp($mb_hp, $mb_id)) die($msg);
?>

View File

@ -51,4 +51,23 @@ var reg_mb_email_check = function() {
}
});
return result;
}
var reg_mb_hp_check = function() {
var result = "";
$.ajax({
type: "POST",
url: g4_bbs_url+"/ajax.mb_hp.php",
data: {
"reg_mb_hp": $("#reg_mb_hp").val(),
"reg_mb_id": encodeURIComponent($("#reg_mb_id").val())
},
cache: false,
async: false,
success: function(data) {
result = data;
}
});
return result;
}

View File

@ -5,7 +5,7 @@ function empty_mb_id($reg_mb_id)
{
if (trim($reg_mb_id)=='')
return "회원아이디를 입력해 주십시오.";
else
else
return "";
}
@ -13,7 +13,7 @@ function valid_mb_id($reg_mb_id)
{
if (preg_match("/[^0-9a-z_]+/i", $reg_mb_id))
return "회원아이디는 영문자, 숫자, _ 만 입력하세요.";
else
else
return "";
}
@ -21,7 +21,7 @@ function count_mb_id($reg_mb_id)
{
if (strlen($reg_mb_id) < 3)
return "회원아이디는 최소 3글자 이상 입력하세요.";
else
else
return "";
}
@ -32,7 +32,7 @@ function exist_mb_id($reg_mb_id)
$row = sql_fetch($sql);
if ($row['cnt'])
return "이미 사용중인 회원아이디 입니다.";
else
else
return "";
}
@ -41,31 +41,31 @@ function reserve_mb_id($reg_mb_id)
global $config;
if (preg_match("/[\,]?{$reg_mb_id}/i", $config['cf_prohibit_id']))
return "이미 예약된 단어로 사용할 수 없는 회원아이디 입니다.";
else
else
return "";
}
function empty_mb_nick($reg_mb_nick)
function empty_mb_nick($reg_mb_nick)
{
if (!trim($reg_mb_nick))
return "별명을 입력해 주십시오.";
else
else
return "";
}
function valid_mb_nick($reg_mb_nick)
function valid_mb_nick($reg_mb_nick)
{
if (!check_string($reg_mb_nick, G4_HANGUL + G4_ALPHABETIC + G4_NUMERIC))
return "별명은 공백없이 한글, 영문, 숫자만 입력 가능합니다.";
else
else
return "";
}
function count_mb_nick($reg_mb_nick)
function count_mb_nick($reg_mb_nick)
{
if (strlen($reg_mb_nick) < 4)
return "별명은 한글 2글자, 영문 4글자 이상 입력 가능합니다.";
else
else
return "";
}
@ -84,15 +84,15 @@ function reserve_mb_nick($reg_mb_nick)
global $config;
if (preg_match("/[\,]?{$reg_mb_nick}/i", $config['cf_prohibit_id']))
return "이미 예약된 단어로 사용할 수 없는 별명 입니다.";
else
else
return "";
}
function empty_mb_email($reg_mb_email)
function empty_mb_email($reg_mb_email)
{
if (!trim($reg_mb_email))
return "E-mail 주소를 입력해 주십시오.";
else
else
return "";
}
@ -127,11 +127,11 @@ function exist_mb_email($reg_mb_email, $reg_mb_id)
return "";
}
function empty_mb_name($reg_mb_name)
function empty_mb_name($reg_mb_name)
{
if (!trim($reg_mb_name))
return "이름을 입력해 주십시오.";
else
else
return "";
}
@ -139,7 +139,37 @@ function valid_mb_name($mb_name)
{
if (!check_string($mb_name, G4_HANGUL))
return "이름은 공백없이 한글만 입력 가능합니다.";
else
else
return "";
}
function valid_mb_hp($reg_mb_hp)
{
$reg_mb_hp = preg_replace("/[^0-9]/", "", $reg_mb_hp);
if(!$reg_mb_hp)
return "핸드폰번호를 올바르게 입력해 주십시오.";
else
return "";
}
function exist_mb_hp($reg_mb_hp, $reg_mb_id)
{
global $g4;
$reg_mb_hp = preg_replace("/[^0-9]/", "", $reg_mb_hp);
$len = strlen($reg_mb_hp);
if($len == 10)
$reg_mb_hp = preg_replace("/([0-9]{3})([0-9]{3})([0-9]{4})/", "\\1-\\2-\\3", $reg_mb_hp);
else if($len == 11)
$reg_mb_hp = preg_replace("/([0-9]{3})([0-9]{4})([0-9]{4})/", "\\1-\\2-\\3", $reg_mb_hp);
else
return "핸드폰번호를 올바르게 입력해 주십시오.";
$sql = "select count(*) as cnt from {$g4['member_table']} where mb_hp = '$reg_mb_hp' and mb_id <> '$reg_mb_id' ";
$row = sql_fetch($sql);
if($row['cnt'])
return "이미 사용 중인 핸드폰번호입니다.";
else
return "";
}

View File

@ -302,6 +302,16 @@ function fregisterform_submit(f)
}
}
// 휴대폰번호 검사
if ((f.w.value == "") || (f.w.value == "u" && f.mb_hp.defaultValue != f.mb_hp.value)) {
var msg = reg_mb_hp_check();
if (msg) {
alert(msg);
f.reg_mb_hp.select();
return false;
}
}
// 휴대폰인증 검사
if(f.kcpcert_time.value == "") {
alert("휴대폰 본인인증을 해주세요.");

View File

@ -3,25 +3,17 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// 자신만의 코드를 넣어주세요.
// 핸드폰번호 중복체크
$reg_hp = preg_replace("/[^0-9]/", "", $mb_hp);
if(!$reg_hp)
alert('핸드폰번호를 입력해 주세요.', "", true, true);
// 핸드폰번호 체크
if ($msg = valid_mb_hp($mb_hp)) alert($msg, "", true, true);
if ($msg = exist_mb_hp($mb_hp, $mb_id)) alert($msg, "", true, true);
$reg_hp = preg_replace("/[^0-9]/", "", $mb_hp);
$hp_len = strlen($reg_hp);
if($hp_len == 10)
$reg_mb_hp = preg_replace("/([0-9]{3})([0-9]{3})([0-9]{4})/", "\\1-\\2-\\3", $reg_hp);
else if($hp_len == 11)
$reg_mb_hp = preg_replace("/([0-9]{3})([0-9]{4})([0-9]{4})/", "\\1-\\2-\\3", $reg_hp);
else
alert('핸드폰번호가 올바르지 않습니다.', "", true, true);
$sql2 = " select count(*) as cnt from {$g4['member_table']}
where mb_hp = '$reg_mb_hp' and mb_id <> '$mb_id' and mb_leave_date = '' ";
$row2 = sql_fetch($sql2);
if($row2['cnt'])
alert('입력하신 핸드폰번호는 다른 회원님이 사용 중입니다.', "", true, true);
/* ======================================================================================================= */
/* = 휴대폰인증 및 성인인증 = */