PHP 27강. 게시판 시스템(Board System)
1. 게시판 시스템이란?
게시판 시스템은 사용자가 글을 작성하고 조회하며 수정·삭제할 수 있는 기능입니다.
게시판은 CRUD를 모두 사용하는 대표적인 예제입니다.
동부산CC에서는
공지사항
자유게시판
이용후기
이벤트
등을 게시판 형태로 만들 수 있습니다.
2. 게시판 구조
글쓰기
↓
INSERT
↓
목록
↓
SELECT
↓
상세보기
↓
SELECT
↓
수정
↓
UPDATE
↓
삭제
↓
DELETE
3. board 테이블
CREATE TABLE board (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(200),
content TEXT,
writer VARCHAR(100),
created_at DATETIME
);
4. 글쓰기(Form)
<form action="write.php" method="post">
<input
type="text"
name="title"
placeholder="제목">
<input
type="text"
name="writer"
placeholder="작성자">
<textarea
name="content"></textarea>
<button>
등록
</button>
</form>
5. INSERT
$sql="
INSERT INTO board
(title, content, writer)
VALUES (?, ?, ?)
";
$stmt = $pdo->prepare($sql);
$stmt->execute([
$title,
$content,
$writer
]);
6. 목록 조회
$sql="
SELECT *
FROM board
ORDER BY id DESC
";
$list =
$pdo
->query($sql)
->fetchAll();
7. 목록 출력
foreach(
$list
as
$item
){
echo
$item["title"];
echo "<br>";
}
8. 상세보기
$sql="
SELECT *
FROM board
WHERE id=?
";
$stmt =
$pdo->prepare($sql);
$stmt->execute([$id]);
$row =
$stmt->fetch();
9. 수정
$sql="
UPDATE board
SET
title=?,
content=?
WHERE id=?
";
$stmt->execute([
$title,
$content,
$id
]);
10. 삭제
$sql="
DELETE
FROM board
WHERE id=?
";
$stmt->execute([$id]);
11. 동부산CC 활용
공지사항
↓
게시판
↓
공지 상세
↓
관리자 수정
↓
삭제
12. Session 활용
$writer =
$_SESSION["name"];
로그인한 회원 이름을 작성자로 저장합니다.
13. 작성일
$created =
date("Y-m-d H:i:s");
14. React 구조
BoardList
↓
BoardDetail
↓
BoardWrite
↓
BoardEdit
페이지를 컴포넌트로 분리합니다.
15. API
GET
/api/board.php
POST
/api/board.php
PUT
/api/board.php
DELETE
/api/board.php
REST API로 구현할 수 있습니다.
16. JSON
echo
json_encode(
$list
);
React는 JSON 데이터를 받아 화면을 렌더링합니다.
17. 게시판 흐름
글쓰기
↓
INSERT
↓
목록
↓
SELECT
↓
상세
↓
SELECT
↓
수정
↓
UPDATE
↓
삭제
↓
DELETE
18. 실습 과제
다음을 구현해 보세요.
글쓰기
목록
상세보기
수정
삭제
그리고 작성자를 Session에서 가져오도록 변경해 보세요.
19. 실무 팁
✔ 작성자는 Session 사용
✔ 작성일 자동 저장
✔ 목록은 최신순 정렬
✔ 제목과 내용은 입력값 검증
✔ 삭제 전 확인 메시지 표시
20. 정리
게시판 시스템은 CRUD를 모두 사용하는 대표적인 웹 기능입니다.
PHP에서는 PDO를 이용하여 글을 등록, 조회, 수정, 삭제하며, Session을 활용해 작성자를 관리할 수 있습니다.
동부산CC 프로젝트에서는 공지사항, 자유게시판, 이용후기, 이벤트 게시판 등을 같은 구조로 구현할 수 있습니다.
1. 게시판 시스템이란?
게시판 시스템은 사용자가 글을 작성하고 조회하며 수정·삭제할 수 있는 기능입니다.
게시판은 CRUD를 모두 사용하는 대표적인 예제입니다.
동부산CC에서는
공지사항
자유게시판
이용후기
이벤트
등을 게시판 형태로 만들 수 있습니다.
2. 게시판 구조
글쓰기
↓
INSERT
↓
목록
↓
SELECT
↓
상세보기
↓
SELECT
↓
수정
↓
UPDATE
↓
삭제
↓
DELETE
3. board 테이블
CREATE TABLE board (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(200),
content TEXT,
writer VARCHAR(100),
created_at DATETIME
);
4. 글쓰기(Form)
<form action="write.php" method="post">
<input
type="text"
name="title"
placeholder="제목">
<input
type="text"
name="writer"
placeholder="작성자">
<textarea
name="content"></textarea>
<button>
등록
</button>
</form>
5. INSERT
$sql="
INSERT INTO board
(title, content, writer)
VALUES (?, ?, ?)
";
$stmt = $pdo->prepare($sql);
$stmt->execute([
$title,
$content,
$writer
]);
6. 목록 조회
$sql="
SELECT *
FROM board
ORDER BY id DESC
";
$list =
$pdo
->query($sql)
->fetchAll();
7. 목록 출력
foreach(
$list
as
$item
){
echo
$item["title"];
echo "<br>";
}
8. 상세보기
$sql="
SELECT *
FROM board
WHERE id=?
";
$stmt =
$pdo->prepare($sql);
$stmt->execute([$id]);
$row =
$stmt->fetch();
9. 수정
$sql="
UPDATE board
SET
title=?,
content=?
WHERE id=?
";
$stmt->execute([
$title,
$content,
$id
]);
10. 삭제
$sql="
DELETE
FROM board
WHERE id=?
";
$stmt->execute([$id]);
11. 동부산CC 활용
공지사항
↓
게시판
↓
공지 상세
↓
관리자 수정
↓
삭제
12. Session 활용
$writer =
$_SESSION["name"];
로그인한 회원 이름을 작성자로 저장합니다.
13. 작성일
$created =
date("Y-m-d H:i:s");
14. React 구조
BoardList
↓
BoardDetail
↓
BoardWrite
↓
BoardEdit
페이지를 컴포넌트로 분리합니다.
15. API
GET
/api/board.php
POST
/api/board.php
PUT
/api/board.php
DELETE
/api/board.php
REST API로 구현할 수 있습니다.
16. JSON
echo
json_encode(
$list
);
React는 JSON 데이터를 받아 화면을 렌더링합니다.
17. 게시판 흐름
글쓰기
↓
INSERT
↓
목록
↓
SELECT
↓
상세
↓
SELECT
↓
수정
↓
UPDATE
↓
삭제
↓
DELETE
18. 실습 과제
다음을 구현해 보세요.
글쓰기
목록
상세보기
수정
삭제
그리고 작성자를 Session에서 가져오도록 변경해 보세요.
19. 실무 팁
✔ 작성자는 Session 사용
✔ 작성일 자동 저장
✔ 목록은 최신순 정렬
✔ 제목과 내용은 입력값 검증
✔ 삭제 전 확인 메시지 표시
20. 정리
게시판 시스템은 CRUD를 모두 사용하는 대표적인 웹 기능입니다.
PHP에서는 PDO를 이용하여 글을 등록, 조회, 수정, 삭제하며, Session을 활용해 작성자를 관리할 수 있습니다.
동부산CC 프로젝트에서는 공지사항, 자유게시판, 이용후기, 이벤트 게시판 등을 같은 구조로 구현할 수 있습니다.
#PHP 27강. 게시판 시스템(Board System)