php 회원가입 소스짜고있는데 회원가입시에 이미 DB내에 있는 아이디로 가입 못하게 어떻게 하나요??

조회수 7354회

php 회원가입 소스짜고있는데 회원가입시에 이미 DB내에 있는 아이디로 가입 못하게 어떻게 하나요??

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 2가지 방법이 있는데 2가지 방법 모두 적용하는게 좋습니다

    첫번째

    데이터베이스에서 아이디 컬럼 인덱스에 UNIQUE를 걸어놓는 방법입니다.

    이렇게 걸어놓으면 insert할때 아이디부분이 중복된다면 insert가 취소가 됩니다

    두번째

    php 로직단에서 아이디 중복체크를 하는 방법인데 현재 가입할때 요청이 들어온 아이디를 사용하는 방법입니다.

    이런방식으로 돌아가는거라 적당히 수정을 하셔야됩니다

    // 아이디 값을 가져온다
    $id = $_POST['id'];
    
    // 아래 쿼리를 실행해서 결과값을 가져온다
    // 유저 테이블에서 id에 방금받은 $id 값을 찾는다
    // 0 을 한 이유는 *를 할필요가 없기때문
    SELECT 0 FROM '유저테이블' WEHRE id = $id
    
    // 방금 가져온 데이터에서 만약 가져온게 있다
    if( TRUE ) {
    
        아이디가 중복입니다;
    
    } else {
    
        회원가입 완료;
    
    }
    

    이런 형식입니다. 사용하시는 db 함수에 따라 가져오는 부분은 달라지니 수정하시면 됩니다

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)