join.php
<script>
$(document).ready(function(e){
$(".fadeInfirst").on("keyup",function(){ //$(".fadeInfirst").on("keyup",function() form class를 입력하여 이벤트 발생 "keyup"키보드를 누르고 때면 발생하는 이벤트 keydown 키를 누르면 발생
var self =$(this); //this는 일반적으로 메소드를 호출한 객체가 저장되어 있는 속성입니다.
var id;
var zero = 0;
var one = 1;
var two = 2;
if(self.attr("id")==="id"){ //self.attr("id") id에 있는 속성값 가져오기
id=self.val(); //id 변수에 값 저장
}
$.post( //ajax를 post방식으로 받은 데이터값 넘김
"idcheck.php",
{id : id}, //data 값 아이디
function(data){
if(data==zero){
console.log(data) //data 값 찍어보면 숫자가 나옵니다
$('#idcheck').text('');
$('#idcheck').html("<font color='#0821F8'>사용가능한 아이디입니다</font>");
}else if(data==one){
$('#idcheck').text('');
$('#idcheck').html("<font color='#FF6600'>아이디가 중복입니다</font>");
}else if(data==two){
$('#idcheck').text('');
$('#idcheck').html("<font color='#FF6600'>아이디는 영문자or숫자로 6자리 이상 입력</font>");
}
}
);//post
});//on
}); //document
</script>
join.php
join.php에 폼 부분입니다 <p id="idcheck"></p> 받아온값을 id부분에 출력해주기 위해 설정
<form name="myform" id="myform" method="POST" onsubmit="return check()" action="joinact.php">
<p id="idcheck"></p>
<input type="text" class="fadeInfirst" name="id" id="id" maxlength="12" placeholder="아이디" required>
<input type="password" class="fodeInsecond" name="pass" id="pass" maxlength="15" placeholder="비밀번호">
<p id="pwCheck"></p>
<input type="password" class="fodeInsecond" name="passcheck" id ="passcheck" maxlength="15" placeholder="비밀번호확인">
<p id="pwCheck1"></p>
<input type="text" class="fadeIn third" name="name" value="<?=$nameMsg ?>" placeholder="이름" >
<input type="text1" class="fadeIn fourth " name="email" value="<?=$emailMsg ?>" placeholder="메일" > @ <select name ="emailadress">
<option value ="">메일을 선택해주세요</option>
<option value ="naver.com">naver.com</option>
<option value ="google.com">google.com</option>
<option value ="daum.net">daum.net</option>
</select>
<input type="submit" id="submit" class="fadeIn fourth" value="회원가입">
</form>
jdcheck.php
<?php
include "dbconn.php"; //include 안 하신분들은 디비 설정 해주셔야 됩니다
//데이터 ajax리턴할 변수
$num =0;
$num1 =1;
$umn2 =2;
$id = mysqli_real_escape_string($conn, $_POST['id']); //php escape는 mysql injection 을 맞기 위해 설정 해놓은거 안하고 post값만 받아도 됌
$sql="select id from login where id='".$_POST['id']."'";
$row=mysqli_query($conn,$sql); //row 값을 저장 하고
$total = mysqli_num_rows($row); //mysqli_num_rows 함수는 리절트 셋(result set)의 총 레코드 수를 반환합니다 총 레코드 수를 계산해서 아이디 중복체크
if($total>0){ //total이 0보다 크면 레코드 안에 id입력값이 존재 하기 때문에 아이디는 중복이 된다
echo $num1 =1; //client ->server -> client 받아온 결과로 판단하기 위해 num변수를 만들어서 보내줌
//echo"아이디중복입니다 다시 입력해주세요";
}else if(!preg_match("/^[a-zA-z0-9]{6,12}$/",$id)){ //preg 정규식 체크를 하기 위한 php 함수
echo $umn2 =2;
//echo "아이디는 영문자or숫자로 6자리 이상 입력";
}else if((preg_match("/^[a-zA-z0-9]{6,12}$/",$id))){
echo $num =0;
//echo"사용가능한 아이디입니다";
}
?>
거의 주석으로 설명을 달아놓긴 했는데 모르는 부분 있으면 남겨주세요
[PHP] script 에서 session 값 불러오기 (0) | 2021.11.25 |
---|---|
[PHP] javascript keyup 숫자만 입력 가능 하게 숫자 정규식 (0) | 2021.11.23 |
[PHP] ajax를 활용하여 post값 전송하는 예제 (0) | 2021.11.11 |
[PHP] JQuery 버튼 누르면 select 비 활성화 (0) | 2021.11.10 |
[PHP] 로그인 select email (0) | 2021.10.29 |
댓글 영역