로그아웃 처리

This commit is contained in:
choibk 2025-12-04 23:07:57 +09:00
parent d5b8ebf9f1
commit 08c11e7be1
6 changed files with 115 additions and 18 deletions

View File

@ -79,4 +79,32 @@ class Member
return false; return false;
} }
} }
public function logout()
{
if (session_status() === PHP_SESSION_NONE) {
session_start();
}
// 세션 변수 비우기
$_SESSION = [];
// 세션 쿠키 제거
if (ini_get('session.use_cookies')) {
$params = session_get_cookie_params();
setcookie(
session_name(),
'',
time() - 42000,
$params['path'],
$params['domain'],
$params['secure'],
$params['httponly']
);
}
session_destroy();
header('Location: ../index.php');
exit;
}
} }

View File

@ -1,3 +1,13 @@
<?php
// header.php 맨 위에 추가
if (session_status() === PHP_SESSION_NONE) {
session_start();
}
$ses_id = isset($_SESSION['ses_id']) ? $_SESSION['ses_id'] : '';
?>
<!DOCTYPE html> <!DOCTYPE html>
<html lang="ko"> <html lang="ko">
@ -12,7 +22,7 @@
crossorigin="anonymous"></script> crossorigin="anonymous"></script>
<?php <?php
if (isset($js_array)) { if (isset($js_array)) {
foreach($js_array AS $var) { foreach ($js_array as $var) {
echo '<script src="' . $var . '?v=' . date('YmdHis') . '"></script>' . PHP_EOL; echo '<script src="' . $var . '?v=' . date('YmdHis') . '"></script>' . PHP_EOL;
} }
} }
@ -30,8 +40,31 @@
<span class="fs-4">Simple header</span> <span class="fs-4">Simple header</span>
</a> </a>
<ul class="nav nav-pills"> <ul class="nav nav-pills">
<?php if ($ses_id != '') {
// 로그인 상태
?>
<li class="nav-item"> <li class="nav-item">
<a href="index.php" class="nav-link <?= ($menu_code == '') ? 'active': ''; ?>">Home</a> <a href="index.php" class="nav-link <?= ($menu_code == 'home') ? 'active' : ''; ?>">Home</a>
</li>
<li class="nav-item">
<a href="company.php" class="nav-link <?= ($menu_code == 'company') ? 'active' : ''; ?>">회사소개</a>
</li>
<li class="nav-item">
<a href="stipulation.php" class="nav-link <?= ($menu_code == 'mypage') ? 'active' : ''; ?>">MyPage</a>
</li>
<li class="nav-item">
<a href="board.php" class="nav-link <?= ($menu_code == 'board') ? 'active' : ''; ?>">게시판</a>
</li>
<li class="nav-item">
<a href="./pg/logout.php" class="nav-link <?= ($menu_code == 'login') ? 'active' : ''; ?>">로그아웃</a>
</li>
<?php
} else {
// 로그아웃 상태
?>
<li class="nav-item">
<a href="index.php" class="nav-link <?= ($menu_code == 'home') ? 'active' : ''; ?>">Home</a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a href="company.php" class="nav-link <?= ($menu_code == 'company') ? 'active' : ''; ?>">회사소개</a> <a href="company.php" class="nav-link <?= ($menu_code == 'company') ? 'active' : ''; ?>">회사소개</a>
@ -45,5 +78,9 @@
<li class="nav-item"> <li class="nav-item">
<a href="login.php" class="nav-link <?= ($menu_code == 'login') ? 'active' : ''; ?>">로그인</a> <a href="login.php" class="nav-link <?= ($menu_code == 'login') ? 'active' : ''; ?>">로그인</a>
</li> </li>
<?php
}
?>
</ul> </ul>
</header> </header>

25
index.php Normal file
View File

@ -0,0 +1,25 @@
<?php
session_start();
$ses_id = (isset($_SESSION['ses_id']) && $_SESSION['ses_id'] != '') ? $_SESSION['ses_id'] : '';
$g_title = 'Home';
$js_array = ['js/home.js'];
$menu_code = 'home';
include 'header.php';
?>
<main class="mx-auto border rounded-2 p-5 d-flex gap-5" style="height: calc(100vh - 257px)">
<img src="./images/bootstrap-logo.png" class="w-50" alt="">
<div>
<h3>Home 입니다</h3>
</div>
</main>
<?php
include 'footer.php'
?>

0
js/home.js Normal file
View File

View File

@ -19,6 +19,7 @@ include '../config/member.php';
$mem = new Member($db); $mem = new Member($db);
if ($mem->login($id, $pw)) { if ($mem->login($id, $pw)) {
session_start();
$_SESSION['ses_id'] = $id; $_SESSION['ses_id'] = $id;
$arr = ['result' => 'login_success']; $arr = ['result' => 'login_success'];
} else { } else {

6
pg/logout.php Normal file
View File

@ -0,0 +1,6 @@
<?php
include '../config/dbconfig.php';
include '../config/member.php';
$mem = new Member($db);
$mem->logout();