• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Next.js 게시판 글 작성기능 만들기 2 - 숙제

글 작성기능 만들기 2 - 숙제

3 글 보임 - 1 에서 3 까지 (총 3 중에서)
  • 글쓴이
  • #85232

    윤종은
    참가자
    <span style="color: #33cccc;">app/join/page.js
    
    </span>
    export default function login() {
      return (
        <div>
          <h2>회원가입</h2>
          <form action="/api/join/newJoin" method="POST">
            <input name="id" id="id" type="text" placeholder="아이디 입력" />
            <input name="pw" id="pw" type="password" placeholder="비밀번호 입력" />
            <button type="submit">회원가입</button>
          </form>
        </div>
      );
    }

    <span style="color: #ff0000;">=================================================</span>

    <span style="color: #33cccc;">pages/api/join/newJoin.js
    
    </span>
    import { connectDB } from "@/util/database";
    export default async function Join(request, response) {
      console.log("### 1. request.body.id\n", request.body.id);     // 1 입력
      console.log("### 1. request.body.pw\n", request.body.pw);  // (입력안함)
      // 변수 설정
      const db = (await connectDB).db("forum");
      const findId = await db.collection("account").findOne();
      const id = request.body.id;
      const pw = request.body.pw;
      console.log("### 2. Id\n", id);            // 1
      console.log("### 2-1. pw\n", pw);      // 없음
      console.log("### 3. findId\n", findId); // { _id: new ObjectId("646f3d8c3bdece8f3f49e35b"), id: '1', pw: '1' }
      // 구분
     <span style="text-decoration: underline; color: #ff9900;"> if (id == findId) {
        console.log("아이디 중복");
        return response.status(500).json("아이디 중복~!");</span>
      } else if (id == "") {
        return response.status(500).json("아이디 입력 하자~!");
      } else if (pw == "") {
        return response.status(500).json("비번 입력 하자~!");
      }
      //   // DB에 보관 기능
      //   // let result = await db.collection("post").insertOne(request.body);
      return response.status(200).json("완료");
    }
    
    
    /*
      [ 한글 기능 정의 ]
      1. 유저가 아이디 비번을 서버로 보내면 
        request
      2. 서버는 유저 아이디를 db에서 findOne() 합니다
        DB에서 유저 아이디를 findOne()
      3. 결과가 있으면 /실패 페이지 보여주기 
          DB에 id가 있으면 -> 실패 페이지
      4. 결과가 없으면 db에 아이디와 비번을 저장해주기
          DB에 id가 없으면 -> id, pw 저장해주기
    */

    <span style="color: #ff0000;">=================================================</span>

    이렇게 몇일째 이거했다 저거했다 하는데 ㅠ
    
    <span style="text-decoration: underline;"><span style="color: #ff9900; text-decoration: underline;">if (id === findId) {
        console.log("아이디 중복");
        return response.status(500).json("아이디 중복~!");</span></span>
    이 부분에서 중복을 거르고 싶은데
    자꾸 그냥 넘어가네요 ㅠ
    선생님~ 도와주십시오 ㅠ
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    		
    	
    #85269

    codingapple
    키 마스터
    문자자료랑 {} 자료를 id === findId 등호비교는 불가능합니다 findId.id 해서 비교하거나 합시다
    #85287

    윤종은
    참가자
    아하 이해 했습니다
    감사합니다~
3 글 보임 - 1 에서 3 까지 (총 3 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠