9. PHP 게시판 만들기, delete 제작 1
주의: 본 게시판은 보안을 생각하지 않고 만들어졌으므로 실제로 사용되어서는 안되는 코드입니다.
공부할 때 게시판이 이처럼 동작한다는 정도로만 이해해주세요.
지금까지 글 목록, 글 쓰기, 글 읽기, 글 수정까지 제작했습니다.
이번에는 글 삭제를 만들어보겠습니다.
<?php
require_once("../dbconfig.php");
//$_GET['bno']이 있어야만 글삭제가 가능함.
if(isset($_GET['bno'])) {
$bNo = $_GET['bno'];
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>자유게시판 | Kurien's Library</title>
<link rel="stylesheet" href="./css/normalize.css" />
<link rel="stylesheet" href="./css/board.css" />
</head>
<body>
<article class="boardArticle">
<h3>자유게시판 글삭제</h3>
<?php
if(isset($bNo)) {
$sql = 'select count(b_no) as cnt from board_free where b_no = ' . $bNo;
$result = $db->query($sql);
$row = $result->fetch_assoc();
if(empty($row['cnt'])) {
?>
<script>
alert('글이 존재하지 않습니다.');
history.back();
</script>
<?php
exit;
}
$sql = 'select b_title from board_free where b_no = ' . $bNo;
$result = $db->query($sql);
$row = $result->fetch_assoc();
?>
<div id="boardDelete">
<form action="./delete_update.php" method="post">
<input type="hidden" name="bno" value="<?php echo $bNo?>">
<table>
<caption class="readHide">자유게시판 글삭제</caption>
<thead>
<tr>
<th scope="col" colspan="2">글삭제</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">글 제목</th>
<td><?php echo $row['b_title']?></td>
</tr>
<tr>
<th scope="row"><label for="bPassword">비밀번호</label></th>
<td><input type="password" name="bPassword" id="bPassword"></td>
</tr>
</tbody>
</table>
<div class="btnSet">
<button type="submit" class="btnSubmit btn">삭제</button>
<a href="./index.php" class="btnList btn">목록</a>
</div>
</form>
</div>
<?php
//$bno이 없다면 삭제 실패
} else {
?>
<script>
alert('정상적인 경로를 이용해주세요.');
history.back();
</script>
<?php
exit;
}
?>
</article>
</body>
</html>
위의 코드는 새로 만든 delete.php라는 파일의 코드입니다.
write.php와 비슷한 부분이 있어서 write.php를 이해했다면 쉽게 이해할 수 있을겁니다.
먼저 글 수정과 같이 $_GET['bno']을 $bNo 변수에 받아옵니다.
글을 삭제하기 위해선 어떤 글인지를 알 수 있어야 하니까요.
html 부분은 넘어가고, if(isset($bNo)) {} 부분을 살펴봅시다.
select문을 이용해서 $bNo에 해당하는 글을 찾고,
글이 없다면 "글이 존재하지 않습니다."라는 경고창을 출력하고 프로그램을 종료합니다.
글이 있다면 사용자가 어떤 글을 삭제하려는지 알기 쉽게 삭제할 글의 제목을 출력하기 위해 b_title을 가져옵니다.
이제 form 태그의 action 속성에는 삭제를 실행할 delete_update.php를 적고,
삭제를 하는 사람이 글을 적은 사람인지 확인 할 수 있게 bPassword input 태그를 하나 만듭니다.
그 하단에는 삭제 버튼과 리스트로 돌아갈 수 있는 목록 버튼을 만들구요.
마지막으로 $bNo값이 없다면 "정상적인 경로를 이용해주세요."라는 경고창을 출력하고 프로그램을 종료합니다.
'Project > PHP 게시판' 카테고리의 다른 글
11. PHP 게시판 만들기, view 제작 2 (23) | 2015.04.14 |
---|---|
10. PHP 게시판 만들기, delete 제작 2 (16) | 2015.04.13 |
8. PHP 게시판 만들기, write 제작 4 (16) | 2015.04.08 |
7. PHP 게시판 만들기, write 제작 3 (14) | 2015.04.08 |
6. PHP 게시판 만들기, view 제작 1 (30) | 2015.04.05 |