project

[웹게시판] (17) 댓글 삭제(comment_delete.php)

cheda 2022. 1. 17. 17:49

댓글 삭제

comment_delete.php 파일은 view.php의 댓글 목록에서 '삭제'  버튼을 눌렀을 때 연결되고, 댓글을 DB(comment_db)에서 삭제한다.

view.php
comment_delete.php
view.php: 댓글 삭제 반영

 

comment_delete.php

<?php
$connect = mysqli_connect('localhost', 'comment_user', 'password', 'comment_db');
$number = $_GET[number];
$query = "select * from comment where number=$number";
$result = $connect->query($query);
$rows = mysqli_fetch_assoc($result);

$id = $rows['id'];
$query_action = "delete from comment where number=$number";

session_start();
 
if(!isset($_SESSION['userid'])) {    ?>
    <script>
        alert("권한이 없습니다.");
        history.back();
    </script>
<?php
}
else if($_SESSION['userid']==$id) {
    $connect->query($query_action);
    if ($result) { ?>
        <script>
            alert("삭제되었습니다.");
            history.back();
        </script>
<?php           }
}
else {  ?>
    <script>
        alert("권한이 없습니다.");
        history.back();
    </script>
<?php
}  ?>

(1)  DB에 연결

댓글을 저장하고 있는 comment_db에 comment_user 사용자로 연결한다.

GET 메소드를 통해 전달받은 삭제할 댓글의 number는 변수에 저장한다.

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

 

(2) 댓글 정보 가져오기

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

 

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

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

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

 

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

 


[ 참고한 블로그 ]

  1. [S_Writer의 IT NOTE] [PHP] 게시판 댓글 수정 및 삭제 #8