project

[웹게시판] (15) 게시글 삭제(delete.php)

cheda 2022. 1. 17. 17:48

게시글 삭제

delete.php 파일은 view.php에서 '삭제' 버튼을 클릭했을 때 연결되고, db(board_db)에서 게시글 데이터를 삭제한다.

 

delete.php

<?php   $connect = mysqli_connect("localhost", "board_user", "password", "board_db") or die("connect fail");
        $id = $_GET[id];
        $number = $_GET[number];
        $query = "select title, content, date, id from board where number=$number";
        $result = $connect->query($query);
        $rows = mysqli_fetch_assoc($result);
        $usrid = $rows['id'];

        $query_action = "delete from board where number=$number";

        session_start();
 
        $URL = "./index.php";
 
        if($_SESSION['userid']==$usrid) {
            $connect->query($query_action);
            if ($result) { ?>
                <script>
                    alert("삭제되었습니다.");
                    location.replace("<?php echo $URL?>");
                </script>
<?php       }
        } ?>

 

(1)  DB에 연결 / 사용자 입력값 변수에 저장

게시글을 저장하고 있는 board_db에 board_user 사용자로 연결한다.

GET 메소드를 통해 전달받은 현재 로그인된 사용자 id와 게시글 number를 각 변수에 저장한다.

PHP 함수, 변수
mysqli_connect() / $_GET
  • (생략: index.php / view.php에서 설명)

 

(2) 게시글 정보 가져오기

MySQL 질의문
SELECT title, content, date, id FROM board WHERE number=$number
  • select 구문으로 데이터 내용을 가져온다.
PHP 함수
query() / mysqli_fetch_assoc()
  • (생략: index.php / view.php에서 설명)

 

(3) 사용자 정보 확인 및 게시글 삭제

현재 로그인된 사용자 id와 지울 게시글 작성자가 동일하다면 게시글을 삭제한다.

MySQL 질의문
DELETE FROM board WHERE number=$number
  • delete 구문으로 데이터 내용을 삭제한다.
PHP 함수, 변수
query() / $_SESSION
  • (write.php에서 설명)

 

(4) 결과 알림 띄워주고 이전 페이지로 복귀

 


[ 참고한 블로그 ]

  1. [S_Writer의 IT NOTE] [PHP] 게시판 만들기(수정 및 삭제) #5