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

home2 게시판 Next.js 게시판 [회원가입] 사용자 입력 id,pw db에 안넘어가지는 오류

[회원가입] 사용자 입력 id,pw db에 안넘어가지는 오류

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

    한준서
    참가자
    next 강의 코딩애플에서 수강중입니다. 
    자체 회원가입 기능을 만드는 중 사용자가 입력한 사용자 id,pw가 mongodb에 업로드가 안되고 페이지가 무한로딩되어 해결하고자 연락드립니다.
    
    pages>api>auth>signup.js 는 다음과 같습니다.
    
    import { connectDB } from "util/database";
    import bcrypt from "bcrypt";
    export default async function handler(요청, 응답) {
     
    if (요청.method === "POST") {
    console.log(요청.body)
    const hash = await bcrypt.hash(요청.body.password, 10);
    요청.body.password = hash;
    let db = await connectDB();
    let userCollection = db.collection('user');
    await userCollection.insertOne(요청.body);
    응답.status(200).json('성공');
     }
    }
    -----------------------
    src>app>signup>page.js 는 다음과 같습니다.
    
    export default function Register(){
    const inputStyle = "w-[338px] h-[44px] border-[0.5px] border-[#707070] focus:border-[#005CA6] focus:border-[2px] focus:outline-none rounded-full py-[13px] pl-[23px] text-16 text-[#A5A5A5] font-['PretendardLight'] placeholder:text-[#A5A5A5]";
    return(
    <div className='flex flex-col items-center w-auto h-[121px] gap-y-[8px]'>
    <form method="POST" action="/api/auth/callback/signup">
    <p className="mb-4 text-center">회원가입</p>
    <input
    type='id' name='userId' id='userId'
    className = {inputStyle}
    placeholder='아이디를 입력해 주세요'/>
    <br/>
    <input
    type='password' name = 'userPass' id='userPass'
    className={inputStyle}
    placeholder='비밀번호를 입력해 주세요'/>
    <br/>
    <button type="submit">완료</button>
     
    </form>
    </div>
     )
    }
    ---------------------------------
    질문: 
    http://localhost:3000/signup에서 id,pw를 입력후 완료 버튼(submit)을 누르면 
    해당 페이지가 무한 로딩되고 db에도 사용자 입력 정보가 보이지 않습니다.
    여러 방법들을 시도해 봤는데 해결이 되지 않아 글 납깁니다.
    
    ps.
    database.js는 util>database.js 에 있으며 경로 문제는 없고 .env에도 db 정보를 정확히 기재하였음 . 
    db 연결 테스트 결과 다른곳에선 db 정보가 잘 추출됨
    
    
    #109216

    한준서
    참가자
    옛 코드를 붙여넣기 하여 정정 합니다.
    프론트의 각 input 부분의 name 부분을 타입에 맞게 잘 설정하였습니다.
    ...<input
    type='text' name='username'
    className = {inputStyle}
    placeholder='아이디'/>
    <br/>
    <br/>
    <input
    type='text' name = 'password'
    className={inputStyle}
    placeholder='비밀번호'/>
    <br/>
    <br/>
    <input
    type='text' name = 'email'
    className={inputStyle}
    placeholder='[선택] 비밀번호 분실 시 확인용 이메일'/>
    <br/>
    <br/>
    <br/>
    <input
    type='text' name = 'name'
    className={inputStyle}
    placeholder='이름'/>
    <br/>
    <br/>
    <input
    type='text' name = 'birthdate'
    className={inputStyle}
    placeholder='생년월일 8자리'/>
    <br/>...
    
    #109228

    codingapple
    키 마스터
    크롬콘솔창이나 터미널에 에러같은거 안뜨나 확인해봅시다
    #109243

    한준서
    참가자
    따로 뜨진 않습니다. ㅠㅠ
    #109278

    codingapple
    키 마스터
    /api/auth/signup 으로 post 요청날려봅시다
5 글 보임 - 1 에서 5 까지 (총 5 중에서)
  • 답변은 로그인 후 가능합니다.

About

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

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

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