1. signup.php
<!DOCTYPE html>
<?php session_start(); ?>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Join</title>
<script type="text/javascript" src="./checkid.js"></script>
<script type="text/javascript" src="./decide.js"></script>
<script type="text/javascript" src="./change.js"></script>
<script type="text/javascript" src="./address.js"></script>// 각 함수를 불러오는 코드
</head>
<body>
<h2>SignUp</h2>
<?php if(!isset($_SESSION['user_id']) || !isset($_SESSION['user_name'])) { ?>
<form method="post" action="signup_ok.php" autocomplete="off">
<p>이름: <input type="text" name="signup_name" required></p>
<p>아이디: <input type="text" name="signup_id" id="uid" required></p>
<input type="hidden" name="decide_id" id="decide_id">
<p><span id="decide" style='color:red;'>ID 중복 여부를 확인해주세요.</span>
<input type="button" id="check_button" value="ID 중복 검사" onclick="checkid();"></p>
<p>비밀번호: <input type="password" name="signup_pw" required></p>
<p>비밀번호 확인: <input type="password" name="signup_pw2" required></p>
<p><div class=subject>주소</div><br>
<input class=textform type="text" name="sign_addr" id="addr" onclick="address();" placeholder="주소를 검색해주세요." required></p>
<p><input type="submit" id="join_button" value="SignUp" disabled=true></p>
</form>
<small><a href="login.php">You have account?</a><small>
<?php } else {
$user_id = $_SESSION['user_id'];
$user_name = $_SESSION['user_name'];
echo "<p>$user_name($user_id)already Login";
echo "<p><button onclick=\"window.location.href='home.php'\">Go to Main</button> <button onclick=\"window.location.href='logout.php'\">로그아웃</button></p>";
} ?>
</body>
</html>
2. signup_ok.php
<?php
if (!isset($_POST['signup_name']) || !isset($_POST['decide_id']) || !isset($_POST['signup_pw'])) {
header("Content-type: text/html; charset=UTF-8");
echo "<script>alert('check the content!!')";
echo "window.location.replace('signup.php');</script>";
exit;
}
$join_name = $_POST['signup_name'];
$join_id = $_POST['decide_id'];// POST값을 decide_id로 변경한다
$join_pw = $_POST['signup_pw'];
$address = $_POST['sign_addr'];
$conn= mysqli_connect('localhost', 'admin', 'kisec123', 'MEMBER');
//신규 회원정보 삽입 + ID 재정렬
$multi = "
INSERT INTO login (name, id, pw, address) VALUES ('$join_name', '$join_id', '$join_pw', '$address')";
$res = $conn -> query($multi);
if($res){
echo "<script>alert('회원가입이 완료되었습니다.');";
echo "window.location.replace('login.php');</script>";
exit;
}
else{
echo "<script>alert('저장에 문제가 생겼습니다. 관리자에게 문의해주세요.');</script>";
}
mysqli_close($conn);
?>
<meta http-equiv="refresh" content="0;url=main.php">
3. checkid.js
function checkid(){
var userid = document.getElementById("uid").value;
if(userid) //userid로 받음
{
url = "check.php?userid="+userid;
window.open(url,"checkid","width=400,height=200");
} else {
alert("아이디를 입력하세요.");
}
}
4. check.php
1) ID 중복검사를 처리하는 코드
<?php
$conn= mysqli_connect('localhost', 'admin', 'kisec123', 'MEMBER');
$uid= $_GET["userid"]; //GET으로 넘긴 userid
$sql= "SELECT * FROM login where id='$uid'";
$result = mysqli_fetch_array(mysqli_query($conn, $sql));
if(!$result){
echo "<span style='color:blue;'>$uid</span> 는 사용 가능한 아이디입니다.";
?><p><input type=button value="이 ID 사용" onclick="opener.parent.decide(); window.close();"></p>
<?php
} else {
echo "<span style='color:red;'>$uid</span> 는 중복된 아이디입니다.";
?><p><input type=button value="다른 ID 사용" onclick="opener.parent.change(); window.close()"></p>
<?php
}
?>
5. decide.js
1) [이 ID 사용]을 클릭했을 때 실행되는 코드
function decide(){
document.getElementById("decide").innerHTML = "<span style='color:red;'>ID 중복 여부를 확인해주세요.</span>"
document.getElementById("decide_id").value = document.getElementById("uid").value
document.getElementById("uid").disabled = true
document.getElementById("join_button").disabled = false
document.getElementById("check_button").value = "다른 ID로 변경"
document.getElementById("check_button").setAttribute("onclick", "change()")
}
6. change.js
1) [다른 ID 사용]을 클릭했을 때 실행되는 코드
function change(){
document.getElementById("decide").innerHTML = "<span style='color:red;'>ID 중복 여부를 확인해주세요.</span>"
document.getElementById("uid").disabled = false
document.getElementById("uid").value = ""
document.getElementById("join_button").disabled = true
document.getElementById("check_button").value = "ID 중복 검사"
document.getElementById("check_button").setAttribute("onclick", "checkid()")
}
'Web Development' 카테고리의 다른 글
로그인 case (0) | 2022.10.24 |
---|---|
로그인/로그아웃 (0) | 2022.10.20 |