회원가입을 했으니 로그인 처리를 해보자. 우선 로그인 페이지를 만든다. 회원가입페이지를 조금 수정했다.
/member/login.php
로그인을 처리해주는 login_ok.php 파일도 만들어보자.
우선 로그인시 필요한 쿼리를 만들어보자.
members 테이블에 사용자가 입력한 userid와 passwd로 정의된 사용자가 있는지 확인하는 쿼리다.
/member/login_ok.php
<?php session_start();
include $_SERVER["DOCUMENT_ROOT"]."/inc/dbcon.php";
$userid=$_POST["userid"];
$passwd=$_POST["passwd"];
$passwd=hash('sha512',$passwd);
$query = "select * from members where userid='".$userid."' and passwd='".$passwd."'";
echo "query=>".$query;
exit;
?>
이렇게 만들어놓고 우선 로그인을 해본다. 그러면 로그인 처리를 위한 사용자 확인 쿼리가 제대로 만들어졌는지 확인할 수 있다. 결과값은 아래와같다.
query=>select * from members where userid='gildong' and passwd='ba3253876aed6bc22d4a6ff53d8406c6ad864195ed144ab5c87621b6c233b548baeae6956df346ec8c17f5ea10f35ee3cbc514797ed7ddd3145464e2a0bab413'
passwd 부분은 나와 다를 수 있다. 내 비밀번호는 123456이었기때문에 해쉬로 변환한 값은 저렇게 나온다.
위 쿼리를 디비에서 실행해보면 제대로 쿼리가 만들어졌는지 확인할 수 있다.
사용자가 없으면 없다고 알려주면 되고 사용자가 있으면 세션처리를 해서 세션값에 입력을해줘야한다. 해보자.
세션에 값을 입력하는 이유는 로그인 여부를 확인하기 위해서다 세션에 값이 있으면 로그인을 한 사용자이고 세션에 값이 없으면 로그인을 하지 않은사용자다.
/member/login_ok.php
쿼리를 날려서 리턴값이 있다면 해당 리턴값을 세션에 저장해준다. 세션값을 저장하거나 확인할때는 항상 최상단에 session_start(); 함수를 호출해야한다는 것도 잊지 말자.
이제 어떤 페이지에서도 $_SESSION['UID'] 값을 확인할 수 있다. 이 값이 있으면 로그인을 한 사용자고 없으면 로그인을 안 한거다.
로그인을 한 사용자만 허락된 페이지가 있다면 이 세션값을 이용해서 권한을 체크하면 된다.
이런걸 전역변수라고 한다. 깊이 알 필욘 없다.
이제 글쓰기등에서 권한체크를 해보자.
'PHP강좌 > 게시판만들기강좌' 카테고리의 다른 글
php+mysql 게시판 만들기 강좌 #10. 회원전용게시판 - 로그아웃 (0) | 2022.01.26 |
---|---|
php+mysql 게시판 만들기 강좌 #9. 회원전용게시판 - 리스트 (0) | 2022.01.26 |
php+mysql 게시판 만들기 강좌 #5-1. 한번더 include (2) | 2022.01.24 |
php+mysql 게시판 만들기 강좌 #7. 회원가입 (2) | 2022.01.21 |
php+mysql 게시판 만들기 강좌 #6. 글쓰기 (0) | 2022.01.20 |