PHPプログラミング

ワークショップ

ひと言掲示板を作る(1)

ひと言掲示板を作る

ひと言メッセージを書き込むことができる簡単な掲示板をPHPで作っていきます。

この記事のポイント

  • シンプルな機能の掲示板を作る
  • 掲示板の仕様と開発環境を確認
  • 作成の全体的な流れが分かる

目次

シンプルな掲示板を作る

ユーザーが簡単なメッセージを残すことのできる、シンプルな「ひと言掲示板」を作っていきます。
デモはこちら

ひと言掲示板の完成イメージ

機能は非常にシンプルですが、掲示板の作成はPHPプログラミングの基礎的なテクニックを幅広く活用することができます。
完成したときには次のような操作をプログラミングできるようになります。

  • POST通信によるデータ送信
  • ユーザーに入力されたデータのバリデーション&サニタイズ
  • ファイルの読み込み/書き込み
  • データベースの基本的な操作
  • セッションの管理
  • データのCSVファイル出力

今回は、これから作っていく掲示板の仕様や開発環境を紹介していきます。

ひと言掲示板の仕様と開発環境

これから作る「ひと言掲示板」には次のような機能を実装します。

  • 「表示名」と「ひと言メッセージ」を入力して自由に書き込む
  • 誰かが書いたひと言メッセージを読む
  • セッションを使って表示名の入力を省略する
  • 掲示板を管理するページから投稿を編集・削除する
  • 投稿データをCSV形式でダウンロードする

今回は匿名による投稿のみ受け付ける形にし、誰かの投稿に返信する機能もややシステムが複雑になってしまうためつけません。

開発環境

掲示板は次の環境で構築・動作確認を行っております。

  • Apache v2.4.6
  • PHP v7.3.3
  • MariaDB v10.4.3

掲示板のシステム自体はPHPやMariaDBの最新バージョンにある機能をガシガシ使うというよりも、基礎的な機能を活用して構築していきます。
そのため、多少バージョンが古い環境でも動作します。

ただし、実際の開発でも公式サポートが終了したバージョンは使用を避けることが多く、特にバージョンの更新が活発なPHPなどは注意が必要です。
執筆時点ではセキュリティサポートが終了していないのはバージョン7.1以上になるため、もし開発環境を選べるのであればこのバージョン以上での開発を推奨します。

作成の流れ

これから何回かに分けて「ひと言掲示板」を作っていきますが、まずは全体の流れを紹介します。

1. ひと言掲示板を作る 概要

本ページ。
最初にこれから作っていく「ひとこと掲示板」がどういうものか、システム要件を含めて解説します。

2. メッセージの入力フォームを作る

まずは掲示板に書き込むためのメッセージを入力するフォームから作成していきます。
ここではフォームの基本的なパーツとなるHTMLを作成します。

3. メッセージのデータを受け取る

HTMLで作成したフォームに、入力したメッセージをデータとして送信して、PHPでデータを受信できるようにします。
データの受け渡しの基礎を実装します。

4. ファイルにデータを保存する

受信したメッセージのデータを、テキストファイルに書き込んで投稿データとして保存します。

5. ファイルからデータを読み込む

テキストファイルに保存したデータを読み込み、掲示板に今まで投稿されたメッセージとして表示します。

6. 投稿完了メッセージを表示する

メッセージの投稿が完了したら、ユーザーに投稿ができたことを知らせるためのメッセージを表示します。

7. 投稿の未入力バリデーションをつける

メッセージを投稿したときに、必要な情報がすべて入力されているかを自動的に確認する機能を実装します。

8. 投稿されたデータをサニタイズする

データのサニタイズ(コードの無効化)を実装します。
投稿されたメッセージに悪意のあるコードが紛れていたときなどのための対策になります。

9. 投稿データの保存にデータベースを使う

ここまではデータの保存にテキストファイルを使用してきましたが、効率良く管理できるようにデータベースの使用に切り替えていきます。
データベースの管理には「phpMyAdmin」というツールを使いますが、こちらではインストール方法から解説していきます。

10. 掲示板のデータベースとテーブルを作成する

phpMyAdminを使って、MariaDBに掲示板のデータを保存するためのデータベースとテーブルを新しく作成します。

11. 投稿データをデータベースに登録する

PHPからデータベースに接続し、投稿データをテーブルに登録する仕組みを構築します。

12. データベースからデータを取得する

上記でテーブルに登録したデータを、今度は読み込んで掲示板に表示するようにしていきます。

13. コードを整理する

書いてきたPHPのコードをここで一旦整理して綺麗にします。

14. セッションで表示名の入力を省略する

セッションを使って、掲示板を利用するユーザーにちょっとだけ便利な機能を追加します。

15. 管理ページを作成する

ここからは、今まで掲示板に書き込まれたデータを管理するページを新しく作っていきます。

16. ログインページを作る

管理ページの入り口になるログインページを作成します。
ログイン情報が正しいかを判定する機能もここで実装します。

17. 投稿データをCSV形式でダウンロードする

今までに書き込まれたデータを一括でCSV形式のデータとしてダウンロードする機能を実装します。

18. 投稿データをダウンロードする件数を指定する

上記で作成したダウンロード機能に、ダウンロードするデータの件数を指定する機能を追加します。

19. 投稿メッセージの編集ページを作る

掲示板に書き込まれたデータを編集する機能を実装していきます。
ここではベースとなる編集ページを作成します。

20. メッセージを編集する機能を実装する

上記で作成した編集ページに、実際に書き込んだデータの内容を編集する機能を実装します。

21. 投稿メッセージの削除ページを作る

編集機能に続いて、特定の書き込みを削除する機能を実装します。

22. 管理ページにログアウトを実装する

管理ページからログアウトする機能を実装します。

以上が全体の構成になります。
機能を1つずつ実装していくためページ数は多いですが、一歩ずつ着実に掲示板ができていくようになっています。

もし作っていて分からないことがあったり、お気付きの点がありましたら、各ページの下部にある「Good」「Bad」ボタンからメッセージを送っていただくか、またはお問い合わせフォームよりお気軽にご連絡ください。

こちらの記事は役に立ちましたか?

ありがとうございます。
もしよろしければ、あわせてフィードバックや要望などをご入力ください。

コメントありがとうございます!
運営の参考にさせていただきます。