새소식

Backend/PHP

[PHP] 로그인 페이지 만들기 - 2 (index, logout)

  • -
반응형
 

로그인 페이지 만들기 - 1 (login, login_ok)

💡 로그인, 로그아웃 동적 페이지를 만들어 보자! ⭐️ 완성샷 로그인 전 index.php login/login.php -> login_ok.php 로그인 후 index.php 🔴 login.php 로그인 로그인 아이디 비밀번호 이전으로 로그인 그 전 회

dpdnjs402.tistory.com

위 글에서 이어지는 내용이다.

 

🟡 index.php

<?php
    session_start();

    $s_id = isset($_SESSION["s_id"])? $_SESSION["s_id"]:"";
    $s_name = isset($_SESSION["s_name"])? $_SESSION["s_name"]:"";
    // echo "Session ID : ".$s_id." / Name : ".$s_name;
?>

isset() 함수를 이용해 세션 아이디와 이름이 있으면 값을 가져오고, 없으면 값을 가져오지 않는다는 문장을 만든다.

<?php if(!$s_id){/* 로그인 전  */ ?>
    <p>
        <a href="login/login.php" class="bar">로그인</a>
        <a href="members/join.php">회원가입</a>
    </p>
    <?php } else{ /* 로그인 후 */ ?>
    <p>"<?php echo $s_name; ?>"님, 안녕하세요.</p>
    <p>
        <?php if($s_id == "admin"){ ?>
        <a href="admin/admin.php" class="bar">관리자</a>
        <?php }; ?>
        <a href="login/logout.php" class="bar">로그아웃</a>
        <a href="members/edit.php">정보수정</a>
    </p>
<?php }; ?>

 

세션 아이디가 없으면 -> 로그인, 회원가입 링크만 보이게 해주고

 

세션 아이디가 있으면 이름, 로그아웃, 정보수정이 보인다. (대신 관리자는 관리자 링크가 따로 보인다.)


🟢 logout.php

<?php
    session_start();

    /* 세션 삭제 */
    unset($_SESSION["s_idx"]);
    unset($_SESSION["s_name"]);
    unset($_SESSION["s_id"]);

    /* 페이지 이동 */
    echo "
        <script type=\"text/javascript\">
            alert(\"로그아웃 되었습니다.\");
            location.href = \"../index.php\";
        </script>
    ";
?>

로그아웃은 세션을 시작해주고, unset()함수를 이용해 저장된 세션 변수를 해제해주면된다.

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.