영카트5 , 회원가입시 주민등록번호 채택완료
안녕하세요 영카트5로 처음 뭔가를 만들어 보고있습니다
회원 가입시 주민등록 번호를 받아 보고싶습니다 법으로 받는게 금지되어서 기능 자체가 사라진것 같아요
스터디용으로 해보고 싶은데요 영카트에 있었던 기능 같은데 이 기능을 다시 살릴 수 있는 방법은 없을까요? 없다면, 주민등록번호 유효성 검사 해서 넘기는 방법 공유 부탁드립니다 (__)
회원 가입시 주민번호 받고, 유효성 검사하고 중복 확인하는것까지 부탁드립니다
사실 주민번호는 중복 가입을 막기 위해서지만, 핸드폰,아이디 이름은 어떻게든 가능하고
본인인증 서비스는 유료일테니 안하려고 합니다
답변 미리 감사합니다
답변 1개
아래의 코드를 참고 해보시겠어요..
// 데이터베이스 연결 및 설정 파일 포함 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'); }
?>
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인