회원가입시 체크사항
1. 가입하려는 아이디가 존재하는지 중복체크
2. 비밀번호를 두번 입력해서 두개가 일치하는지 확인하기 !
기존 join.php 파일에서 수정할것이다
다른 부분은 동일하니까 수정되는 부분만 확인해보자
join.php
<form method = "post" action ="/stairBoard/join_ok.php">
<div class="joinForm">
<table class="joinIntput">
<tr>
<!-- 중복검사 추가 !! -->
<td>ID</td>
<td><input type="text" name='userid' id='userid' placeholder="아이디" required></input></td>
<td><input type="hidden" name='decideId' id='decideId' ></input></td>
<td ><input type='button' id='idcheck' value='ID 중복검사' onclick = "checkid();"></input></td>
</tr>
<div class="btnset">
<button type="submit" id='join_btn'value="회원가입" disabled=true>회원가입</button>
</div>
</div>
</form>
1. hidden타입의 input 태그를 넣어서 중복확인된 아이디를 넣을것이다 !
<input type="hidden" name='decideId' id='decideId' ></input>
2. 중복검사 input 버튼에 value값을 줘서 아이디 체크 후 value값을 변환해주기
클릭시 checkid() 함수 실행
<input type='button' id='idcheck' value='ID 중복검사' onclick = "checkid();"></input>
script
function checkid(){
var userid = document.getElementById('userid').value;
if(userid){
url = "idcheck.php?userid="+ userid;
window.open(url,"chkid","width=400,height=200");
}else{
alert('아이디를 입력해주세요');
}
}
function checkid()
중복검사 버튼 클릭시 함수 실행
userid라는 변수에 userid라는 이름을 가진 value값을 저장한다 (사용자 입력 아이디)
if문
userid가 있으면 idcheck.php로 이동하는데 userid를 가지고 이동한다
window.open()을 통해 새로 창을 열어준다
입력값이 없으면 alert 출력

idcheck.php
<?php
$userid = $_GET['userid'];
$query = "select * from member where userid = '$userid'";
$result= mysqli_query($connect,$query);
$row = mysqli_fetch_array($result);
if(!$row){
echo "$uid 는 사용 가능한 아이디입니다.";
?>
<!--부모창의 decide() 함수 호출 후 창 닫기 -->
<p><input type='button' value='이 아이디 사용' onclick='opener.parent.decide(); window.close();'></p>
<?php }
else {
echo "$uid 는 사용중인 아이디입니다.";
?>
<p><input type='button' value='다른 아이디 사용' onclick="opener.parent.change(); window.close();"></p>
<?php }
?>
1. $query : 입력값과 일치하는 userid와 찾는 쿼리문
2. 일치하는 아이디가 없을경우
-> 부모창의 decide() 함수 호출 후 창 닫기
3. 일치하는 아이디가 있을경우
-> 부모창의 change() 함수 호출 후 창 닫기


script
// 아이디 체크 후 사용할때 수정내용
function decide(){
// 확정한 id를 hideen태그의 value로 넣어주기
document.getElementById("decideId").value = document.getElementById("userid").value;
//회원가입버튼 활성화
document.getElementById("join_btn").disabled = false;
//로그인폼 비활성화
document.getElementById("userid").disabled = true;
//중복검사 버튼 바꾸기
document.getElementById("idcheck").value = "다른 ID로 변경";
//다른ID로 변경 버튼의 onclick 함수를 change()로 변경
document.getElementById("idcheck").setAttribute("onclick", "change()");
}
// 체크아이디 수정할때 -> 초기상태로
function change(){
//회원가입버튼 비활성화
document.getElementById("join_btn").disabled = true;
//로그인폼 활성화
document.getElementById("userid").disabled = false;
//로그인폼 비워주기
document.getElementById("userid").value = ""
//다른 ID로 변경 버튼 초기상태로 바꾸기
document.getElementById("idcheck").value = "ID 중복검사";
//다른 ID로 변경 버튼의 onclick 함수를 checkid()로 변경
document.getElementById("idcheck").setAttribute("onclick", "checkid()");
}
비밀번호 확인
join.php
<tr>
<td>PW</td>
<td><input type="password" name='userpw' id='userpw' placeholder="비밀번호" required></td>
</tr>
<tr>
<td>PW확인</td>
<td><input type="password" name='pwcheck' id='pwcheck' placeholder="비밀번호를 다시 입력해주세요" ></td>
</tr>
비밀번호 입력 input을 2개 만들어 각각 id를 주고 두개의 값을 비교
join_ok.php
if($pwcheck != $userpw){
echo "<script> alert('비밀번호가 일치하지 않습니다.'); history.back();</script>";
exit();
}else{
echo "<script>alert('회원가입이 완료되었습니다.');";
echo "window.location.replace($URL);</script>";
}