반응형
로그인까지 만들었으니 이제부터 게시판은 회원전용게시판으로 바꿔보겠다.
어떤 페이지에서도 세션을 체크할 수 있게 하기 위해서 모든 페이지에 include되고 있는 header.php에 session_start()를 추가 한다.
/inc/header.php
<?php session_start();
include $_SERVER["DOCUMENT_ROOT"]."/inc/dbcon.php";
?>
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
<title>게시판</title>
</head>
<body>
<div class="col-md-8" style="margin:auto;padding:20px;">
이렇게 해주면 header.php를 include 하는 모든 화면에서 세션값 여부를 확인 할 수 있다.
게시판 리스트는 로그인을 안해도 볼 수 있다. 또 게시물 확인도 로그인 할 필요는 없다. 다만 글을 쓸때와 수정할때 삭제할때등은 로그인 확인을 하도록 수정해보자.
우선 리스트를 수정해보자.
index.php
<?php
include $_SERVER["DOCUMENT_ROOT"]."/inc/header.php";
$result = $mysqli->query("select * from board") or die("query error => ".$mysqli->error);
while($rs = $result->fetch_object()){
$rsc[]=$rs;
}
?>
<table class="table">
<thead>
<tr>
<th scope="col">번호</th>
<th scope="col">글쓴이</th>
<th scope="col">제목</th>
<th scope="col">등록일</th>
</tr>
</thead>
<tbody>
<?php
$i=1;
foreach($rsc as $r){
?>
<tr>
<th scope="row"><?php echo $i++;?></th>
<td><?php echo $r->userid?></td>
<td><a href="/view.php?bid=<?php echo $r->bid;?>"><?php echo $r->subject?></a></td>
<td><?php echo $r->regdate?></td>
</tr>
<?php }?>
</tbody>
</table>
<p style="text-align:right;">
<?php
if($_SESSION['UID']){//세션값이 있는지 여부를 확인해서 로그인 했는지를 체크한다.
?>
<a href="write.php"><button type="button" class="btn btn-primary">등록</button><a>
<a href="/member/logout.php"><button type="button" class="btn btn-primary">로그아웃</button><a>
<?php
}else{
?>
<a href="/member/login.php"><button type="button" class="btn btn-primary">로그인</button><a>
<a href="/member/signup.php"><button type="button" class="btn btn-primary">회원가입</button><a>
<?php
}
?>
</p>
<?php
include $_SERVER["DOCUMENT_ROOT"]."/inc/footer.php";
?>
마지막에 버튼을 추가했다. 그리고 로그인을 하고 안한것의 차이를 두어 버튼을 노출시키도록 했다. 로그인을 안했으면 회원가입이나 로그인을 할 수 있게 하고 로그인을 했으면 글쓰기나 로그아웃을 할 수 있게 한다.
로그인을 안했으면 위와같이 나올것이다. 로그인 버튼을 눌러 로그인을 해보자.
로그인을 하면 위와같이 나온다.
반응형
'PHP강좌 > 게시판만들기강좌' 카테고리의 다른 글
php+mysql 게시판 만들기 강좌 #11. 회원전용게시판 - 글쓰기 (0) | 2022.01.26 |
---|---|
php+mysql 게시판 만들기 강좌 #10. 회원전용게시판 - 로그아웃 (0) | 2022.01.26 |
php+mysql 게시판 만들기 강좌 #8. 로그인 (0) | 2022.01.24 |
php+mysql 게시판 만들기 강좌 #5-1. 한번더 include (2) | 2022.01.24 |
php+mysql 게시판 만들기 강좌 #7. 회원가입 (2) | 2022.01.21 |