[질답게시판 만들기] 12. delete.php

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]

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.