기초부터 시작하는 코딩/PHP

PHP를 사용해서 게시판 페이지 버그를 fix~, 기능을 add~

kebab00 2023. 4. 26. 17:00

728x90

 - 어제 열심히 만들 었지만 버그가 엄청엄청 많습니다.

- 그걸 하나하나 고쳐보는 거지요

- 오늘 고친게 일단 사용자가 로그인 되어있는지 확인하는 기능을 추가해주었고, 사용자의 비밀번호를 입력해야 글을 수정할 수 있도록 만들어 주었습니다.

- 게시판 페이지 밑에 번호들도 기능을 추가해 주었죠

- 코드를 보시죠

<?php
    if(!isset($_SESSION['memberID'])){
        Header("Location:../login/login.php");
    }
?>

 - sessionCheck.php 폴더를 만들어주고 거기에 if문을 만들어 주었습니다 만약 세션에 멤버아이디 데이터가 없다면 로그인 페이지로 이동시켜주어 로그인을 유도하였습니다.

- 이걸 이제 필요한 곳에 include 시켜주면 해당 페이지에 로그인을 한 사람만 들어갈 수 있게 되는 거죠

- 자 이제 수정 페이지 입니다.

 echo "<div class='mt50'><label for='boardPass'>비밀번호</label><input type='password' id='boardPass' name='boardPass' class='inputStyle' autocomplete='off' requied placeholder='글을 수정하려면 로그인 비밀번호를 입력하셔야 합니다.'></div>";    };

- 일단 모디파이에 인풋박스를 하나 추가해주었습니다.

- 여기에 사용자가 비밀번호를 적는 것이죠

- 그걸 받아서 모디파이세이브로 가져옵니다.

$boardPass = $_POST['boardPass'];
$$boardPass = $connect -> real_escape_string($boardContents);
$sql = "SELECT * FROM members WHERE memberID = {$memberID}";
$result = $connect -> query($sql);

if($result){
    $info = $result -> fetch_array(MYSQLI_ASSOC);
    if($info['memberID'] == $memberID && $info['youPass'] == $boardPass){
        $sql = "UPDATE board SET boardTitle = '{$boardTitle}', boardContents = '{$boardContents}' WHERE boardID = '{$boardID}'";
        $connect -> query($sql);
    } else {
        echo "<script>alert('비밀번호가 틀렸습니다. 다시 한번 확인해주세요!');location.href = 'boardView.php?boardID=".$boardID."' </script>";
    }
} else {
    echo "<script>alert('관리자 에러!!')</script>";
}

- 데이터를 포스트방식으로 가져온 다음  거기에 이상한 글자는 못쓰도록 검사를 한번 해주었습니다.

- 그리고 sql문을 쓰고 그 sql문이 정상일 때 또는 값이 있을 때 if문이 실행되는 것이죠

- 그리고 데이터를 fetch를 통해 가져옵니다.

- 그리고 멤버 아이디가 멤버아이디와 같을 때 (여기서 버그가 나지만 아무튼) 와 사용자의 비밀번호와 입력한 비밀번호가 같다면 sql문이 작동하면서 게시글이 수정되게 됩니다.

- 아니면 비밀번호가 틀렸으니 다시 확인해 달라는 얼럿창이 뜨게 되는 것이죠

- sql문이 틀렸다면 관리자 에러!! 라는 얼럿창이 뜨게 됩니다.

- 끝!