NODE EXPRESS 로그인 회원가입 로그아웃 구현

SOOM·2023년 5월 18일
0

//CLIENT/SINGUP.JSX


회원가입 폼에서 서버와 연결하는 코드(정확히는 클라이언트가 서버로 요청을 보내는 코드)

서버로 폼에서 받은 값을 보내고 데이터 잘 들어가면 회원가입이 잘 됐다고 판단

//SERVER/USER.JS


클라이언트의 URL을 타고오면 여기로 오는데
서버 주소랑 USER.JS파일에 /SINGUP 엔드포인트로 오라는 말이다 (아마도)

여기에선 클라이언트가 보내준 필드의 값들을 어떨게 처리해줄건지 작성했다.

  1. 빈칸이 있으면 빈칸을 채워달라는 오류 메시지를 반환하고
  2. 아이디로 사용되는 EMAIL은 중복값이 DB에 있으면 중복된 이메일이 있다는 오류메시지를 반환하고
  3. 이 모든걸 해내면 DB USER테이블에 값을 넣는다

그리고 마참내 회원가입이 완료되었다는 메시지를 반환한다

혹시 모를 오류에 대비하여 CATCH라는 오류를 처리하는 로직을 만들었다.

그리고 알아두면 쓸모있는 지식!

MYSQL은 각 행이 튜플형식이라 데이터를 넣을때 순서대로 써야한다 (막 썼다가 오류났음)

아무튼 클라이언트가 요청을 서버에 보내면 서버는 로직에 따라 처리하고 다시 반환하는 데이터를 클라이언트가 받는다.


그럼 로그인은 어떻게 해야할까? 나도 아직 모름 포항항!

일단 정리할겸 여기에 적어보겠다.

//login.jsx

이건 보면 아까랑 비슷하다 emial이랑 password를 보내고 데이터 잘 도착했는지 안 했는지에 따라 메시지가 출력된다.

//server/user.js

user.js 같은 파일에 있다 하하

일단 로그인은 세션이란...것을 사용해야하는데 세션에 로그인 정보를 저장해야 페이지가 동작할 때 사라지는 정보들을 잡아둘 수 있다! 근데 이제 어떻게 구현해야하는지 모르는...희히 일단 필요하니까 모듈 가져온다

그리고 아까랑 비슷하게 db에 접근해서 아이디로 쓰이는 이메일과 비밀번호가 틀리면 없다고 반환, 있으면 있다고 반환한다 여기까진 비슷한데

이제 세션이란것을 사용한다.
로그인이 성공하면 세션 데이터에 email에 user.email 값을 넣고 콘솔로그에 나오게 한다 그래서 난 이제 세션에 로그인 정보를 넣었다고 생각중인데 아직 완전히 구현 안됐으니 확실한건 아님

//header.jsx

로그인 구현이 안됐다고 하는 이유이다. 로그인을 하고 대문으로 가면 헤더가 로그아웃으로 바뀌어있지 않다 왜 인지는 지금 찾는 중~

profile
재밌겠다...

0개의 댓글