-
2주차 과제
회원가입 페이지를 만들고 기능구현 후, 1주차에 만든 로그인 페이지와 db를 연동해 로그인할 수 있도록 만들기
먼저 sign up 페이지를 만들었다.
bootstrap의 코드를 이용해서 수정하였다. form은 POST method를 이용하고 action은 자기자신에게 보내도록 했다. input태그의 name은 각각 name, password, city로 했고 다 required 태그를 추가했다. 또한 button을 누르면 전송되도록 설정했다.
그리고 가장 위에 이 코드를 추가했다. POST로 받은 name이 존재하면 if문 안의 코드가 실행된다.
user라는 테이블을 이미 만들어 놨다. 그 table의 column은 idx, name, password, city로 구성되어있다. 그래서 sql문을 저렇게 만들었다. post로 들어오는 값들이 $sql 변수의 일부가 되도록 했다. 그리고 이 sql문은 insert이기 때문에 mysqli_query()함수를 실행했을때 따로 반환되는 값을 저장할 필요가 없다. 이후에 잘 저장이 되면 header함수를 통해서 login.php 페이지로 이동하게 만들었다.
예를 들어 inthewhiteshadow라는 id를 가지고 비밀번호가 오늘 날짜인 0428, 그리고 도시는 seoul로 지정해서 회원가입을 해보겠다.
값을 넣고 sign up을 하면 login.php 파일로 이동한다.
이제 로그인을 구현해 보겠다. 나는 index.php파일을 메인 페이지로 잡았고, 만약 이 페이지에 들어왔을 때 $_POST['id']가 없으면 login.php파일로 가도록 설정해 두었다. 그래서 주소창에 /index.php를 입력만 하면 /login.php로 이동한다.
또한 여기서도 db와 연결 후 post로 전달된 id와 row의 name, 그리고 password를 비교 후 참이면 특정 값을 출력하고 거짓이면 로그인 실패 값을 출력하도록 했다. 이때는 select와 where 키워드를 같이 사용했다.
회원가입한 id와 password를 입력고 sign in을 누르면 로그인이 된다. 만약 이 창에서 회원가입을 하고 싶다면 옆에 sign up 을 누르면 된다.
정상적으로 로그인이 되었다.
만약 잘못된 id나 password를 입력하면 이런 창이 나온다.
아직 회원가입을 할 때 validation이 명확하게 되어 있지 않아서 다음 글에서 설정해보려고 한다.
일단 생각중인 것은 id의 길이, 비밀번호 길이, 이미 존재하는 id의 체크이다.
또한 마이 페이지도 만들어 보려고 한다.
'웹 해킹' 카테고리의 다른 글
Login Logic Case 분석 (0) 2024.06.16 3주차 수업 정리 (0) 2024.05.03 2주차 수업 정리 (0) 2024.04.28 1주차 수업 정리 (1) 2024.04.19