12.delete.php
게시글을 삭제하는 페이지입니다.
<?php include_once "_head.php"; // 넘어온게시글 번호 확인 $post_idx = $_GET['idx']; // 넘어온 번호가 없다면 if( empty($post_idx) ) { alert('잘못된 접근입니다.'); exit(); } // 해당 게시글의 정보를 가져온다. $query = "SELECT * FROM `tbl_board_post` WHERE `post_idx` = '{$post_idx}' AND `post_status` = 'Y'"; $result = $dbcon->query($query); $view = $result->fetch_array(); // 세션을 통해 비밀번호 입력여부를 알아온다. if( ! $_SESSION['post_check_'.$post_idx] ) { // 현재 URL을 구해온다. $reurl = urlencode(current_url()); // 패스워드 입력후 다시 돌아올 URL header('Location: password.php?idx='.$post_idx.'&reurl='.$reurl, TRUE); // 패스워드 입력폼으로 이동 } // 게시글을 삭제한다. 단 실제로 DB에서 삭제하는게 아닌 status 값 변경을 통해 삭제한것처럼 보이게 하는것이다 $query = "UPDATE `tbl_board_post` SET `post_status` = 'N' WHERE `post_idx` ='{$post_idx}'"; $dbcon->query($query); alert('삭제되었습니다.', BASEURL); exit;
다른 페이지에서 사용했던 코드들이 많습니다.
게시글PK를 받고, 게시글 정보를 가져오고,
관리자/작성자 여부를 확인하기 위해 비밀번호 입력확인등을 한후
게시글을 삭제합니다.
단 DB에서 실제로 삭제하지 않고 post_status 값을 N으로 변경하는 방식을 사용합니다.
[catlist id=76 numberposts=14 conditional_title=”PHP 질문과 답변 게시판 만들기” orderby=date]