Files
firstgarden-web-gnu/manager/annual_member/annu_member_insert.php

145 lines
6.1 KiB
PHP

<?php
// if (!defined('_GNUBOARD_')) define('_GNUBOARD_', true); // 상위 공통파일에서 정의되어 있다면 생략 가능
// 고객에게 보내는 SMS를 통해 고객이 직접 접속하므로 주석처리
include_once('./_common.php'); // 공통 환경 로드
$isDebug = false; // 디버그 여부, 필요시 true로 변경
$b5_code = $annual_items['빅5'];
$nor_code = $annual_items['일반'];
$annu_item_code = array_values($annual_items);
// 1. 요청된 od_id 받기 (GET 또는 POST)
$od_id = isset($_REQUEST['od_id']) ? trim($_REQUEST['od_id']) : '';
if (!$od_id) {
alert('주문번호가 없습니다.');
exit;
}
// 2. 주문정보 유효성 체크
$order = sql_fetch("SELECT od_id FROM {$g5['g5_shop_order_table']} WHERE od_id = '{$od_id}'");
if (!$order) {
alert('유효하지 않은 주문번호입니다.');
exit;
}
// 4. 주문 상품별 수량 조회 (연간회원권에 해당하는 상품만)
$sql = "SELECT it_id, ct_qty FROM {$g5['g5_shop_cart_table']} WHERE od_id = '{$od_id}' AND it_id IN ('".implode("','", $annu_item_code)."')";
$result = sql_query($sql);
if (sql_num_rows($result) == 0) {
alert('연간회원권 상품 주문 내역이 없습니다.');
exit;
}
// 5. 상품별 수량 데이터 배열로 저장
$items = [];
while ($row = sql_fetch_array($result)) {
$items[] = [
'it_id' => $row['it_id'],
'ct_qty' => (int)$row['ct_qty']
];
}
// 6. 상품별 카테고리 정의
function getAnnuCaID($it_id) {
global $annual_items;
foreach ($annual_items as $name => $code) {
if ($code == $it_id) {
return [
'ca_id' => ($name == '빅5') ? 5 : 3, // 필요시 다른 로직으로 분기
'ca_name' => $name
];
}
}
return ['ca_id' => 0, 'ca_name' => '기타'];
}
// 7. HTML 출력 시작
?>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8" />
<title>연간회원 정보 입력</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" crossorigin="anonymous"></script>
<script src="https://t1.daumcdn.net/mapjsapi/bundle/postcode/prod/postcode.v2.js"></script>
<script>
function execDaumPostcode(targetId) {
new daum.Postcode({
oncomplete: function(data) {
var addr = data.userSelectedType === 'R' ? data.roadAddress : data.jibunAddress;
document.getElementById(targetId).value = addr;
}
}).open();
}
</script>
</head>
<body>
<section class="container-sm my-5" style="max-width:800px;">
<h3>퍼스트가든 연간회원 정보입력</h3>
<form action="annual_member_insert.update.php" method="POST" enctype="multipart/form-data">
<input type="hidden" name="od_id" value="<?=htmlspecialchars($od_id)?>" readonly>
<?php
$idx = 0;
foreach ($items as $item) {
$ca = getAnnuCaID($item['it_id']);
$ca_name = $ca['ca_name'];
$ca_id = $ca['ca_id'];
for ($i = 0; $i < $item['ct_qty']; $i++, $idx++) {
?>
<div class="mb-4 p-3 border rounded">
<h5><?=$ca_name?> 회원 <?=$i+1?></h5>
<input type="hidden" name="it_id_<?=$idx?>" value="<?=htmlspecialchars($item['it_id'])?>">
<input type="hidden" name="ca_id_<?=$idx?>" value="<?=$ca_id?>">
<div class="mb-2">
<label for="name_<?=$idx?>" class="form-label">성명</label>
<input type="text" id="name_<?=$idx?>" name="name_<?=$idx?>" class="form-control" required>
</div>
<div class="mb-2">
<label class="form-label">성별</label><br>
<input type="radio" id="gender_male_<?=$idx?>" name="gender_<?=$idx?>" value="남" checked required>
<label for="gender_male_<?=$idx?>">남</label>
<input type="radio" id="gender_female_<?=$idx?>" name="gender_<?=$idx?>" value="여" required>
<label for="gender_female_<?=$idx?>">여</label>
</div>
<div class="mb-2">
<label for="tel_<?=$idx?>" class="form-label">연락처</label>
<input type="text" id="tel_<?=$idx?>" name="tel_<?=$idx?>" class="form-control" maxlength="11" required>
</div>
<div class="mb-2">
<label for="birth_<?=$idx?>" class="form-label">생년월일</label>
<input type="date" id="birth_<?=$idx?>" name="birth_<?=$idx?>" class="form-control" max="9999-12-31" required>
</div>
<div class="mb-2">
<label for="email_<?=$idx?>" class="form-label">이메일</label>
<input type="email" id="email_<?=$idx?>" name="email_<?=$idx?>" class="form-control">
</div>
<div class="mb-2">
<label for="addr_<?=$idx?>" class="form-label">주소</label>
<input type="text" id="addr_<?=$idx?>" name="addr_<?=$idx?>" class="form-control">
<button type="button" class="btn btn-primary mt-1" onclick="execDaumPostcode('addr_<?=$idx?>')">주소검색</button>
</div>
<div class="mb-2">
<label for="photofile_<?=$idx?>" class="form-label">사진첨부</label>
<input type="file" id="photofile_<?=$idx?>" name="photofile_<?=$idx?>" class="form-control" required>
</div>
</div>
<?php
}
}
?>
<button type="submit" class="btn btn-primary">등록 완료</button>
</form>
</section>
</body>
</html>