새소식

Backend/PHP

[PHP] 관리자 페이지 만들기 - 1

  • -
반응형
💡 관리자 페이지를 만들어보자

 

⭐️ 완성샷

📌 관리자 아이디는 admin이다!


 

🔴 index.php

<?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 }; ?>

index.php 페이지에 관리자로 로그인 했을 때 관리자 링크가 보이게 끔 해놨다.


🟠 admin/inc/admin_session.php

<?php
session_start();

$s_id = isset($_SESSION["s_id"])? $_SESSION["s_id"]:"";
$s_name = isset($_SESSION["s_name"])? $_SESSION["s_name"]:"";

/* 관리자가 아닌 경우 index문서로 이동 */
if(!$s_id || ($s_id != "admin")){
    echo "
        <script type=\"text/javascript\">
            alert(\"관리자 로그인이 필요합니다.\");
            location.href = \"/index.php\";
        </script>
    ";
};    
?>

관리자 페이지는 무조건 관리자만 접근 가능 해야한다.
주소창에 입력해서 들어오는 방식도 막아야한다. 

그렇게 하기 위해서 admin_session.php를 만들어 외부 접속자를 걸러낸다.


🟡 admin/admin.php

<?php
include "inc/admin_session.php";
?>
<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>관리자 페이지</title>
    <style type="text/css">
        body{font-size:16px}
        a{text-decoration:none;color:rgb(0, 132, 255)}
        a:hover{color:rgb(255, 153, 0)}
        .bar:after{content:"|";margin:0 6px 0 10px}
    </style>
</head>
<body>
    <h2>* 관리자 페이지 *</h2>
    <p>"<?php echo $s_name; ?>"님, 안녕하세요.</p>
    <p>
        <a href="/website/admin/admin.php" class="bar">홈으로</a>
        <!-- <a href="board/board_list.php">게시판 관리</a> -->
        <a href="#none" class="bar">게시판 관리</a>
        <a href="members/list.php" class="bar">회원 관리</a>
        <a href="../login/logout.php">로그아웃</a>
    </p>
    <hr>
</body>
</html>

inc/admin_session.php를 맨 위에 include 해준다.
관리자는 게시판 관리, 회원 관리를 할 수 있다.

Contents

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

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