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문이 틀렸다면 관리자 에러!! 라는 얼럿창이 뜨게 됩니다.
- 끝!