[normaltic 취업반 5기] 2023-11-01 2주차 과제 : 3번 과제

2023. 11. 6. 17:40normaltic 취업반 5기/과제

3번 과제

 

목표 기능 : 로그인 페이지에 DB와 연결하여 기능 구현

추가 기능 : 세션 기능 추가, 로그아웃 기능 추가

 

login.php

 

login.php 페이지
$_SESSION['login_error'] 변수가 등록된 상태일 시

 

login.php 페이지의 작동 순서는 다음과 같다.

  • ID와 Password를 입력란에 입력하면 POST 메소드 방식으로 login_proc.php 페이지로 데이터를 전달한다.
  • $_SESSION['login_error'] 세션 변수에 변수가 등록된 상태라면 로그인 버튼 하단에 '아이디 혹은 비밀번호가 틀렸습니다 다시 입력해주세요' 문자열을 출력한다.
  • 그리고 $_SESSION['login_error'] 세션 변수를 해제한다.
login_proc.php 1/2

 

아이디 입력란이 비어있을 경우
비밀번호 입력란이 비어있을 경우

 

login_proc.php 페이지의 작동 순서는 다음과 같다.

  • 로그인 페이지에서 전달받은 데이터를 $id, $passwd 변수에 각각 저장한다.
  • 유효성 검사를 진행하기위해 $id, $passwd 변수의 문자열 길이를 strlen() 함수로 계산한다.
  • $id, $passwd 변수 중 하나라도 공란이라면 경고 팝업창을 보여주고 로그인 페이지로 이동한다.

 

login_proc.php 2/2

 

 

  • 유효성 검사를 완료하면 로그인 기능을 수행한다.
  • 데이터가 저장되어있는 DB를 연결하여 $id 변수를 $sql 변수에 쿼리문과 함께 입력한다.
  • DB에 $id, $passwd 변수와 같은 데이터가 저장되어 있는 경우 $_SESSION['user_id'],$_SESSION['user_pass'] 세션 변수에 각각 데이터를 대입한다.
  • 대입 후 index.php 페이지로 이동하고 DB 연결을 해제하고 exit()함수를 호출한다.
  • DB에 $id, $passwd 변수와 같은 데이터가 저장되어있지 않은 경우 $_SESSION['login_error'] 세션 변수에 로그인 에러를 나타내는 문자열을 대입한다.
  • 대입 후 index.php 페이지로 이동하고 DB 연결을 해제하고 exit()함수를 호출한다.

 

index.php

 

로그인 전 index.php
로그인 후 index.php

 

로그인에 성공하면 index.php 페이지로 이동하고 계정명이 포함된 인사말을 출력한다.

 

logout.php

 

 

  • 로그인 성공 후 메인페이지의 로그아웃 버튼을 누르게 되면 logout.php 페이지로 이동하게 된다.
  • logout.php 페이지에서 session_destroy() 함수를 호출하여 세션을 해제한다.
  • 세션 해제 후 index.php 페이지로 이동한다.