본문 바로가기
카테고리 없음

[PHP] 개인 정보 DB 저장

by hans-0 2025. 2. 27.

개인 정보 DB 저장

<?php
// POST 방식으로 전송된 데이터 받기
$fuserid = isset($_POST['fuserid']) ? trim($_POST['fuserid']) : "";
$fname = isset($_POST['fname']) ? trim($_POST['fname']) : "";
$fpasswd = isset($_POST['fpasswd']) ? trim($_POST['fpasswd']) : "";
$fpasswd_re = isset($_POST['fpasswd_re']) ? trim($_POST['fpasswd_re']) : "";
$fsex = isset($_POST['fsex']) ? $_POST['fsex'] : "";
$femail = isset($_POST['femail']) ? trim($_POST['femail']) : "";
$userip = $_SERVER['REMOTE_ADDR']; // 사용자 IP 주소

// 데이터베이스 연결
include "./connect_db.php";

// SQL 인젝션 방지 (입력된 데이터 필터링)
$fuserid = mysqli_real_escape_string($connect, $fuserid);
$fname = mysqli_real_escape_string($connect, $fname);
$fpasswd = mysqli_real_escape_string($connect, $fpasswd);
$fpasswd_re = mysqli_real_escape_string($connect, $fpasswd_re);
$fsex = mysqli_real_escape_string($connect, $fsex);
$femail = mysqli_real_escape_string($connect, $femail);

// 필수 입력 항목 체크
if ($fuserid == "" || $fname == "" || $fpasswd == "" || $fpasswd_re == "" || $fpasswd != $fpasswd_re) {
    echo "<script>
    alert('* 필수 입력사항은 반드시 입력해야 합니다.');
    history.back();
    </script>";
    exit(); // 프로그램 중단
}

// 아이디 중복 검사
$sql = "SELECT COUNT(*) FROM user_tbl WHERE userid='$fuserid'";
$res = mysqli_query($connect, $sql);
$rs = mysqli_fetch_row($res);
$reg_num = $rs[0];

if ($reg_num > 0) {
    echo "<script>
    alert('[중복된 아이디] \\r\\n\\r\\n 다른 아이디를 선택하세요.');
    history.back();
    </script>";
    exit(); // 프로그램 중단
}

// 회원 정보 저장 (INSERT INTO)
$sql = "INSERT INTO user_tbl (userid, name, passwd, sex, email, date, ip_addr) 
        VALUES ('$fuserid', '$fname', '$fpasswd', '$fsex', '$femail', NOW(), '$userip')";
$res = mysqli_query($connect, $sql);
$tot_row = mysqli_affected_rows($connect);

// 데이터베이스 연결 종료
mysqli_close($connect);

// 결과 출력
echo "<center><br><font size=5> 등록 성공 </font></center><hr>";
echo " 생성된 레코드 개수: " . $tot_row . " 개";

// 회원가입 성공 여부에 따른 알림창
if ($tot_row > 0) {
    echo "<script>
    alert('[등록 성공]\\r\\n회원으로 등록되었습니다.');
    location.replace('login_form.php');
    </script>";
} else {
    echo "<script>
    alert('[등록 실패]\\r\\n회원 등록에 실패했습니다.');
    history.back();
    </script>";
}
?>

 

 

 

 

DB에 직접 확인한 결과

 


참고 서적 > PHP Promgramming 정복하기

https://www.yes24.com/Product/Goods/19584929

 

PHP Programming 정복하기 - 예스24

웹 데이터베이스 프로그래밍에 대한 공부를 하겠다는 의지로 막상 뛰어 들었지만 항상 난관에 부딪치는 경험은 누구나 한 번쯤 겪었으리라 생각됩니다. 웹 데이터베이스는 구축하기 위해서는

www.yes24.com

이 코드는 책 "PHP 프로그래밍 정복"의 내용을 참고하여, 최신 PHP 버전에 맞게 수정하였습니다.

 

 

이전 글

2025.02.24 - [웹 개발] - [PHP] 회원가입에서 아이디 중복 체크