가입되지도 않은 주민번호가 중복으로 뜹니다. 정보
가입되지도 않은 주민번호가 중복으로 뜹니다.본문
수정은 주석 풀어놓은 거 밖에 없거든요ㅠㅠ
그런데 어떤 주민번호를 넣어도 중복이라고 떠서요. 답변 좀 부탁드릴게요.
skin/member/basic/register.skin
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
?>
<form name="fregister" method="POST" onsubmit="return fregister_submit(this);" autocomplete="off">
<table width=600 cellspacing=0 cellspacing=0 align=center><tr><td align=center>
<table width="100%" cellspacing="0" cellpadding="0">
<tr>
<td align=center><img src="<?=$member_skin_path?>/img/join_title.gif" width="624" height="72"></td>
</tr>
</table>
<? if ($config[cf_use_jumin]) { // 주민등록번호를 사용한다면 ?>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height=25></td>
</tr>
<tr>
<td bgcolor="#cccccc">
<table cellspacing=1 cellpadding=0 width=100% border=0>
<tr bgcolor="#ffffff">
<td width="140" height=30> <b>이름</b></td>
<td width=""> <input name=mb_name itemname="이름" required minlength="2" nospace hangul class=ed></td>
</tr>
<tr bgcolor="#ffffff">
<td height=30> <b>주민등록번호</b></td>
<td> <input name=mb_jumin itemname="주민등록번호" required jumin minlength="13" maxlength=13 class=ed><font style="font-family:돋움; font-size:9pt; color:#66a2c8"> ※ 숫자 13자리 중간에 - 없이 입력하세요.</font></td>
</tr>
</table></td>
</tr>
</table>
<? } ?>
<br>
<table width="100%" cellpadding="4" cellspacing="0" bgcolor=#EEEEEE>
<tr>
<td height=40> <b>회원가입약관</b></td>
</tr>
<tr>
<td align="center" valign="top"><textarea style="width: 98%" rows=10 readonly class=ed><?=get_text($config[cf_stipulation])?></textarea></td>
</tr>
<tr>
<td height=40>
<input type=radio value=1 name=agree id=agree11> <label for=agree11>동의합니다.</label>
<input type=radio value=0 name=agree id=agree10> <label for=agree10>동의하지 않습니다.</label>
</td>
</tr>
</table>
<br>
<table width="100%" cellpadding="4" cellspacing="0" bgcolor=#EEEEEE>
<tr>
<td height=40> <b>개인정보취급방침</b></td>
</tr>
<tr>
<td align="center" valign="top"><textarea style="width: 98%" rows=10 readonly class=ed><?=get_text($config[cf_privacy])?></textarea></td>
</tr>
<tr>
<td height=40>
<input type=radio value=1 name=agree2 id=agree21> <label for=agree21>동의합니다.</label>
<input type=radio value=0 name=agree2 id=agree20> <label for=agree20>동의하지 않습니다.</label>
</td>
</tr>
</table>
</td></tr></table>
<br>
<div align=center>
<input type=image width="66" height="20" src="<?=$member_skin_path?>/img/join_ok_btn.gif" border=0>
</div>
</form>
<script type="text/javascript">
function fregister_submit(f)
{
var agree1 = document.getElementsByName("agree");
if (!agree1[0].checked) {
alert("회원가입약관의 내용에 동의하셔야 회원가입 하실 수 있습니다.");
agree1[0].focus();
return false;
}
var agree2 = document.getElementsByName("agree2");
if (!agree2[0].checked) {
alert("개인정보취급방침의 내용에 동의하셔야 회원가입 하실 수 있습니다.");
agree2[0].focus();
return false;
}
f.action = "./register_form.php";
return true;
}
if (typeof(document.fregister.mb_name) != "undefined")
document.fregister.mb_name.focus();
</script>
bbs/register_form.php
<?
include_once("./_common.php");
// 불법접근을 막도록 토큰생성
$token = md5(uniqid(rand(), true));
set_session("ss_token", $token);
if ($w == "") {
// 회원 로그인을 한 경우 회원가입 할 수 없다
// 경고창이 뜨는것을 막기위해 아래의 코드로 대체
// alert("이미 로그인중이므로 회원 가입 하실 수 없습니다.", "./");
if ($member[mb_id])
goto_url($g4[path]);
// 리퍼러 체크
referer_check();
if (!$_POST[agree])
alert("회원가입약관의 내용에 동의하셔야 회원가입 하실 수 있습니다.", "./register.php");
if (!$_POST[agree2])
alert("개인정보취급방침의 내용에 동의하셔야 회원가입 하실 수 있습니다.", "./register.php");
// 주민등록번호를 사용한다면 중복검사를 합니다.
/*
if ($config[cf_use_jumin]) {
$jumin = sql_password($mb_jumin);
$row = sql_fetch(" select mb_name from $g4[member_table] where mb_jumin = '$jumin' ");
if ($row[mb_name]) {
if ($row[mb_name] == $mb_name)
alert("이미 가입되어 있습니다.");
else
alert("다른 이름으로 같은 주민등록번호가 이미 가입되어 있습니다.\\n\\n관리자에게 문의해 주십시오.");
}
// 주민등록번호의 7번째 한자리 숫자
$y = substr($mb_jumin, 6, 1);
// 성별은 F, M 으로 나눈다.
// 주민등록번호의 7번째 자리가 홀수이면 남자(Male), 짝수이면 여자(Female)
$sex = $y % 2 == 0 ? "F" : "M";
// 생일은 8자리로 만든다 (나중에 검색을 편하게 하기 위함)
// 주민등록번호 앞자리를 그냥 생일로 사용함 ㅠㅠ
// 주민등록번호 7번째 자리를 따져서...
$birth = substr($mb_jumin, 0, 6);
if ($y == 9 || $y == 0) // 1800년대생 (계시려나?)
$birth = "18" . $birth;
else if ($y == 1 || $y == 2) // 1900년대생
$birth = "19" . $birth;
else if ($y == 3 || $y == 4) // 2000년대생
$birth = "20" . $birth;
else // 오류
$birth = "xx" . $birth;
}
*/
$member[mb_birth] = $birth;
$member[mb_sex] = $sex;
$member[mb_name] = $mb_name;
$g4[title] = "회원 가입";
}
else if ($w == "u")
{
if ($is_admin)
alert("관리자의 회원정보는 관리자 화면에서 수정해 주십시오.", $g4[path]);
if (!$member[mb_id])
alert("로그인 후 이용하여 주십시오.", $g4[path]);
if ($member[mb_id] != $mb_id)
alert("로그인된 회원과 넘어온 정보가 서로 다릅니다.");
/*
if (!($member[mb_password] == sql_password($_POST[mb_password]) && $_POST[mb_password]))
alert("패스워드가 틀립니다.");
// 수정 후 다시 이 폼으로 돌아오기 위해 임시로 저장해 놓음
set_session("ss_tmp_password", $_POST[mb_password]);
*/
if ($_POST['mb_password']) {
// 수정된 정보를 업데이트후 되돌아 온것이라면 패스워드가 암호화 된채로 넘어온것임
if ($_POST['is_update'])
$tmp_password = $_POST['mb_password'];
else
$tmp_password = sql_password($_POST['mb_password']);
if ($member['mb_password'] != $tmp_password)
alert("패스워드가 틀립니다.");
}
$g4[title] = "회원 정보 수정";
$member[mb_email] = get_text($member[mb_email]);
$member[mb_homepage] = get_text($member[mb_homepage]);
$member[mb_password_q] = get_text($member[mb_password_q]);
$member[mb_password_a] = get_text($member[mb_password_a]);
$member[mb_birth] = get_text($member[mb_birth]);
$member[mb_tel] = get_text($member[mb_tel]);
$member[mb_hp] = get_text($member[mb_hp]);
$member[mb_addr1] = get_text($member[mb_addr1]);
$member[mb_addr2] = get_text($member[mb_addr2]);
$member[mb_signature] = get_text($member[mb_signature]);
$member[mb_recommend] = get_text($member[mb_recommend]);
$member[mb_profile] = get_text($member[mb_profile]);
$member[mb_1] = get_text($member[mb_1]);
$member[mb_2] = get_text($member[mb_2]);
$member[mb_3] = get_text($member[mb_3]);
$member[mb_4] = get_text($member[mb_4]);
$member[mb_5] = get_text($member[mb_5]);
$member[mb_6] = get_text($member[mb_6]);
$member[mb_7] = get_text($member[mb_7]);
$member[mb_8] = get_text($member[mb_8]);
$member[mb_9] = get_text($member[mb_9]);
$member[mb_10] = get_text($member[mb_10]);
} else
alert("w 값이 제대로 넘어오지 않았습니다.");
// 회원아이콘 경로
$mb_icon = "$g4[path]/data/member/".substr($member[mb_id],0,2)."/$member[mb_id].gif";
$member_skin_path = "$g4[path]/skin/member/$config[cf_member_skin]";
include_once("$g4[path]/_head.php");
include_once("./norobot.inc.php"); // 자동등록방지
include_once("$member_skin_path/register_form.skin.php");
include_once("$g4[path]/_tail.php");
?>
그런데 어떤 주민번호를 넣어도 중복이라고 떠서요. 답변 좀 부탁드릴게요.
skin/member/basic/register.skin
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
?>
<form name="fregister" method="POST" onsubmit="return fregister_submit(this);" autocomplete="off">
<table width=600 cellspacing=0 cellspacing=0 align=center><tr><td align=center>
<table width="100%" cellspacing="0" cellpadding="0">
<tr>
<td align=center><img src="<?=$member_skin_path?>/img/join_title.gif" width="624" height="72"></td>
</tr>
</table>
<? if ($config[cf_use_jumin]) { // 주민등록번호를 사용한다면 ?>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height=25></td>
</tr>
<tr>
<td bgcolor="#cccccc">
<table cellspacing=1 cellpadding=0 width=100% border=0>
<tr bgcolor="#ffffff">
<td width="140" height=30> <b>이름</b></td>
<td width=""> <input name=mb_name itemname="이름" required minlength="2" nospace hangul class=ed></td>
</tr>
<tr bgcolor="#ffffff">
<td height=30> <b>주민등록번호</b></td>
<td> <input name=mb_jumin itemname="주민등록번호" required jumin minlength="13" maxlength=13 class=ed><font style="font-family:돋움; font-size:9pt; color:#66a2c8"> ※ 숫자 13자리 중간에 - 없이 입력하세요.</font></td>
</tr>
</table></td>
</tr>
</table>
<? } ?>
<br>
<table width="100%" cellpadding="4" cellspacing="0" bgcolor=#EEEEEE>
<tr>
<td height=40> <b>회원가입약관</b></td>
</tr>
<tr>
<td align="center" valign="top"><textarea style="width: 98%" rows=10 readonly class=ed><?=get_text($config[cf_stipulation])?></textarea></td>
</tr>
<tr>
<td height=40>
<input type=radio value=1 name=agree id=agree11> <label for=agree11>동의합니다.</label>
<input type=radio value=0 name=agree id=agree10> <label for=agree10>동의하지 않습니다.</label>
</td>
</tr>
</table>
<br>
<table width="100%" cellpadding="4" cellspacing="0" bgcolor=#EEEEEE>
<tr>
<td height=40> <b>개인정보취급방침</b></td>
</tr>
<tr>
<td align="center" valign="top"><textarea style="width: 98%" rows=10 readonly class=ed><?=get_text($config[cf_privacy])?></textarea></td>
</tr>
<tr>
<td height=40>
<input type=radio value=1 name=agree2 id=agree21> <label for=agree21>동의합니다.</label>
<input type=radio value=0 name=agree2 id=agree20> <label for=agree20>동의하지 않습니다.</label>
</td>
</tr>
</table>
</td></tr></table>
<br>
<div align=center>
<input type=image width="66" height="20" src="<?=$member_skin_path?>/img/join_ok_btn.gif" border=0>
</div>
</form>
<script type="text/javascript">
function fregister_submit(f)
{
var agree1 = document.getElementsByName("agree");
if (!agree1[0].checked) {
alert("회원가입약관의 내용에 동의하셔야 회원가입 하실 수 있습니다.");
agree1[0].focus();
return false;
}
var agree2 = document.getElementsByName("agree2");
if (!agree2[0].checked) {
alert("개인정보취급방침의 내용에 동의하셔야 회원가입 하실 수 있습니다.");
agree2[0].focus();
return false;
}
f.action = "./register_form.php";
return true;
}
if (typeof(document.fregister.mb_name) != "undefined")
document.fregister.mb_name.focus();
</script>
bbs/register_form.php
<?
include_once("./_common.php");
// 불법접근을 막도록 토큰생성
$token = md5(uniqid(rand(), true));
set_session("ss_token", $token);
if ($w == "") {
// 회원 로그인을 한 경우 회원가입 할 수 없다
// 경고창이 뜨는것을 막기위해 아래의 코드로 대체
// alert("이미 로그인중이므로 회원 가입 하실 수 없습니다.", "./");
if ($member[mb_id])
goto_url($g4[path]);
// 리퍼러 체크
referer_check();
if (!$_POST[agree])
alert("회원가입약관의 내용에 동의하셔야 회원가입 하실 수 있습니다.", "./register.php");
if (!$_POST[agree2])
alert("개인정보취급방침의 내용에 동의하셔야 회원가입 하실 수 있습니다.", "./register.php");
// 주민등록번호를 사용한다면 중복검사를 합니다.
/*
if ($config[cf_use_jumin]) {
$jumin = sql_password($mb_jumin);
$row = sql_fetch(" select mb_name from $g4[member_table] where mb_jumin = '$jumin' ");
if ($row[mb_name]) {
if ($row[mb_name] == $mb_name)
alert("이미 가입되어 있습니다.");
else
alert("다른 이름으로 같은 주민등록번호가 이미 가입되어 있습니다.\\n\\n관리자에게 문의해 주십시오.");
}
// 주민등록번호의 7번째 한자리 숫자
$y = substr($mb_jumin, 6, 1);
// 성별은 F, M 으로 나눈다.
// 주민등록번호의 7번째 자리가 홀수이면 남자(Male), 짝수이면 여자(Female)
$sex = $y % 2 == 0 ? "F" : "M";
// 생일은 8자리로 만든다 (나중에 검색을 편하게 하기 위함)
// 주민등록번호 앞자리를 그냥 생일로 사용함 ㅠㅠ
// 주민등록번호 7번째 자리를 따져서...
$birth = substr($mb_jumin, 0, 6);
if ($y == 9 || $y == 0) // 1800년대생 (계시려나?)
$birth = "18" . $birth;
else if ($y == 1 || $y == 2) // 1900년대생
$birth = "19" . $birth;
else if ($y == 3 || $y == 4) // 2000년대생
$birth = "20" . $birth;
else // 오류
$birth = "xx" . $birth;
}
*/
$member[mb_birth] = $birth;
$member[mb_sex] = $sex;
$member[mb_name] = $mb_name;
$g4[title] = "회원 가입";
}
else if ($w == "u")
{
if ($is_admin)
alert("관리자의 회원정보는 관리자 화면에서 수정해 주십시오.", $g4[path]);
if (!$member[mb_id])
alert("로그인 후 이용하여 주십시오.", $g4[path]);
if ($member[mb_id] != $mb_id)
alert("로그인된 회원과 넘어온 정보가 서로 다릅니다.");
/*
if (!($member[mb_password] == sql_password($_POST[mb_password]) && $_POST[mb_password]))
alert("패스워드가 틀립니다.");
// 수정 후 다시 이 폼으로 돌아오기 위해 임시로 저장해 놓음
set_session("ss_tmp_password", $_POST[mb_password]);
*/
if ($_POST['mb_password']) {
// 수정된 정보를 업데이트후 되돌아 온것이라면 패스워드가 암호화 된채로 넘어온것임
if ($_POST['is_update'])
$tmp_password = $_POST['mb_password'];
else
$tmp_password = sql_password($_POST['mb_password']);
if ($member['mb_password'] != $tmp_password)
alert("패스워드가 틀립니다.");
}
$g4[title] = "회원 정보 수정";
$member[mb_email] = get_text($member[mb_email]);
$member[mb_homepage] = get_text($member[mb_homepage]);
$member[mb_password_q] = get_text($member[mb_password_q]);
$member[mb_password_a] = get_text($member[mb_password_a]);
$member[mb_birth] = get_text($member[mb_birth]);
$member[mb_tel] = get_text($member[mb_tel]);
$member[mb_hp] = get_text($member[mb_hp]);
$member[mb_addr1] = get_text($member[mb_addr1]);
$member[mb_addr2] = get_text($member[mb_addr2]);
$member[mb_signature] = get_text($member[mb_signature]);
$member[mb_recommend] = get_text($member[mb_recommend]);
$member[mb_profile] = get_text($member[mb_profile]);
$member[mb_1] = get_text($member[mb_1]);
$member[mb_2] = get_text($member[mb_2]);
$member[mb_3] = get_text($member[mb_3]);
$member[mb_4] = get_text($member[mb_4]);
$member[mb_5] = get_text($member[mb_5]);
$member[mb_6] = get_text($member[mb_6]);
$member[mb_7] = get_text($member[mb_7]);
$member[mb_8] = get_text($member[mb_8]);
$member[mb_9] = get_text($member[mb_9]);
$member[mb_10] = get_text($member[mb_10]);
} else
alert("w 값이 제대로 넘어오지 않았습니다.");
// 회원아이콘 경로
$mb_icon = "$g4[path]/data/member/".substr($member[mb_id],0,2)."/$member[mb_id].gif";
$member_skin_path = "$g4[path]/skin/member/$config[cf_member_skin]";
include_once("$g4[path]/_head.php");
include_once("./norobot.inc.php"); // 자동등록방지
include_once("$member_skin_path/register_form.skin.php");
include_once("$g4[path]/_tail.php");
?>
댓글 전체
echo 문으로
select mb_name from $g4[member_table] where mb_jumin = '$jumin'
해당 부분을 찍어보시고 디비에 저장된값이 있는지 확인해보셔야 할꺼 같습니다.
select mb_name from $g4[member_table] where mb_jumin = '$jumin'
해당 부분을 찍어보시고 디비에 저장된값이 있는지 확인해보셔야 할꺼 같습니다.
echo 문으로 찍게 된다면 배열로 넘어온 값을 정확하게 확인할 수 없습니다.
질문의 요지는 이해 합니다.
print_r($jumin) die; 를 하던지
var_dump($jumin) die; 를 하던지 하면 됩니다
But. 법이 바뀌어 주민등록 번호를 수집하면 안됩니다.
폐기 해야 합니다.
print_r($jumin) die; 를 하던지
var_dump($jumin) die; 를 하던지 하면 됩니다
But. 법이 바뀌어 주민등록 번호를 수집하면 안됩니다.
폐기 해야 합니다.
그런데 어떤 주민번호를 넣어도<--- 이 말은 주민번호가 넘어가지 않아서 생기는 것 같네요
등록된 회원이 주민번호가 없는 것이 있고..
그러면 비어있는 주민번호가 서로 같은 주민번호가 되는 것이죠
등록된 회원이 주민번호가 없는 것이 있고..
그러면 비어있는 주민번호가 서로 같은 주민번호가 되는 것이죠