반응형
① 문의글 확인 기능
우선 문의글을 읽을 수 있는 페이지를 만들어야 한다. 이 페이지에서는 문의글을 수정 및 삭제할 수 있으며 관리자의 경우 댓글을 달 수 있다.
[qna_read.php]
<!DOCTYPE html>
<html lang="en">
<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">
<link href="./css/style.css" rel = "stylesheet"/>
<title>Read Posting</title>
</head>
<body>
<div class = "column">
<div class = "posting">
<?php
session_start();
if(isset($_SESSION['id'])) {
$login_user = $_SESSION['id'];
} else{
$login_user = "anonymous";
}
if(isset($_GET['id'])){
$id = $_GET['id'];
$sql = "SELECT * FROM qna where id = {$id}";
$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_array($result);
$title = $row['title'];
$content = $row['content'];
mysqli_close($conn);
}
?>
<div class = "posting_title"><?=$title?></div>
<div class = "posting_contents"><?=$content?></div>
<div class = "btns">
<button class = "writeBtn" onclick = "location.href = 'qna_board.php'">문의 게시판</button>
<?php
if ($login_user == "admin") {
echo "<button class = 'writeBtn' onclick = \"location.href = 'qna_answer.php?id=$id'\">댓글</button>";
}
else{
echo "<button class = 'writeBtn' onclick = \"location.href = 'qna_update.php?id=$id'\">수정</button>";
echo "<button class = 'writeBtn' onclick = \"location.href = 'qna_delete.php?id=$id'\">삭제</button>";
}
?>
</div>
</div>
</div>
</body>
</html>
게시판 read.php 파일과 똑같지만, 좋아요 같은 기능들을 빼고 사용자를 확인하는 기능을 추가해주었다.
일반 사용자는 왼쪽 화면, 관리자는 오른쪽 화면을 볼 수 있다.
② 내가 쓴 글만 확인하기
회원에 한해서, 내가 쓴 글만 확인할 수 있는 기능을 만들어보자.
확인을 편하게 하기 위해서, qna 테이블에 username을 추가해주었다.
회원의 경우 login_id가, 아닌 경우에는 NULL이 들어간다.
<div class = "">
<form method = "post">
<p>나의 문의</p>
<input type = "submit" name = "qna_search" value = "🔍" id = "search_btn" />
</form>
</div>
상단에 나의 문의를 확인할 수 있는 버튼을 만들어준다.
게시판의 검색 기능과 똑같이, 버튼이 눌린 여부를 array_key_exists로 확인해서 기능을 추가해줄 것이다.
if(array_key_exists('qna_search', $_POST)){
myqna();
}
<?php
function myqna(){
session_start();
if(isset($_SESSION['id'])){
$username = $_SESSION['id'];
}
$conn = mysqli_connect('localhost', 'ID', 'PW', 'DBname');
$sql = "SELECT * from qna where username = '$username' order by id desc;";
$result = mysqli_query($conn, $sql);
if(mysqli_num_rows($result) > 0){
while($row = mysqli_fetch_array($result)){
echo "<tr><td>".$row['id']."</td><td><a href = \"read.php/?id=".$row['id']."\">".$row['title']."</a></td></tr>";
}
} else{
echo "<script>alert('존재하지 않습니다.')</script>";
}
mysqli_close($conn);
}
?>
나의 문의를 누르면 위와 같이 자신이 작성한 글만 확인할 수 있다.
비회원의 경우 위의 버튼을 아예 띄우지 않기 위해 다음과 같이 수정하였다.
<?php
session_start();
if(isset($_SESSION['id'])){
$username = $_SESSION['id'];
}else{
$username="";
}
if($username){
echo "
<div class = ''>
<form method = 'post'>
<p>나의 문의</p>
<input type = 'submit' name = 'qna_search' value = '🔍' id = 'search_btn' />
</form>
</div>
";
}
?>
로그아웃 후 비회원으로 들어가면 다음과 같이 버튼이 보이지 않는다.
반응형
'WEB HACKING > 웹 해킹[실습]' 카테고리의 다른 글
Php로 웹 개발하기 : 문의 게시판(5) (0) | 2021.12.31 |
---|---|
Php로 웹 개발하기 : 문의 게시판(4) (0) | 2021.12.27 |
Php로 웹 개발하기 : 문의 게시판(2) (0) | 2021.12.20 |
Php로 웹 개발하기 : 문의 게시판(1) (0) | 2021.12.15 |
Php로 웹 개발하기 : 마이페이지(2) (0) | 2021.12.10 |
댓글