Add: maestro register

This commit is contained in:
2018-06-26 23:51:39 +09:00
parent 77afebbb3a
commit 6f4be3e81b
5 changed files with 186 additions and 37 deletions
@@ -20,8 +20,6 @@ function login() {
xhr.open('POST', './../server/maestro/login.php', true); xhr.open('POST', './../server/maestro/login.php', true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send("maestro_name=" + name + "&password=" + password); xhr.send("maestro_name=" + name + "&password=" + password);
//응답
xhr.onload = function() { xhr.onload = function() {
if(xhr.readyState === 4 && xhr.status === 200) { if(xhr.readyState === 4 && xhr.status === 200) {
let replyJSON = JSON.parse(xhr.responseText); let replyJSON = JSON.parse(xhr.responseText);
+135 -33
View File
@@ -11,40 +11,133 @@
</style> </style>
<script>
let maestro_name = "";
let isAvailableID = false;
let password = "";
let email = "";
let accountType = 0;
let selectedAccountTypeValue = "";
function check_id() {
maestro_name = $("#maestro_name").val();
let xhr = new XMLHttpRequest(); //new로 생성.
xhr.open('POST', './../server/maestro/check_id.php', true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send("maestro_name=" + maestro_name);
xhr.onload = function() {
if(xhr.readyState === 4 && xhr.status === 200) {
let replyJSON = JSON.parse(xhr.responseText);
// console.log(replyJSON);
// if(replyJSON !== null)
// console.log(replyJSON);
// if(replyJSON["MaestroID"] !== undefined)
// console.log(replyJSON["MaestroID"]);
if(replyJSON !== null && replyJSON["Result"] !== undefined && replyJSON["Result"] === "ok") {
// sessionStorage.setItem("maestroID", replyJSON["MaestroID"]);
// location.href = './../maestro/main_menu.html';
isAvailableID = true;
} else {
isAvailableID = false;
$("#error_message").val(replyJSON["ERROR"]);
$("#maestro_name").val("");
$("#maestro_name").focus();
}
}
}
}
function check_data() {
if(!isAvailableID) {
$("#error_message").val("아이디 중복 확인을 해 주세요.");
$("#check_id").focus();
return;
}
password = $("#password").val();
if(password.length === 0) {
$("#error_message").val("패스워드를 입력해 주세요.");
$("#password").focus();
return;
}
email = $("#email").val();
if(email.length === 0) {
$("#error_message").val("이메일을 입력해 주세요.");
$("#email").focus();
return;
}
selectedAccountTypeValue = $("#account_type option:selected").text();
console.log(selectedAccountTypeValue);
let isCheckAcceptClauses = $("#check_accept_clauses").is(":checked");
if(!isCheckAcceptClauses) {
$("#error_message").val("약관을 읽고, 동의 체크 버튼을 눌러 주세요.");
$("#check_accept_clauses").focus();
return;
}
$(".maestro_name").append(maestro_name);
$(".password").append(password);
$(".email").append(email);
$(".account_type").append(selectedAccountTypeValue);
$(".price_account").append(selectedAccountTypeValue);
$("#input_data").css("display", "none");
$("#register_account").css("display", "block");
}
function register_account() {
$("#register_account").css("display", "none");
$("#banking_guide").css("display", "block");
}
</script>
<div class="container"> <div class="container">
<div class="maestro_manager_user"> <div id="input_data">
<h1>마에스트로 계정 신청</h1> <h1>마에스트로 계정 신청</h1>
<form action="/action_page.php" method="get" id="register"> (필수) 마에스트로 아이디 : <input type="text" id="maestro_name">
(필수) 마에스트로 아이디 : <input type="text" name="id"> <button id="check_id" onClick="check_id()">중복 확인</button><br/>
<button >중복 확인</button><br/> (필수) 암호 : <input id="password" type="password" name="password"><br/>
(필수) 암호 : <input type="password" name="password"><br/> (필수) 이메일 : <input id="email" name="email"><br/>
(필수) 이메일 : <input type="password" name="email"><br/> (필수) 학생 수 :
(필수) 학생 수 : <select id="account_type">
<select> <option name="account_type" value="1">20명 (1만원 / 1년)</option>
<option value="1">20명 : (1년) 1만원</option> <option name="account_type" value="1">50명 (2만원 / 1년)</option>
<option value="1">50명 : (1년) 2만원</option> <option name="account_type" value="1">100명 (3만원 / 1년)</option>
<option value="1">100명 : (1년) 3만원</option> </select>
</select> <br/>
<br/> <br/>
<br/> <input id="check_accept_clauses" type="checkbox" name="accept_clauses">아래 약관을 읽었으며, 모든 내용에 동의합니다.<br/>
<input type="checkbox" name="accept_clauses">아래 약관을 읽었으며, 모든 내용에 동의합니다.<br/> <br/>
<br/>
<button type="submit" form="register">등록 신청</button>
</form>
<div class="col alignCenter">
<a id="maestro_register" class="btn btn-sea width400" onClick="check_data()">등록 신청</a>
</div>
<br/>
<textarea id="error_message">
</textarea>
<h1>약관 주요 내용 요약</h1> <h1>약관 주요 내용 요약</h1>
<p style="text-align: right;">마지막 갱신 : 2018년 6월 26일</p> <p style="text-align: right;">마지막 갱신 : 2018년 6월 26일</p>
<div class="col alignCenter">
<a href="#" id="maestro_register" class="btn btn-sea">약관 읽기</a>
</div>
<ol> <ol>
<li>결제는 계좌 이체(송금)으로만 가능합니다. 신용카드 결제는 준비되지 않았습니다.</li> <li>결제는 계좌 이체(송금)으로만 가능합니다. 신용카드 결제는 준비되지 않았습니다.</li>
<li>결제는 계좌 이체(송금)으로만 가능합니다. 신용카드 결제는 준비되지 않았습니다.</li> <li>결제는 계좌 이체(송금)으로만 가능합니다. 신용카드 결제는 준비되지 않았습니다.</li>
@@ -55,25 +148,33 @@
<li>서비스 업그레이드는 가능합니다. 업그레이드한 날부터 1년간 업그레이드 서비스가 시작됩니다.</li> <li>서비스 업그레이드는 가능합니다. 업그레이드한 날부터 1년간 업그레이드 서비스가 시작됩니다.</li>
</ol> </ol>
<div class="col alignCenter">
<a id="agreement_clauses" class="btn btn-orange">전체 약관 읽기</a>
</div>
<hr> </div>
<div id="register_account" style="display: none;">
<h2>신청 정보 확인</h2> <h2>신청 정보 확인</h2>
마에스트로 아이디 : <span></span><br/> 마에스트로 아이디 : <span class="maestro_name"></span><br/>
암호 : <span></span><br/> 암호 : <span class="password"></span><br/>
학생 수 : <span></span><br/> 이메일 : <span class="email"></span><br/>
학생 수 : <span class="account_type"></span><br/>
<!--
<h3>입금 계좌</h3> <h3>입금 계좌</h3>
<div> <div>
카카오뱅크 : 9999-999999<br/> 카카오뱅크 : 9999-999999<br/>
계좌 이름 : 박지상<br/> 계좌 이름 : 박지상<br/>
금액 : <span class="price_account"></span>원 금액 : <span class="price_account"></span>원
<div>보내는 사람 이름 : 요청하신 마에스트로 아이디 <span class="maestro_id"></span>로 입력해주세요.</div> <div>보내는 사람 이름 : 요청하신 마에스트로 아이디 <span class="maestro_name"></span>로 입력해주세요.</div>
<div class="tip">보내는 사람 이름을 마에스트로 아이디로 해주실 경우, 가장 빠르게 계정을 활성화 해드릴 수 있습니다.</div> <div class="tip">보내는 사람 이름을 마에스트로 아이디로 해주실 경우, 가장 빠르게 계정을 활성화 해드릴 수 있습니다.</div>
</div> </div>
-->
<div> <div>
신청 내용이 모두 맞는지 확인해주세요. 신청 내용이 모두 맞는지 확인해주세요.
아래의 등록 신청 버튼을 누르면, 입력하신 이메일 주소로도 입금 내용을 보내드립니다. 아래의 등록 신청 버튼을 누르면, 입력하신 이메일 주소로도 입금 내용을 보내드립니다.
신청후에 <span class="price_account"></span>원을 송금해주세요. 신청후에 <span class="price_account"></span>원을 송금해주세요.
@@ -82,16 +183,17 @@
<br/> <br/>
<div class="col alignCenter"> <div class="col alignCenter">
<a href="#" id="send_register" class="btn btn-sea">마에스트로 계정 등록</a> <a href="#" id="send_register" class="btn btn-sea width400" onClick="register_account()">마에스트로 계정 등록</a>
</div> </div>
</div>
<hr>
<div id="banking_guide" style="display: none;">
<h2>신청 정보 확인</h2> <h2>신청 정보 확인</h2>
<div>마에스트로 아이디</div> <div>마에스트로 아이디</div>
<div class="maestro_id"></div> <div class="maestro_name"></div>
<div>가 신청되었습니다.</div> <div>가 신청되었습니다.</div>
<h3>입금 계좌</h3> <h3>입금 계좌</h3>
@@ -99,7 +201,7 @@
카카오뱅크 : 9999-999999<br/> 카카오뱅크 : 9999-999999<br/>
계좌 이름 : 박지상<br/> 계좌 이름 : 박지상<br/>
금액 : <span class="price_account"></span> 금액 : <span class="price_account"></span>
<div>보내는 사람 이름 : 요청하신 마에스트로 아이디 <span class="maestro_id"></span>로 입력해주세요.</div> <div>보내는 사람 이름 : 요청하신 마에스트로 아이디 <span class="maestro_name"></span>로 입력해주세요.</div>
<div class="tip">보내는 사람 이름을 마에스트로 아이디로 해주실 경우, 가장 빠르게 계정을 활성화 해드릴 수 있습니다.</div> <div class="tip">보내는 사람 이름을 마에스트로 아이디로 해주실 경우, 가장 빠르게 계정을 활성화 해드릴 수 있습니다.</div>
</div> </div>
+48
View File
@@ -0,0 +1,48 @@
<?php
header('Content-Type: application/json');
$maestro_name = $_POST["maestro_name"];
/*
if(!is_numeric($enterCode)) {
send_error_code('생년월일이 숫자가 아닙니다. : '.$enterCode);
exit;
} else if(strlen($enterCode) != 6) {
send_error_code('6자리 숫자값을 정확히 입력하세요 : YYMMDD (예 : 120131) : '.$enterCode);
exit;
}
*/
include "./../setup/connect_db.php";
$maestro_id = get_maestro_id($maestro_name);
if($maestro_id !== null) {
$replyJSON["ERROR"] = "등록된 마에스트로 아이디가 있습니다";
echo json_encode($replyJSON, JSON_UNESCAPED_UNICODE);
$db_conn->close();
exit;
}
$replyJSON["Result"] = "ok";
echo json_encode($replyJSON, JSON_UNESCAPED_UNICODE);
$db_conn->close();
exit;
function get_maestro_id($maestro_name) {
global $db_conn;
$query = "SELECT MaestroID FROM moty_maestro WHERE Name=?";
$stmt = $db_conn->prepare($query);
$stmt->bind_param('s', $maestro_name);
$stmt->execute();
$stmt->bind_result($maestro_id);
// while($stmt->fetch()) {
// ;
// }
$stmt->fetch();
$stmt->close();
return $maestro_id;
}
?>
+2 -1
View File
@@ -3,6 +3,7 @@ header('Content-Type: application/json');
$maestro_name = $_POST["maestro_name"]; $maestro_name = $_POST["maestro_name"];
$password = $_POST["password"]; $password = $_POST["password"];
/* /*
if(!is_numeric($enterCode)) { if(!is_numeric($enterCode)) {
send_error_code('생년월일이 숫자가 아닙니다. : '.$enterCode); send_error_code('생년월일이 숫자가 아닙니다. : '.$enterCode);
@@ -55,7 +56,7 @@ function get_maestro_id($maestro_name) {
function login($maestro_name, $password) { function login($maestro_name, $password) {
global $db_conn; global $db_conn;
$query = "SELECT MaestroID FROM moty_maestro WHERE Name=? AND Password=?"; $query = "SELECT MaestroID FROM moty_maestro WHERE Name=? AND Password=PASSWORD(?)";
$stmt = $db_conn->prepare($query); $stmt = $db_conn->prepare($query);
$stmt->bind_param('ss', $maestro_name, $password); $stmt->bind_param('ss', $maestro_name, $password);
$stmt->execute(); $stmt->execute();
+1 -1
View File
@@ -1,7 +1,7 @@
CREATE TABLE moty_maestro ( CREATE TABLE moty_maestro (
MaestroID INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, MaestroID INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name CHAR(50) NOT NULL, Name CHAR(50) NOT NULL,
Password CHAR(10) NOT NULL, Password CHAR(50) NOT NULL,
Email CHAR(50) NOT NULL, Email CHAR(50) NOT NULL,
AccountType INT UNSIGNED NOT NULL, AccountType INT UNSIGNED NOT NULL,
AccountStatus INT UNSIGNED NOT NULL, AccountStatus INT UNSIGNED NOT NULL,