PHP
[PHP] Session 을 이용한 로그인, 로그아웃 구현 (DB x)
98kg
2024. 2. 22. 21:24
Session 을 통한 간단한 로그인, 로그아웃에 대해 포스팅 해보겠습니다.
index.php
로그인 화면
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>LOGIN</title>
<script src="login.js"></script>
</head>
<body>
<form action="login_ok.php" method="post" name="login_form">
아이디 <input name="id" id="id" type="text" placeholder="아이디 입력"><br>
비밀번호 <input name="pw" id="pw" type="password" placeholder="비밀번호 입력"><br>
<button id="login_btn" >로그인</button>
</form>
<a href="member.php">회원 전용 페이지</a>
</body>
</html>

login.js
document.addEventListener('DOMContentLoaded', ()=>{
const id = document.querySelector('#id');
const pw = document.querySelector('#pw');
const btn = document.querySelector('#login_btn');
btn.addEventListener('click', (e)=>{
e.preventDefault();
if(id.value === ''){
alert('아이디를 입력해주세요.')
id.focus()
return false;
}
if(pw.value === ''){
alert('비밀번호를 입력해주세요.')
pw.focus()
return false;
}
document.login_form.submit();
})
});
login_ok.php
로그인 form action php
<?php
$id = (isset($_POST['id']) && $_POST['id'] != '' )? $_POST['id'] : '';
$pw = (isset($_POST['pw']) && $_POST['pw'] != '' )? $_POST['pw'] : '';
if($id == ''){
echo "
<script>
alert('아이디를 입력해주세요');
history.go(-1);
</script>
";
exit;
}
if($pw == ''){
echo "
<script>
alert('비밀번호를 입력해주세요');
history.go(-1);
</script>
";
exit;
}
if($id == 'guest' && $pw == '1234'){
session_start();
$_SESSION['ss_id'] = $id;
echo"
<script>
alert('로그인 성공');
self.location.href='member.php';
</script>
";
}else{
echo "
<script>
alert('로그인 실패, 아이디 비밀번호 확인해주세요');
self.location.href='index.php';
</script>
";
}
?>
아이디 입력하지 않았을 경우

비밀번호 입력하지 않았을 경우

아이디 또는 비밀번호가 일치하지 않을 경우

로그인 후 회원 전용 페이지
<?php
session_start();
if(!isset($_SESSION['ss_id'] )|| $_SESSION['ss_id'] == ''){
echo "
<script>
alert('여기는 회원 전용 페이지입니다. 로그인 후 이용 부탁드립니다.')
self.location.href='index.php';
</script>
";
exit;
}else{
echo "여기는 회원 전용 페이지 입니다.<br>";
}
?>
<a href="logout.php">로그아웃</a>
올바른 아이디와 비밀번호로 로그인 성공 시 결과


로그아웃 구현
(logout.php)
session을 종료 시켜서 로그아웃 시킨다
<?php
session_start();
session_unset();
session_destroy();
?>
<script>
window.onload = function() {
alert("로그아웃 되었습니다!");
self.location.href='index.php';
};
</script>
로그아웃 시


로그아웃 또는 로그인 하지 않고 회원 전용 페이지 링크 이동 시도 시
