필요없는 목록/PHP

게시판 PHP로 작성해서 글쓰기, 수정하기, 삭제하기를 만들었습니다.

비밀안 2023. 4. 25. 18:33
클릭

버튼을 클릭하면 명언이 나와요

-

이름이 나와요

최종 완성된 모습

저번에 HTML로 만든 게시판을 학원에서 PHP로 바꾸어서 

글쓰기, 수정하기, 삭제하기로 만들었습니다.

그리고 다시 미션이 주어졌네요

1.게시판 글을 클릭하면 id값 가져올 것

2. 확인 / 취소 버튼 중에서 취소버튼 클릭시 아무일도 일어나지 않아야 함.

3.수정하기 버튼을 클릭할떄 해당하는 유저여야 할 것

4.수정하기 버튼을 클릭할떄 쓴사람==비밀번호가 같아야 함

(저는 실력이 후달려서 3번이 끝이네요.)

 

PHP게시판 코드

<?php
    include "../connect/connect.php";
    include "../connect/session.php";
    
    if($_SESSION['memberID']){
    }
    else {
        // alert("로그인을 하신 후 글을 수정해주세요.^~^");
        echo "<script>alert('로그인을 하신 후 글을 수정해주세요.^~^');</script>";
        echo "<script>location.href='../login/login.php'</script>";
    }
?>

<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>게시판 만들기</title>

<?php include "../include/head.php" ?>
<!-- //head -->
</head>
<body class="gray">

<?php include "../include/skip.php" ?>
<!-- //skip -->

<?php include "../include/header.php" ?>
<!-- header -->

<main id="main" class="container">
    <div class="intro__inner bmStyle center">
        <picture class="intro__images small">
            <source srcset="../assets/img/intro01.png, ../assets/img/intro01@2x.png 2x, ../assets/img/intro01@3x.png 3x" />
            <img src="../assets/img/intro01.png" alt="소개이미지">
        </picture> 
        <h2>게시글 수정 하기</h2>
        <p class="intro__text">
            웹디자이너, 웹퍼블리셔, 프론트엔드 개발자를 위한 게시판입니다.<br>
            관련된 문의사항은 여기서 확인하세요!
        </p>
    </div>

    <div class="board__inner">
        <div class="board__write">
            <form action="boardModifySave.php" name="boardWriteSave" method="post">
                <fieldset>
                    <legend class="blind">게시글 작성하기</legend>
<?php
    // $boardID = $_GET['boardID'];

    // $sql = "SELECT boardID, boardTitle, boardContents, FROM board WHERE boardID = {$boardID}";
    // $result = $connect -> query($sql);

    // if($result){
    //     $info = $result -> fetch_array(MYSQLI_ASSOC);

    //     echo "<div style='display:none'><label for='boardTitle'>번호</label><input type='text' id='boardID' name='boardTitle' class='inputStyle' value='".$info['boardID']."'></div>";
    //     echo "<div><label for='boardTitle'>제목</label><input type='text' id='boardTitle' name='boardTitle' class='inputStyle' value='".$info['boardTitle']."'></div>";
    //     // echo "<div><label for='boardContents'>내용</label><textarea name='boardContents' id='boardContents' rows='20' class='inputStyle'>".$info['boardContents']."</textarea></div>";
    //     echo "<div><label for='boardContents'>내용</label><textarea name='boardContents' id='boardContents' rows='20' class='inputStyle'>".$info['boardContents']."</textarea></div>";
    // }

    $boardID = $_GET['boardID'];
    $sql = "SELECT boardID, boardTitle, boardContents FROM board WHERE boardID = {$boardID}";
    $result = $connect -> query($sql);
    if($result){
        $info = $result -> fetch_array(MYSQLI_ASSOC);
        echo "<div style='display:none'><label for='boardID'>번호</label><input type='text' id='boardID' name='boardID' class='inputStyle' value='".$info['boardID']."'></div>";
        echo "<div><label for='boardTitle'>제목</label><input type='text' id='boardTitle' name='boardTitle' class='inputStyle' value='".$info['boardTitle']."'></div>";
        echo "<div><label for='boardContents'>내용</label><textarea name='boardContents' id='boardContents' rows='20' class='inputStyle'>".$info['boardContents']."</textarea></div>";
    }

?>
                <!-- <div>
                    <label for="boardTitle">제목</label>
                    <input type="text" class="inputStyle" id="boardTitle" name="boardTitle" >
                </div>
                <div>
                    <label for="boardContents">내용</label>
                    <textarea name="boardContents" class="inputStyle" id="boardContents" rows="20"></textarea>
                </div> -->
                <button type="submit" class="btnStyle3">저장하기</button>
            </fieldset>
        </form>
    </div>
</div>

</main>
<!-- //main -->

<?php include "../include/footer.php"?>

코드 설명

1.

if($_SESSION['memberID']) {}
else {
    // alert("로그인을 하신 후 글을 수정해주세요.^~^");
    echo "<script>alert('로그인을 하신 후 글을 수정해주세요.^~^');</script>";
    echo "<script>location.href='../login/login.php'</script>";
}
  • if($_SESSION['memberID']){} 는 세션에 저장된 아이디 값을 불러옵니다.
  • (아이디가 있으면 로그인이 된거기 떄문에 냅둡니다.~_~)
  • 2. 세션에 저장된 값이 없으면 로그인이 안된거기 때문에 alert()창을 띄우고 로그인 페이지로 이동시켜 버립니다.

로그인 안했을 떄

로그인 했을때

 

2.

<main id="main" class="container">
<div class="intro__inner bmStyle center">
    <picture class="intro__images small">
        <source srcset="../assets/img/intro01.png, ../assets/img/intro01@2x.png 2x, ../assets/img/intro01@3x.png 3x" />
        <img src="../assets/img/intro01.png" alt="소개이미지">
    </picture> 
    <h2>게시글 수정 하기</h2>
    <p class="intro__text">
        웹디자이너, 웹퍼블리셔, 프론트엔드 개발자를 위한 게시판입니다.<br>
        관련된 문의사항은 여기서 확인하세요!
    </p>
</div>

<div class="board__inner">
    <div class="board__write">
        <form action="boardModifySave.php" name="boardWriteSave" method="post">
            <fieldset>
                <legend class="blind">게시글 작성하기</legend>

이 부분은 게시글에 작성에 필요한 input을 생성할 곳입니다.

근데 form태그 부분이 짤렸죠

php로 작성하기 위해서 짤렸네요

 

3.

<?php
$boardID = $_GET['boardID'];
$sql = "SELECT boardID, boardTitle, boardContents FROM board WHERE boardID = {$boardID}";
$result = $connect -> query($sql);
if($result){
    $info = $result -> fetch_array(MYSQLI_ASSOC);
    echo "<div style='display:none'><label for='boardID'>번호</label><input type='text' id='boardID' name='boardID' class='inputStyle' value='".$info['boardID']."'></div>";
    echo "<div><label for='boardTitle'>제목</label><input type='text' id='boardTitle' name='boardTitle' class='inputStyle' value='".$info['boardTitle']."'></div>";
    echo "<div><label for='boardContents'>내용</label><textarea name='boardContents' id='boardContents' rows='20' class='inputStyle'>".$info['boardContents']."</textarea></div>";
}

?>
                    <!-- <div>
                        <label for="boardTitle">제목</label>
                        <input type="text" class="inputStyle" id="boardTitle" name="boardTitle" >
                    </div>
                    <div>
                        <label for="boardContents">내용</label>
                        <textarea name="boardContents" class="inputStyle" id="boardContents" rows="20"></textarea>
                    </div> -->
                    <button type="submit" class="btnStyle3">저장하기</button>
                </fieldset>
            </form>
        </div>
    </div>

</main>
<!-- //main -->

<?php include "../include/footer.php"?>

POST방식인 $_GET으로 전달된 값을 받습니다.

그리고 query문으로 데이터베이스에 "SELECT"문을 넣어줍니다.

그리고 input과 label태그를 화면에 뿌려줍니다.

 

4.

<a href="boardModift.php?boardID=<?=$_GET['boardID'] ?>" class="btnStyle3">수정하기</a>
<a href="boardRemove.php?boardID=<?=$_GET['boardID'] ?>" class="btnStyle3" onclick="return confirm('정말 삭제할거야?')">삭제하기</a>
<a href="board.php" class="btnStyle3">목록보기</a>

onclick="return confirm()"은 삭제 버튼 클릭시 아무일도 일어나지 않게 작성하였습니다.

 

 

오늘도 PHP가 끝났네요..

많이 복습하니 눈에 들어오기 시작하네요. 신기해요~