영카트5 , 회원가입시 주민등록번호

영카트5 , 회원가입시 주민등록번호

QA

영카트5 , 회원가입시 주민등록번호

본문

안녕하세요 
영카트5로 처음 뭔가를 만들어 보고있습니다 

회원 가입시 주민등록 번호를 받아 보고싶습니다 
법으로 받는게 금지되어서 기능 자체가 사라진것 같아요 

스터디용으로 해보고 싶은데요 

영카트에 있었던 기능 같은데 이 기능을 다시 살릴 수 있는 방법은 없을까요?
없다면, 주민등록번호 유효성 검사 해서 넘기는 방법 공유 부탁드립니다 (__)

회원 가입시 주민번호 받고, 유효성 검사하고 중복 확인하는것까지 부탁드립니다 

 

사실 주민번호는 중복 가입을 막기 위해서지만, 핸드폰,아이디 이름은 어떻게든 가능하고 

본인인증 서비스는 유료일테니 안하려고 합니다 

 

답변 미리 감사합니다 

이 질문에 댓글 쓰기 :

답변 1

아래의 코드를 참고 해보시겠어요..

 

 

<?php
// 회원가입 폼 페이지: register_form.php

// 데이터베이스 연결 및 설정 파일 포함
include_once('./_common.php');

// DB 스키마에 주민등록번호 필드 추가 (한 번만 실행 필요)
// $sql = "ALTER TABLE g5_member ADD COLUMN mb_jumin CHAR(13) NOT NULL";
// sql_query($sql);

function check_jumin($jumin) {
    // 주민등록번호 유효성 검사
    $jumin = preg_replace('/[^0-9]/', '', $jumin);
    if(strlen($jumin) != 13) return false;

    $weights = [2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5];
    $sum = 0;

    for($i=0; $i<12; $i++) {
        $sum += $jumin[$i] * $weights[$i];
    }

    $check_digit = (11 - ($sum % 11)) % 10;

    return $check_digit == $jumin[12];
}

// 폼 데이터 전송 처리
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $mb_jumin1 = trim($_POST['mb_jumin1']);
    $mb_jumin2 = trim($_POST['mb_jumin2']);
    $mb_jumin = $mb_jumin1 . $mb_jumin2;

    // 유효성 검사
    if (!check_jumin($mb_jumin)) {
        alert('잘못된 주민등록번호입니다.');
    }

    // 중복 확인
    $sql = "SELECT COUNT(*) AS cnt FROM {$g5['member_table']} WHERE mb_jumin = '$mb_jumin'";
    $row = sql_fetch($sql);
    if ($row['cnt'] > 0) {
        alert('이미 등록된 주민등록번호입니다.');
    }

    // 회원 정보 저장
    $sql = "INSERT INTO {$g5['member_table']}
            SET mb_jumin = '{$mb_jumin}',
                mb_id = '$_POST[mb_id]',
                mb_password = '$_POST[mb_password]',
                mb_name = '$_POST[mb_name]'";
    sql_query($sql);

    alert('회원가입이 완료되었습니다.', './login.php');
}

?>

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>회원가입</title>
</head>
<body>
    <form method="post" action="register_form.php">
        <label for="mb_id">아이디</label>
        <input type="text" name="mb_id" id="mb_id" required><br>

        <label for="mb_password">비밀번호</label>
        <input type="password" name="mb_password" id="mb_password" required><br>

        <label for="mb_name">이름</label>
        <input type="text" name="mb_name" id="mb_name" required><br>

        <label for="mb_jumin">주민등록번호</label>
        <input type="text" name="mb_jumin1" id="mb_jumin1" maxlength="6" required> -
        <input type="text" name="mb_jumin2" id="mb_jumin2" maxlength="7" required><br>

        <button type="submit">회원가입</button>
    </form>
</body>
</html>

 

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 17,118
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT