PHP와 MariaDB로 간단한 게시판 만들기 - 전체 소스 코드 제공

PHP와 MariaDB로 간단한 게시판 만들기 – 전체 소스 코드 제공

이번 글에서는 PHP와 MariaDB를 활용하여 간단한 게시판 시스템을 만들어보겠습니다. 이 프로젝트는 게시글 작성, 수정, 삭제 및 댓글 기능을 포함한 기본적인 게시판 구현을 목표로 합니다.

프로젝트 소개

PHP와 MariaDB는 많은 웹 개발 프로젝트에서 사용되는 인기 있는 기술입니다. 특히 PHP를 공부하는 사용자들에게는 게시판과 같은 간단한 CRUD 시스템을 구현하는 것이 좋은 연습이 될 수 있습니다. 이번 프로젝트에서는 게시판 기능을 모두 포함한 실습을 진행하며, 실제 소스 코드를 GitHub에 올려 누구나 참고하고 클론할 수 있게 준비했습니다.

프로젝트 클론

프로젝트 소스 코드는 GitHub에 업로드되어 있습니다. 아래 명령어를 사용하여 프로젝트를 클론할 수 있습니다. 또는, zip 파일을 다운로드 하시면 됩니다.

git clone https://github.com/BlueShareHub/php-board.git

소스 코드를 다운로드한 후, 자신의 환경에 맞게 설정하고 MariaDB 데이터베이스와 연결하여 게시판을 실행해 보세요.

프로젝트 주요 기능

이 프로젝트는 현재 운영 중인 자유게시판 프로그램으로, 실제로 사이트에서 사용되고 있습니다.

  • 글 작성: 사용자는 게시판에서 글을 작성할 수 있습니다.
  • 댓글 기능: 게시글에 댓글을 달 수 있습니다.
  • 글 수정 및 삭제: 작성된 글은 비밀번호 확인을 통해 수정하거나 삭제할 수 있습니다.
  • 조회수 카운트: 게시글이 조회될 때마다 조회수가 증가합니다.

데이터베이스 테이블 구조

다음은 프로젝트에서 사용되는 데이터베이스 테이블 구조입니다.

-- 게시판 테이블
CREATE TABLE php_board (
  id INT AUTO_INCREMENT PRIMARY KEY,    -- 게시글 ID (자동 증가, 기본 키)
  title VARCHAR(255) NOT NULL,          -- 게시글 제목
  content TEXT NOT NULL,                -- 게시글 내용
  author VARCHAR(100) NOT NULL,         -- 작성자 이름
  password_hash VARCHAR(255) NOT NULL,  -- 비밀번호 해시값
  views INT DEFAULT 0,                  -- 조회수 (기본값: 0)
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 게시글 작성 시간 (자동 현재 시간)
  updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP -- 게시글 수정 시간 (자동 업데이트)
);

-- 댓글 테이블
CREATE TABLE php_comments (
  id INT AUTO_INCREMENT PRIMARY KEY,    -- 댓글 ID (자동 증가, 기본 키)
  post_id INT NOT NULL,                 -- 게시글 ID (php_board 테이블과 외래 키 관계)
  content TEXT NOT NULL,                -- 댓글 내용
  author VARCHAR(100) NOT NULL,         -- 댓글 작성자 이름
  password_hash VARCHAR(255) NOT NULL,  -- 댓글 비밀번호 해시값
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 댓글 작성 시간 (자동 현재 시간)
  updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, -- 댓글 수정 시간 (자동 업데이트)
  
  -- php_board 테이블의 id 필드와 외래 키 관계 설정, 게시글이 삭제되면 연결된 댓글도 삭제됨
  FOREIGN KEY (post_id) REFERENCES php_board(id) ON DELETE CASCADE
);

프로젝트 실행 방법

프로젝트를 클론한 후, MariaDB 데이터베이스 연결 및 필요한 환경 변수를 설정합니다. 게시판은 open.html 페이지를 통해 접속할 수 있으며, 전체적인 기능을 테스트해 볼 수 있습니다.

질문 및 피드백

이 프로젝트와 관련하여 궁금한 점은 자유게시판에 글을 남겨주세요. 아는 범위 내에서 최대한 빠르게 답변을 드리겠습니다.

이 프로젝트는 PHP와 MariaDB를 공부하는 분들에게 큰 도움이 될 것입니다. 게시판 시스템을 완성한 후, 커스터마이징을 통해 프로젝트를 확장해 보세요!

더 자세한 사항은 GitHub 레포지토리를 참고해 주세요.

함께 보면 좋은 이전 게시글

위로 스크롤