• 목록
  • 아래로
  • 위로
  • 5
  • 260578
  • 조회 수 251

(여태까지 했던건 다 날아갔습니다... 저장 안 누르고 내용을 싹 다 날려버렸어요)

<p>아이디: <input maxlength="12" type="text" id="idid" name="id"></p>
                                <button type="button" onclick="                
                                ">중복 확인</button>
                                <span id="check" style="color: gray; font-size: 0.8em">아이디 중복 확인이 필요합니다.</span>
<input type="hidden" name="isChecked" value="no">






버튼을 누르면 'idid'에 입력된 내용을 불러와서 DB에 있는 id와 매칭해서 'check'에 있는 텍스트를 "아이디 중복확인이 완료되었습니다."로 바뀌게 하고, "isChecked"의 내용을 yes로 바꾸고 싶습니다..


그런데 제가 자바스크립트를 아직 배우지 못해서 구글링 해봐도 적용할 방법을 못 찾더겠군요


6시간동안 머리싸매고 검색하고 붙여넣다 질문글 올려봅니다

작성자
260578 58 Lv. (58%) 274630/278480EXP

반가워요!

댓글 5

title: 황금 서버 (30일)humit
profile image

모바일이라서 자세히 쓰기가 어려워 개락적인 방법을 알려드리겠습니다.

아이디를 입력받아서 중복을 체크할 수 있는 페이지를 만든 다음 XmlHttpRequest 로 해당 페이지에 요쳥을 보내서 받아온 응답으로 요소를 조작해주시면 됩니다.

comment menu
2019.01.19. 22:00

신고

"humit님의 댓글"

이 댓글을 신고 하시겠습니까?

260578 작성자 → humit
profile image

감사합니다!

comment menu
2019.01.20. 09:44

신고

"260578님의 댓글"

이 댓글을 신고 하시겠습니까?

이니스프리
profile image
+1

저도 PHP, Javascript(jQuery), MySQL에 대해 쌩초보이고, ajax에 대해 제대로 이해하지 못하지만 용기를 내어 적어봅니다 ^^

일단 humit 님 말씀을 듣고 생각나는대로 작성하고 아직 테스트해보지 못해서 제대로 작동할 가능성은 없지만,

스포어의 고수님들께서 완성해주실 것으로 믿습니다 :)


일단 HTML에서 회원가입 form과 button은 완성하신 것 같군요~!

jquery를 불러오는 부분과 DB 처리와 관련된 부분은 일부 생략하겠습니다.


우선 form에서 받은 데이터를 ajax로 넘겨주는 부분입니다.


<script>
function checkID(){
   $.ajax({
   url: '/idcheck.php',
   type: 'POST',
   data: {'id' : $('#idid').val()},
   dataType: 'html',
   success: function(data){
    alert(data);
   }
 });
}
</script>



받아온 값으로 DB에서 중복된 아이디가 있는지 확인하는 부분(idcheck.php)입니다.


<?php
 $userid=$_POST['id'];
 $conn = mysql_connect(생략);
 $sql= " select count(*) from member where mb_id='$userid' ";
 $result=mysql_query($sql, $conn);
 $idexists=mysql_fetch_array($result);
 mysql_close($conn);
 $confirm=1;
?>



confirm 변수값을 받아서 isChecked의 value 값을 yes로 변경하고, #check의 텍스트도 변경해줍니다.


<script>
 var confirm="<?= $confirm?>";
 if(confirm==1){
   $("input[name=isChecked]").val('yes');
   $("#check").html("아이디 중복확인이 완료되었습니다.");
 }
</scpript>



마지막으로 idexists 변수값을 받아와서 중복 여부에 대해 유저에게 알려줍니다.


<script>
 var check="<?= $idexists[0]?>";
 if(check==1){
   alert("이미 사용중인 아이디입니다.");
 }
</script>



생각해보니 input 태그에 oninput을 넣어서 함수를 실행시켜야 할 것 같네요.

급하게 작성해서 틀린 부분도 많고 스포어의 고수님들께서 보시기에 우스꽝스러운 수준이지만 조금이나마 도움이 되셨으면 좋겠습니다~!

그럼 좋은 주말 되세요 ^^

comment menu
2019.01.19. 23:11

신고

"이니스프리님의 댓글"

이 댓글을 신고 하시겠습니까?

260578 작성자 → 이니스프리
profile image

감사합니다..

comment menu
2019.01.20. 09:43

신고

"260578님의 댓글"

이 댓글을 신고 하시겠습니까?

이니스프리 → 260578
profile image

도움이 되셨으면 좋겠네요~!

생각해보니 그누보드 같은 CMS의 소스를 뜯어보시면 관련된 소스를 찾으실 수 있을 것 같네요 ^^

comment menu
2019.01.20. 11:34

신고

"이니스프리님의 댓글"

이 댓글을 신고 하시겠습니까?

권한이 없습니다.
번호 제목 글쓴이 날짜 조회 수
공지 [작업 완료] 설 명절 맞이 서버 업데이트 안내 3 마스터 24.02.11.17:21 376
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 4 마스터 23.01.14.02:23 4060
공지 [필독] 질문하는 방법 17 마스터 18.02.23.03:09 4464
882 라라벨 설치 가이드 없을까요? 1 워시 21.10.27.14:55 157
881 href에 링크를 걸어도 그 페이지로 이동하지 않습니다 1 image 손가락개 21.10.24.05:09 144
880 SSD 5호를 공개수배합니다 4 image 제르엘 21.10.22.01:03 250
879 이미지가 align="center"을 사용해도 중앙정렬이 되지않습니다 4 image 손가락개 21.10.07.15:57 207
878 리버티스킨 개요에 테두리가 생기네요... 5 image 뚝섬플레이스 21.09.19.03:08 188
877 파이썬->PHP로 내용 출력 2 아이쿠 21.09.05.19:29 175
876 닌텐도 스위치 리듬게임 추천 부탁드려요~ ^-^ 6 이니스프리 21.08.05.21:04 325
875 C# Keycloak으로 로그인 밍원 21.06.20.11:33 229
874 하나의 OS에 복수의 DBMS를 설치하여도 문제 없을까요? ^^ 9 이니스프리 21.05.30.20:36 525
873 노트북 3호를 공개수배합니다 5 image 국내산라이츄 21.05.25.23:41 263
872 [질문] 오라클 클라우드 사용에 문제가 있습니다. 2 해피보이 21.05.15.21:59 660
871 비트코인 소켓 통신은 어떻게 하는 건가요? 3 필우 21.05.08.17:31 260
870 갑자기 소유한 모든 Freenom 도메인이 작동을 안하네요. 6 Yell 21.04.29.09:55 366
869 라즈베리파이로 홈서버 가능할까요? 6 토리토 21.04.29.09:40 324
868 호스팅 환경에서 php로 소켓서버를 만들수 있나요? 5 joyfuI 21.04.27.13:54 318
867 원격제어와 스트리밍을 막는 프로그램? 1 hidriqi 21.04.24.03:32 165
866 그누보드 설치시 오류 관련 질문 드리겠습니다. 4 image asdf1234 21.04.21.14:32 163
865 Let's Encrypt SSL 인증서 갱신이 안됩니다. 1 HighSpeed 21.04.16.17:29 150
864 스포어에서 DB 외부 접속의 허용 여부를 어떻게 설정하는가요? ㅠㅠ 3 이니스프리 21.04.02.22:08 203
863 모바일과 윈도우에서 잘 작동하는 note taking 앱이 있을까요? 6 이니스프리 21.03.28.22:58 214