본문 바로가기
PHP로 웹사이트 만들기

1. PHP와 MySQL로 게시판 만들기: 초보자를 위한 완벽 가이드

by blogfine 2025. 1. 22.

PHP와 MySQL로 게시판 만들기: 입문자를 위한 첫걸음

오늘은 PHPMySQL을 이용해 기본적인 게시판을 만드는 방법을 소개합니다. 웹 개발을 처음 시작하는 분들을 위해, 차근차근 설명을 드릴 예정이니 걱정하지 마세요! 이 튜토리오는 여러분이 PHPMySQL을 활용하여 간단한 게시판을 만들 수 있도록 도와줄 것입니다. 웹사이트 개발의 기초를 이해하고 실습하는 데 도움이 될 것입니다.

1. PHP와 MySQL 환경 설정

게시판을 만들기 전에 먼저 PHP와 MySQL 환경을 설정해야 합니다. 웹 개발을 시작하려면 서버 환경이 준비되어 있어야 하며, 이를 위해 가장 많이 사용되는 도구가 XAMPP입니다. XAMPP는 Apache, MySQL, PHP, Perl을 포함한 올인원 패키지로, 쉽게 웹 개발 환경을 구축할 수 있게 도와줍니다.

XAMPP를 설치한 후, Apache 서버와 MySQL 서버를 실행해 주어야 합니다. 이 단계가 완료되면, PHP 파일을 작성하고 MySQL 데이터베이스를 설정할 준비가 된 것입니다.

2. MySQL 데이터베이스와 테이블 생성

게시판을 만들기 위한 첫 번째 단계는 MySQL 데이터베이스를 설정하는 것입니다. 데이터베이스는 게시판의 데이터를 저장하는 중요한 역할을 합니다. MySQL에 접속한 후, 다음과 같은 SQL 명령어로 새로운 데이터베이스와 테이블을 생성합니다.

CREATE DATABASE boardDB;
USE boardDB;
CREATE TABLE posts (
    id INT AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(255) NOT NULL,
    content TEXT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

위의 SQL 코드를 실행하면, 게시판의 제목과 내용을 저장할 수 있는 테이블이 생성됩니다. 이제 MySQL에서 데이터를 저장할 준비가 완료되었습니다.

3. PHP로 게시판 기능 구현

이제 PHP를 사용하여 게시판의 기본적인 기능을 구현해 보겠습니다. 먼저 게시글 목록을 출력하는 기능을 만들어 보겠습니다. 아래의 코드는 MySQL 데이터베이스에서 게시글을 불러와 HTML로 출력하는 방법을 보여줍니다.

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "boardDB";

// MySQL 연결
$conn = new mysqli($servername, $username, $password, $dbname);

// 연결 확인
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

// 게시글 조회
$sql = "SELECT * FROM posts ORDER BY created_at DESC";
$result = $conn->query($sql);

// 게시글 출력
if ($result->num_rows > 0) {
  while($row = $result->fetch_assoc()) {
    echo "<h2>" . $row["title"] . "</h2>";
    echo "<p>" . $row["content"] . "</p>";
    echo "<p>Posted on: " . $row["created_at"] . "</p>";
  }
} else {
  echo "게시글이 없습니다.";
}
$conn->close();
?>

위 코드는 MySQL 데이터베이스에서 게시글을 가져와 화면에 표시하는 간단한 예시입니다. 이제 게시글 목록이 웹 페이지에 출력됩니다.

4. 게시글 작성 및 저장 기능 추가

게시판에 게시글을 작성할 수 있는 기능도 추가해야 합니다. 이를 위해 게시글 작성 폼을 만들어 사용자가 제목과 내용을 입력하고 이를 MySQL에 저장할 수 있도록 해야 합니다. 아래 코드는 게시글을 데이터베이스에 저장하는 방법을 보여줍니다.

<form method="post" action="create_post.php">
  <input type="text" name="title" placeholder="제목" required><br>
  <textarea name="content" placeholder="내용" required></textarea><br>
  <input type="submit" value="게시글 작성">
</form>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
  $title = $_POST["title"];
  $content = $_POST["content"];

  // 데이터베이스 연결
  $conn = new mysqli($servername, $username, $password, $dbname);

  // 연결 확인
  if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
  }

  // 게시글 저장
  $sql = "INSERT INTO posts (title, content) VALUES ('$title', '$content')";
  if ($conn->query($sql) === TRUE) {
    echo "게시글이 성공적으로 작성되었습니다.";
  } else {
    echo "Error: " . $sql . "
" . $conn->error;
  }

  $conn->close();
}
?>

이 코드를 통해 사용자가 작성한 게시글을 MySQL 데이터베이스에 저장할 수 있습니다. 이제 게시판에 게시글을 추가하는 기능이 완료되었습니다.

5. 게시판 확장과 보안 고려사항

게시판이 기본적으로 동작하게 되면, 게시판의 기능을 확장하거나 보안을 강화할 수 있는 방법을 고민해야 합니다. 예를 들어, 로그인 시스템을 추가하여 사용자가 게시글을 작성하거나 수정할 수 있도록 할 수 있습니다. 또한, SQL 인젝션 공격을 방지하기 위해 prepared statement를 사용하는 것이 좋습니다.

게시판을 더욱 확장하려면 댓글 기능, 카테고리 분류, 검색 기능 등을 추가할 수 있습니다. PHP와 MySQL을 활용하여 점차적으로 복잡한 시스템을 구축할 수 있습니다.

6. 마무리

이제 기본적인 PHP와 MySQL을 이용한 게시판을 만들 수 있는 방법을 배웠습니다. 오늘 소개한 기능들을 바탕으로 게시판을 자유롭게 수정하고 확장해 나가세요. 웹 개발의 기초를 다지는데 큰 도움이 되었기를 바랍니다.

웹 개발을 시작하는 데 있어 중요한 것은 꾸준한 실습입니다. PHPMySQL을 함께 사용하며 점차 더 나은 웹 애플리케이션을 만들 수 있습니다. 이제 여러분도 게시판 만들기를 완성하고, 더 나아가 다양한 웹 프로젝트에 도전할 수 있습니다!