회원정보 DB 저장
This commit is contained in:
parent
1e71fdde48
commit
d88faa6c6b
@ -28,4 +28,22 @@ class Member {
|
||||
|
||||
return $stmt->rowCount() ? true : false;
|
||||
}
|
||||
|
||||
// 회원 정보 입력
|
||||
public function input($marr) {
|
||||
$sql = "INSERT INTO member(id, password, name, email, zipcode, addr1, addr2, photo, create_at, ip) VALUES (:id, :password, :name, :email, :zipcode, :addr1, :addr2, :photo, NOW(), :ip)";
|
||||
$stmt = $this->conn->prepare($sql);
|
||||
$stmt->bindParam(':id', $marr['id']);
|
||||
$stmt->bindParam(':password', $marr['password']);
|
||||
$stmt->bindParam(':name', $marr['name']);
|
||||
$stmt->bindParam(':email', $marr['email']);
|
||||
$stmt->bindParam(':zipcode', $marr['zipcode']);
|
||||
$stmt->bindParam(':addr1', $marr['addr1']);
|
||||
$stmt->bindParam(':addr2', $marr['addr2']);
|
||||
$stmt->bindParam(':photo', $marr['photo']);
|
||||
$stmt->bindParam(':ip', $_SERVER['REMOTE_ADDR']);
|
||||
|
||||
$stmt->execute();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
BIN
data/profile/test01.jpg
Normal file
BIN
data/profile/test01.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 35 KiB |
@ -4,7 +4,7 @@
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Document</title>
|
||||
<title><?= $g_title ?></title>
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.min.css" rel="stylesheet"
|
||||
integrity="sha384-sRIl4kxILFvY47J16cr9ZwB07vP4J8+LH7qKQnuqkuIAvNWLzeN8tE5YBujZqJLB" crossorigin="anonymous">
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/js/bootstrap.bundle.min.js"
|
||||
|
||||
@ -100,26 +100,48 @@ document.addEventListener("DOMContentLoaded", () => {
|
||||
return false
|
||||
}
|
||||
// 비밀번호 입력 여부
|
||||
if (f.f_pwd.value == '') {
|
||||
if (f.password.value == '') {
|
||||
alert('비밀번호를 입력하세요.')
|
||||
f.f_pwd.focus()
|
||||
f.password.focus()
|
||||
return false
|
||||
}
|
||||
if (f.f_pwd2.value == '') {
|
||||
if (f.password2.value == '') {
|
||||
alert('비밀번호 확인이 필요합니다.')
|
||||
f.f_pwd2.focus()
|
||||
f.password2.focus()
|
||||
return false
|
||||
}
|
||||
|
||||
// 비밀번호 일치 여부
|
||||
if (f.f_pwd.value != f.f_pwd2.value) {
|
||||
if (f.password.value != f.password2.value) {
|
||||
alert('비밀번호가 일치하지 않습니다.')
|
||||
//f.f_pwd.value = ''
|
||||
f.f_pwd2.value = ''
|
||||
f.f_pwd2.focus()
|
||||
//f.password.value = ''
|
||||
f.password2.value = ''
|
||||
f.password2.focus()
|
||||
return false
|
||||
}
|
||||
|
||||
// 이름 등록 여부
|
||||
if (f.name.value == '') {
|
||||
alert('이름을 입력해 주세요.')
|
||||
f.name.focus()
|
||||
return false
|
||||
}
|
||||
|
||||
// 이메일 등록 여부
|
||||
if (f.email.value == '') {
|
||||
alert('이메일을 입력해 주세요')
|
||||
f.email.focus()
|
||||
return false
|
||||
}
|
||||
|
||||
// 이메일 중복 체크 여부
|
||||
if(f.email_chk.value == 0) {
|
||||
alert('이메일 중복확인이 필요합니다.')
|
||||
return false
|
||||
}
|
||||
|
||||
f.submit()
|
||||
|
||||
})
|
||||
|
||||
// 우편번호 찾기
|
||||
|
||||
@ -8,6 +8,7 @@ if (!isset($_POST['chk']) || $_POST['chk'] != '1') {
|
||||
}
|
||||
|
||||
$js_array = ['js/member_input.js'];
|
||||
$g_title = '회원가입';
|
||||
|
||||
include 'header.php';
|
||||
|
||||
@ -24,6 +25,7 @@ include 'header.php';
|
||||
<input type="hidden" name="mode" value="input">
|
||||
<input type="hidden" name="id_chk" value="0">
|
||||
<input type="hidden" name="email_chk" value="0">
|
||||
|
||||
<div class="d-flex gap-2 align-items-end">
|
||||
<div class="flex-grow-1">
|
||||
<label for="f_id">아이디</label>
|
||||
@ -34,16 +36,23 @@ include 'header.php';
|
||||
|
||||
<div class="d-flex mt-3 gap-2 justify-content-between">
|
||||
<div class="w-50">
|
||||
<label for="f_pwd" class="form-label">비밀번호</label>
|
||||
<input typ="password" name="f_pwd" class="form-control" id="f_pwd" placeholder="비밀번호를 입력하세요">
|
||||
<label for="password" class="form-label">비밀번호</label>
|
||||
<input type="password" name="password" class="form-control" id="password" placeholder="비밀번호를 입력하세요">
|
||||
</div>
|
||||
<div class="w-50">
|
||||
<label for="f_pwd2" class="form-label">비밀번호 확인</label>
|
||||
<input typ="password" name="f_pwd2" class="form-control" id="f_pwd2" placeholder="비밀번호를 입력하세요">
|
||||
<label for="password2" class="form-label">비밀번호 확인</label>
|
||||
<input type="password" name="password2" class="form-control" id="password2" placeholder="비밀번호를 입력하세요">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="d-flex gap-2 align-items-end">
|
||||
<div class="d-flex mt-3 gap-2 align-items-end">
|
||||
<div class="w-50">
|
||||
<label for="f_name">이름</label>
|
||||
<input typ="text" name="name" class="form-control" id="f_name" placeholder="이름을 입력하세요">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="d-flex mt-3 gap-2 align-items-end">
|
||||
<div class="flex-grow-1">
|
||||
<label for="f_email">이메일</label>
|
||||
<input typ="text" name="email" class="form-control" id="f_email" placeholder="이메일을 입력하세요">
|
||||
@ -54,7 +63,7 @@ include 'header.php';
|
||||
<div class="d-flex gap-2 mt-3 align-items-end">
|
||||
<div>
|
||||
<label for="f_zipcode">우편번호</label>
|
||||
<input type="text" name="zipcode" id="f_zipcode" class="form-control" maxlength="5" minlength="5">
|
||||
<input type="text" name="zipcode" id="f_zipcode" readonly class="form-control" maxlength="5" minlength="5">
|
||||
</div>
|
||||
<button type="button" class="btn btn-secondary" id="btn_zipcode">우편번호 찾기</button>
|
||||
</div>
|
||||
@ -62,11 +71,11 @@ include 'header.php';
|
||||
<div class="d-flex mt-3 gap-2 justify-content-between">
|
||||
<div class="w-50">
|
||||
<label for="f_addr1" class="form-label">주소</label>
|
||||
<input typ="text" class="form-control" id="f_addr1" placeholder="주소를 입력하세요">
|
||||
<input typ="text" name="addr1" class="form-control" id="f_addr1" placeholder="주소를 입력하세요">
|
||||
</div>
|
||||
<div class="w-50">
|
||||
<label for="f_addr2" class="form-label">상세주소</label>
|
||||
<input typ="text" class="form-control" id="f_addr2" placeholder="상세주소를 입력하세요">
|
||||
<input typ="text" name="addr2" class="form-control" id="f_addr2" placeholder="상세주소를 입력하세요">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@ -1,31 +1,68 @@
|
||||
<?php
|
||||
|
||||
// 맨 첫 줄들에 추가
|
||||
ini_set('display_errors', 1);
|
||||
ini_set('display_startup_errors', 1);
|
||||
error_reporting(E_ALL);
|
||||
|
||||
|
||||
include '../config/dbconfig.php'; //상대경로
|
||||
include '../config/member.php';
|
||||
|
||||
$mem = new Member($db);
|
||||
|
||||
$id = (isset($_POST['id']) && $_POST['id'] != '') ? $_POST['id'] : '';
|
||||
$password = (isset($_POST['password']) && $_POST['password'] != '') ? $_POST['password'] : '';
|
||||
$email = (isset($_POST['email']) && $_POST['email'] != '') ? $_POST['email'] : '';
|
||||
$name = (isset($_POST['name']) && $_POST['name'] != '') ? $_POST['name'] : '';
|
||||
$zipcode = (isset($_POST['zipcode']) && $_POST['zipcode'] != '') ? $_POST['zipcode'] : '';
|
||||
$addr1 = (isset($_POST['addr1']) && $_POST['addr1'] != '') ? $_POST['addr1'] : '';
|
||||
$addr2 = (isset($_POST['addr2']) && $_POST['addr2'] != '') ? $_POST['addr2'] : '';
|
||||
$mode = (isset($_POST['mode']) && $_POST['mode'] != '') ? $_POST['mode'] : '';
|
||||
|
||||
if($_POST['mode'] == 'id_chk') {
|
||||
if($id == '') {
|
||||
// 아이디 중복 체크
|
||||
if ($mode == 'id_chk') {
|
||||
if ($id == '') {
|
||||
die(json_encode(['result' => 'empty_id']));
|
||||
}
|
||||
if($mem->id_exists($id)) {
|
||||
if ($mem->id_exists($id)) {
|
||||
die(json_encode(['result' => 'fail']));
|
||||
}else {
|
||||
} else {
|
||||
die(json_encode(['result' => 'success']));
|
||||
}
|
||||
}
|
||||
|
||||
if($_POST['mode'] == 'email_chk') {
|
||||
if($email == '') {
|
||||
// 이메일 중복 체크
|
||||
} else if ($mode == 'email_chk') {
|
||||
if ($email == '') {
|
||||
die(json_encode(['result' => 'empty_email']));
|
||||
}
|
||||
if($mem->email_exists($email)) {
|
||||
if ($mem->email_exists($email)) {
|
||||
die(json_encode(['result' => 'fail']));
|
||||
}else {
|
||||
} else {
|
||||
die(json_encode(['result' => 'success']));
|
||||
}
|
||||
//
|
||||
} else if ($mode == 'input') {
|
||||
// 비밀번호 해시 처리
|
||||
$hash = password_hash($password, PASSWORD_DEFAULT);
|
||||
// 프로필 이미지 처리
|
||||
$tmparr = explode('.', $_FILES['photo']['name']);
|
||||
$ext = end($tmparr);
|
||||
$photo = $id .'.'. $ext;
|
||||
|
||||
copy($_FILES['photo']['tmp_name'], "../data/profile/". $photo);
|
||||
|
||||
// 배열 생성
|
||||
$arr = [
|
||||
'id' => $id,
|
||||
'password' => $hash,
|
||||
'name' => $name,
|
||||
'email' => $email,
|
||||
'zipcode' => $zipcode,
|
||||
'addr1' => $addr1,
|
||||
'addr2' => $addr2,
|
||||
'photo' => $photo
|
||||
];
|
||||
|
||||
// 입력 메서드 실행
|
||||
$mem->input($arr);
|
||||
}
|
||||
@ -1,6 +1,7 @@
|
||||
<?php
|
||||
|
||||
$js_array = [ 'js/member.js'];
|
||||
$g_title = '약관';
|
||||
|
||||
include 'header.php';
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user