묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
ㅠㅠ 군바리 군장위기 입니다.. 제잘 도와주세요,....
2003.09.06 09:43
안녕하세요...
군대와서 홈페이지 한번 잘못만들어따가 더큰일하게 되서 탈영하고 싶어지는 넘입니다 ㅠㅠ
탈영안하고 군생활 마칠수 있게 도와주세여 ㅠㅠ
제가 있는 곳이 교도소거든요.... 경비교도대라고 하면 아시려나...
하여튼 경비교도대 소속으로써 http://www.wj2519.com 이라는 부대사이트를 만들었습니다.
n빌더라는 걍 깔면 다 만들어지는 프로그램이용해서 만들었습니다..
쬐끔 수정은 했습니다만 ㅜㅜ
그래떠니 교도소장님께서 교도소 홈페이지가 너무 시대에 뒤쳐졌으니..
만들어다오 ㅜㅜ
만드는것은 문제가 없는데 이넘의 게시판수정건땜시 죽겠습니다.
여기가 관공서. 특히 교도소인지라.. 주민등록번호인증게시판을 만들어 달라는 것입니다.
ㅡ.ㅡ 옛날에 비슷한 거는 만들어본 경험이 있어서 알았다고 하고 했는데요,
n빌더게시판이 저에게는 너무 어렵네요...
지금 대충 폼은만들고 했는데 주민번호가 체킹이안되고 아무값이나 받아먹고
마네요.. 제가 분명히 뭔가를 빼머근건데.. 옆에서 빨리 안되냐고 하는통에
집중도 안되고... php와 자바스크립트는 초보라 ㅠㅠ 영 모르겠네요...
제발 도와주세요..
사정의절박함때문에 사설이 너무 길었습니다.. 제발도와주세요..
문제의 폼은
http://www.wjcorr.go.kr/test/nbuilder/community/module/board/boardList.php?table=tb_ib__left5
여기서 쓰기눌러서 부터고요...
오른쪽키누름 소스 잘 나오구요...
현제까지수정한소스는..http://www.wjcorr.go.kr/test/board.zip
입니다..
제가 어설프게 계속 훌터본결과요... 대충 스크립트에 연동을 못시키는거 같거든요..
스크립트부분만 올릴께요.. 확인좀해주세여 ㅜㅠ
function CheckValue(form)
{
var bCheck;
<? if ($cfg_category == "T") { ?>
var f_cate = document.category;
bCheck = form_chk_value(f_cate.cate1, "분류");
if ( bCheck == false ) return(false);
if ( f_cate.cate1 ) form.cate1.value = f_cate.cate1.options[f_cate.cate1.selectedIndex].value
if ( f_cate.cate2 ) form.cate2.value = f_cate.cate2.options[f_cate.cate2.selectedIndex].value
<? } // if() ?>
<? if ( (!$login) || (($save == "EDIT")&&(!$b_writer)) ) { // 로그인하지 않았거나, 수정시 회원이등록한 글이 아닐때 ?>
bCheck = form_chk_value(form.b_name, "등록자");
if ( bCheck == false ) return(false);
<? if ($cfg_userPerm < $cfg_permNo[subadmin]) { // 관리자가 아닐때 비밀번호 확인 ?>
bCheck = form_chk_value(form.b_password, "비밀번호");
if ( bCheck == false ) return(false);
<? } // if() ?>
<? } // if() ?>
bCheck = form_chk_value(form.b_title, "제목");
if ( bCheck == false ) return(false);
bCheck = form_chk_value(form.b_content, "내용");
if ( bCheck == false ) return(false);
}
function JuminCheck()
{
var jumin_string = document.frmjoin.jumin1.value + document.frmjoin.jumin2.value;
var a = jumin_string.substring(6,7);
if (a < '+ '+ '0' || a > '2') { alert("주민증록번호를 확인하여 주십시요."); return false; }
var sum = 0;
var num = 2;
for(var i=0;i<12;i++)
{
a = jumin_string.substring(i,i+1);
sum = sum + num * (a - '0');
num++;
if( num == 10 ) num = 2;
}
i = (11 - (sum % 11)) % 10;
a = jumin_string.substring(12,13);
if( a != i) { alert("주민등록번호를 확인하여 주십시요."); return false; }
return true;
}
// [2002-07-31]외국인 등록번호 검사
function fgn_no_chksum(reg_no) {
var sum = 0;
var odd = 0;
buf = new Array(13);
for (i = 0; i < 13; i++) buf[i] = parseInt(reg_no.charAt(i));
odd = buf[7]*10 + buf[8];
if (odd%2 != 0) {
return false;
}
if ((buf[11] != 6)&&(buf[11] != 7)&&(buf[11] != 8)&&(buf[11] != 9)) {
return false;
}
multipliers = [2,3,4,5,6,7,8,9,2,3,4,5];
for (i = 0, sum = 0; i < 12; i++) sum += (buf[i] *= multipliers[i]);
sum=11-(sum%11);
if (sum>=10) sum-=10;
sum += 2;
if (sum>=10) sum-=10;
if ( sum != buf[12]) {
return false;
}
else {
return true;
}
}
function check_no(form){
var fgn_reg_no = form.jumin1.value
+ form.jumin2.value;
if (fgn_reg_no == ''+ '){
alert('외국인등록번호를 입력하십시오.');
return false;
}
if (fgn_reg_no.length != 13) {
alert('외국인등록번호 자리수가 맞지 않습니다.');
return false;
}
if ((fgn_reg_no.charAt(6) == "5") || (fgn_reg_no.charAt(6) == "6"))
{
birthYear = "19";
}
else if ((fgn_reg_no.charAt(6) == "7") || (fgn_reg_no.charAt(6) == "8"))
{
birthYear = "20";
}
else if ((fgn_reg_no.charAt(6) == "9") || (fgn_reg_no.charAt(6) == "0"))
{
birthYear = "18";
}
else
{
alert("외국인등록번호에 오류가 있습니다. 다시 확인하십시오.");
return false;
}
birthYear += fgn_reg_no.substr(0, 2);
birthMonth = fgn_reg_no.substr(2, 2) - 1;
birthDate = fgn_reg_no.substr(4, 2);
birth = new Date(birthYear, birthMonth, birthDate);
if ( birth.getYear() % 100 != fgn_reg_no.substr(0, 2) ||
birth.getMonth() != birthMonth ||
birth.getDate() != birthDate) {
alert('생년월일에 오류가 있습니다. 다시 확인하십시오.'+ ');
return false;
}
if (fgn_no_chksum(fgn_reg_no) == false){
alert('외국인등록번호에 오류가 있습니다. 다시 확인하십시오.');
return false;
}
else {
//alert ('+ '정상입니다.');
return true;
}
}
function CheckForm(){
var form = document.write;
var bCheck;
bCheck = CheckValue(form);
if (bCheck != false)
{
form.submit();
form.b_title.value = "";
}
// 주민등록번호/외국인등록번호 확인 (해외거주자일경우 생략)
if (f.join_type.value == "1") // 주민등록번호
{
if (f.jumin1.value=="" || f.jumin2.value=="") { alert("주민등록번호를 입력하세요."); f.jumin1.focus(); return ; }
if(!JuminCheck()){ f.jumin1.value=""; f.jumin2.value=""; f.jumin1.focus(); return ; }
} else if (f.join_type.value == "2") // 외국인등록번호
{
if(!check_no(f)){ f.jumin1.value=""; f.jumin2.value=""; f.jumin1.focus(); return ; }
}
if (f.join_type.value != "3") // 해외거주자일경우 생략
}
여기까지 스크립트구요...
<td bgcolor="#E4E4E4"> <b>주민등록번호</b></td>
<td bgcolor="fafafa"><input type="text" name="jumin1" size="6" maxlength="6"> - <input type="text" name="jumin2" size="7" maxlength="7">
</td>
</tr>
<? } // if() ?>
폼은 이렇게 잡아줬구요...
ㅠㅠ 좀 긴데요.. 주민등록번호체킹부분이 길어서 그렇기 내용은 없습니다...
ㅠㅠ 제발 도와주세요... ㅠㅠ 추석을 앞둔주말이 군장돌기는 싫어요 ㅠㅠ
ㅠㅠ 답변은 의무가 아닌걸 잘 알지만 이번엔 제발 부탁드립니다 ㅠㅠ
군대와서 홈페이지 한번 잘못만들어따가 더큰일하게 되서 탈영하고 싶어지는 넘입니다 ㅠㅠ
탈영안하고 군생활 마칠수 있게 도와주세여 ㅠㅠ
제가 있는 곳이 교도소거든요.... 경비교도대라고 하면 아시려나...
하여튼 경비교도대 소속으로써 http://www.wj2519.com 이라는 부대사이트를 만들었습니다.
n빌더라는 걍 깔면 다 만들어지는 프로그램이용해서 만들었습니다..
쬐끔 수정은 했습니다만 ㅜㅜ
그래떠니 교도소장님께서 교도소 홈페이지가 너무 시대에 뒤쳐졌으니..
만들어다오 ㅜㅜ
만드는것은 문제가 없는데 이넘의 게시판수정건땜시 죽겠습니다.
여기가 관공서. 특히 교도소인지라.. 주민등록번호인증게시판을 만들어 달라는 것입니다.
ㅡ.ㅡ 옛날에 비슷한 거는 만들어본 경험이 있어서 알았다고 하고 했는데요,
n빌더게시판이 저에게는 너무 어렵네요...
지금 대충 폼은만들고 했는데 주민번호가 체킹이안되고 아무값이나 받아먹고
마네요.. 제가 분명히 뭔가를 빼머근건데.. 옆에서 빨리 안되냐고 하는통에
집중도 안되고... php와 자바스크립트는 초보라 ㅠㅠ 영 모르겠네요...
제발 도와주세요..
사정의절박함때문에 사설이 너무 길었습니다.. 제발도와주세요..
문제의 폼은
http://www.wjcorr.go.kr/test/nbuilder/community/module/board/boardList.php?table=tb_ib__left5
여기서 쓰기눌러서 부터고요...
오른쪽키누름 소스 잘 나오구요...
현제까지수정한소스는..http://www.wjcorr.go.kr/test/board.zip
입니다..
제가 어설프게 계속 훌터본결과요... 대충 스크립트에 연동을 못시키는거 같거든요..
스크립트부분만 올릴께요.. 확인좀해주세여 ㅜㅠ
function CheckValue(form)
{
var bCheck;
<? if ($cfg_category == "T") { ?>
var f_cate = document.category;
bCheck = form_chk_value(f_cate.cate1, "분류");
if ( bCheck == false ) return(false);
if ( f_cate.cate1 ) form.cate1.value = f_cate.cate1.options[f_cate.cate1.selectedIndex].value
if ( f_cate.cate2 ) form.cate2.value = f_cate.cate2.options[f_cate.cate2.selectedIndex].value
<? } // if() ?>
<? if ( (!$login) || (($save == "EDIT")&&(!$b_writer)) ) { // 로그인하지 않았거나, 수정시 회원이등록한 글이 아닐때 ?>
bCheck = form_chk_value(form.b_name, "등록자");
if ( bCheck == false ) return(false);
<? if ($cfg_userPerm < $cfg_permNo[subadmin]) { // 관리자가 아닐때 비밀번호 확인 ?>
bCheck = form_chk_value(form.b_password, "비밀번호");
if ( bCheck == false ) return(false);
<? } // if() ?>
<? } // if() ?>
bCheck = form_chk_value(form.b_title, "제목");
if ( bCheck == false ) return(false);
bCheck = form_chk_value(form.b_content, "내용");
if ( bCheck == false ) return(false);
}
function JuminCheck()
{
var jumin_string = document.frmjoin.jumin1.value + document.frmjoin.jumin2.value;
var a = jumin_string.substring(6,7);
if (a < '+ '+ '0' || a > '2') { alert("주민증록번호를 확인하여 주십시요."); return false; }
var sum = 0;
var num = 2;
for(var i=0;i<12;i++)
{
a = jumin_string.substring(i,i+1);
sum = sum + num * (a - '0');
num++;
if( num == 10 ) num = 2;
}
i = (11 - (sum % 11)) % 10;
a = jumin_string.substring(12,13);
if( a != i) { alert("주민등록번호를 확인하여 주십시요."); return false; }
return true;
}
// [2002-07-31]외국인 등록번호 검사
function fgn_no_chksum(reg_no) {
var sum = 0;
var odd = 0;
buf = new Array(13);
for (i = 0; i < 13; i++) buf[i] = parseInt(reg_no.charAt(i));
odd = buf[7]*10 + buf[8];
if (odd%2 != 0) {
return false;
}
if ((buf[11] != 6)&&(buf[11] != 7)&&(buf[11] != 8)&&(buf[11] != 9)) {
return false;
}
multipliers = [2,3,4,5,6,7,8,9,2,3,4,5];
for (i = 0, sum = 0; i < 12; i++) sum += (buf[i] *= multipliers[i]);
sum=11-(sum%11);
if (sum>=10) sum-=10;
sum += 2;
if (sum>=10) sum-=10;
if ( sum != buf[12]) {
return false;
}
else {
return true;
}
}
function check_no(form){
var fgn_reg_no = form.jumin1.value
+ form.jumin2.value;
if (fgn_reg_no == ''+ '){
alert('외국인등록번호를 입력하십시오.');
return false;
}
if (fgn_reg_no.length != 13) {
alert('외국인등록번호 자리수가 맞지 않습니다.');
return false;
}
if ((fgn_reg_no.charAt(6) == "5") || (fgn_reg_no.charAt(6) == "6"))
{
birthYear = "19";
}
else if ((fgn_reg_no.charAt(6) == "7") || (fgn_reg_no.charAt(6) == "8"))
{
birthYear = "20";
}
else if ((fgn_reg_no.charAt(6) == "9") || (fgn_reg_no.charAt(6) == "0"))
{
birthYear = "18";
}
else
{
alert("외국인등록번호에 오류가 있습니다. 다시 확인하십시오.");
return false;
}
birthYear += fgn_reg_no.substr(0, 2);
birthMonth = fgn_reg_no.substr(2, 2) - 1;
birthDate = fgn_reg_no.substr(4, 2);
birth = new Date(birthYear, birthMonth, birthDate);
if ( birth.getYear() % 100 != fgn_reg_no.substr(0, 2) ||
birth.getMonth() != birthMonth ||
birth.getDate() != birthDate) {
alert('생년월일에 오류가 있습니다. 다시 확인하십시오.'+ ');
return false;
}
if (fgn_no_chksum(fgn_reg_no) == false){
alert('외국인등록번호에 오류가 있습니다. 다시 확인하십시오.');
return false;
}
else {
//alert ('+ '정상입니다.');
return true;
}
}
function CheckForm(){
var form = document.write;
var bCheck;
bCheck = CheckValue(form);
if (bCheck != false)
{
form.submit();
form.b_title.value = "";
}
// 주민등록번호/외국인등록번호 확인 (해외거주자일경우 생략)
if (f.join_type.value == "1") // 주민등록번호
{
if (f.jumin1.value=="" || f.jumin2.value=="") { alert("주민등록번호를 입력하세요."); f.jumin1.focus(); return ; }
if(!JuminCheck()){ f.jumin1.value=""; f.jumin2.value=""; f.jumin1.focus(); return ; }
} else if (f.join_type.value == "2") // 외국인등록번호
{
if(!check_no(f)){ f.jumin1.value=""; f.jumin2.value=""; f.jumin1.focus(); return ; }
}
if (f.join_type.value != "3") // 해외거주자일경우 생략
}
여기까지 스크립트구요...
<td bgcolor="#E4E4E4"> <b>주민등록번호</b></td>
<td bgcolor="fafafa"><input type="text" name="jumin1" size="6" maxlength="6"> - <input type="text" name="jumin2" size="7" maxlength="7">
</td>
</tr>
<? } // if() ?>
폼은 이렇게 잡아줬구요...
ㅠㅠ 좀 긴데요.. 주민등록번호체킹부분이 길어서 그렇기 내용은 없습니다...
ㅠㅠ 제발 도와주세요... ㅠㅠ 추석을 앞둔주말이 군장돌기는 싫어요 ㅠㅠ
ㅠㅠ 답변은 의무가 아닌걸 잘 알지만 이번엔 제발 부탁드립니다 ㅠㅠ
아예 부조리신고함을 담당자의 메일 주소로 발송하는 폼메일 형식으로 바꾸는 것이 어떨까요? (물론 폼메일 들어가기 전에 저 스크립트로 주민번호 검사 하고 폼메일로 넘어가게 해야겠죠)
지금 게시판에는 주민번호 체킹 부분이 잘 돌아가고 있는것으로 판단되고요. (해외 제외)
어차피 허위라고 해도 교도소 내에서 조사를 하면 다 들어나니까요.
그럼 도움은 못되었지만 군장 위기 모면하시길 바라면서..