본문 바로가기
PHP 게시판 만들기

18. 아차! 하고 빼먹은 로그아웃 구현하기

by 똑똑한 영장류 2012. 12. 17.


회원가입 받고 로그인 기능을 구현해봤습니다만, 로그아웃 기능을 빼먹었네요..ㅋ


로그아웃은 세션에서 관련 정보를 지우는 것으로 구현가능합니다.


header.php 에 아래 내용을 작성합시다.


<div class="header">
            <a href="http://<?php echo $_SERVER['HTTP_HOST'];?>">홈</a> <a href="http://<?php echo $_SERVER['HTTP_HOST'];?>/bbs/write.php">게시판 글쓰기</a><br />
            로그인 상태:
            <?php if($_SESSION['is_logged']=='YES') {
                echo '로그인 되었습니다. ';
                echo '<a href="http://'.$_SERVER['HTTP_HOST'].'/member/logout.php">로그아웃</a>';
            }
                ?>
    </div><!-- .header -->


로그인 되어있으면, 로그아웃 링크를 표시하도록 했습니다.


클릭하면? logout.php가 세션을 지우면 되겠네요.

www/member 디렉토리에 작성합시다.


logout.php는 아래와 같습니다.

<?php
require_once $_SERVER['DOCUMENT_ROOT'].'/preset.php';
?>
<?php
$_SESSION['is_logged'] = 'NO';
$_SESSION['user_id'] = '';
$_SESSION['member_idx'] = '';

session_unset($_SESSION['user_id']);
session_unset($_SESSION['member_idx']);

header('Location: '.$url['root'].'member/logout_done.php');
exit();

?> 


logout_done.php는 단순히 로그아웃 되었다고 표시해주는 내용이면 되겠네요.


logout_done.php 입니다.

<?php
require_once $_SERVER['DOCUMENT_ROOT'].'/preset.php';
include $_SERVER['DOCUMENT_ROOT'].'/header.php';
?>
  로그아웃 되었습니다.<br />
<?php
    include $_SERVER['DOCUMENT_ROOT'].'/footer.php';
?> 




이상입니다. ^^;


댓글