【初心者向け】PHPとSQLで掲示板を作る方法とソースコードを公開

掲示板 アイキャッチ プログラミング

※この記事にはアフィリエイト広告を含む場合があります

💡掲示板をすぐに作りたい人へ💡

PHPで掲示板を作る具体的な方法(処理の仕組みや詳しい解説)は「PHP+MySQL(MariaDB) Webサーバーサイドプログラミング入門」で詳細に学べます。

どうも!プログラミングを勉強しつつ、いろいろなものを作っているなおやん(naoya2_2)です。

今回はプログラミング言語の1つ「PHP」を使って簡易的な掲示板を自作してみたので、そのソースコードを備忘録として書いておきたいと思います。

同じくPHPで掲示板を作ってみたいと思う方は真似しながら作ってみてください!

ちなみに冒頭にも書きましたが、掲示板の仕組みまでじっくり理解したい人はUdemyの以下教材をやってみてください。

>> PHP+MySQL(MariaDB) Webサーバーサイドプログラミング入門

これだけで投稿が登録される仕組みや画面に表示される仕組みまで全部分かります。

【著者プロフィール】
高橋直也(@naoya2_2
フリーランスエンジニア。SEとして主に某企業顧客管理システムの開発、改修を担当している。ブログでは未経験からSESを経てフリーランスになった経緯等を発信中。

関連記事:未経験からエンジニア転職までの超具体的ロードマップ

作った掲示板は非常にシンプルな機能のみ

掲示板と言っても機能は本当にシンプルなもののみを実装。

  1. 書き込み(200文字以内)
  2. 削除

この2つ。

以下の投稿フォームに入力し、投稿するボタンを押すことで投稿できます。

掲示板 投稿

投稿メッセージだけでなく、投稿された日時や投稿IDも実装。

掲示板 投稿一覧

文字数がオーバーした場合や、1文字も入力されていてない場合はエラー表示を出します。

掲示板 エラー吐き出し

このような非常にシンプルで初心者にも作れる機能になっています。

 

データベースにSQLも用意する

掲示板は書き込まれたメッセージを保存しておく必要があるので、データベースの準備も必要です。今回はMySQLを利用しました。

掲示板で書き込まれたメッセージはデータベースに保存され、そのデータベースからメッセージを呼び出して画面に表示します。

掲示板 データベース

↑これが呼び出されると↑

↓こうなる↓

掲示板 投稿一覧

仕組み自体は非常に簡単なので作ってみてくださいね。

掲示板のソースコードはこちら

ではソースコードを書いていきます。

これらをコピーして指定通りのデータベースを用意すれば簡単な掲示板が作れますので、そこから好きなように改良してみてください。

input.html(メッセージ入力画面)

メッセージを入力する画面を作っているHTMLコードです。

ここでは<form>タグを使ってユーザーがメッセージを入力できるようにし、POSTとして受け取る仕組みを作っています。

また、「投稿する」ボタンを押した際に”input_do.php”に画面が推移します。

style,css(ページデザイン)

cssファイルで外観を整えています。

ここでは特に難しいことはやっていないので、オリジナルに改良してみてください。

index.php(投稿表示画面)

投稿されたメッセージを一覧するページを作っているphpファイルです。

データベースに接続し、queryでSQLを操作しデータベース内のメッセージやid、投稿日時を呼び出しています。

input_do.php(投稿送信画面)

投稿送信画面です。

if文で条件分岐し、POSTで送られたメッセージが1文字以上200文字以下の場合は通過するように、それ以外(0文字や200文字以上)の場合はエラーメッセージを表示する仕組みにしています。

編集後記(補足)

すでにプログラミングに慣れている場合は、投稿送信画面や削除画面は個別に作らずメイン画面上でポップアップ等出して完結させるのがスマートかもしれません。

delete.php(削除画面)

投稿一覧画面で「削除」を押した際に推移する削除画面を作っています。

本当に削除してOKかチェックを行います。

delete_do.php(削除確認画面)

実際に削除するSQLを実行し、メッセージを削除します。

dbconnect.php(データベースに接続)

データベースに接続するためのphpファイルです。

このファイルを他のファイルでimportすることで、それぞれがデータベースに接続可能になります。

さらに詳細は以下サイトで学習できます。

>> PHP+MySQL(MariaDB) Webサーバーサイドプログラミング入門

この掲示板の課題点

とりあえずお遊び感覚で掲示板を作ってみましたが、もっと実用性をもたせる課題点としては、

  • ログインやログアウトの実装
  • 誰でも削除ができてしまうので改善
  • デザインをかっこよく

こんなところですね。

しっかりしたWebサービスに発展させるなら登録する仕様にしてログイン・ログアウト機能を実装すると良いでしょう。

また、現状は誰でもメッセージを削除できてしまうので、書き込んだ人しか削除できない仕様にしたほうが使いやすくなりますね。

あとはデザインがダサいので要改善といったところでしょうか。これから少しずつ改善していきます。

関連記事:未経験からエンジニア転職までの超具体的ロードマップ