なんだかんだで、丸一日かかってしまった…
とりあえず今回は Github にでも上げておこうと思ったので、 初心者でも利用できる こと、SQLite3 が動作すれば、動くように作った。PHPが動作する環境なら、SQLite は当然入っているよねってことで。
フリーで配布している掲示板には古いものも多く、Undefined index とか大発生するような古いものがたくさんある ので、その辺の考慮と、最低限のセキュリティは担保されていると思います。
あとは、再利用しやすいように、Bootstrap3 に対応しております。
ソースコード丸見えなので、ある程度の上級者のコードレビューにも耐えられるように書いてみました。手抜きなし(嘘)
機能
- スレッド式
- 画像投稿機能(ON/OFF設定可能)
- 削除機能
- スレッド本文、コメント内検索機能
- レスポンシブ・デザイン
動作環境
- PHP5.4以上
- SQLite3
- GDモジュール(画像投稿利用時)
ダウンロード
ソースコードはこちらから Github
ライセンス
MIT とします。
個人利用、商用利用を問わず利用可能です。
余談
今回BBSを作ってみて思ったのだが、 初心者が、データベースやセキュリティの基本を勉強するにはとてもいい題材 だと思う。 実務で作成することになるようなWEBアプリケーションにしても、基本的な機能としては掲示板となんら変わりない。
全くの未経験の新入社員が1年程度の見習い期間を経たころには、自力で作成できる程度にはなっていてほしい。
ちょっと洗い出してみると、以下のようになる。
- 条件分岐
- データベースの使い方
- XSS 対策
- CSRF 対策
- SQLインジェクション 対策
- ユーザー関数
- 再帰関数(スレッド式の場合)
- クラス、メソッド(使わなくても作成はできるが…)
自分なりの持っている知識を総動員して作ってみるのは、いいと思う。できるならそれを 上級者にレビューしてもらうといい だろう。
逆にこういった目的のための題材としては、向かないなと思ったのが、 MVCなどの概念を無理やり当てはめようとすると、無理 が生じる。
あくまで 基本文法を学んだ人が知識と技術の確認のために作るもの だということだ。
ただし、10年前なら掲示板を作っても楽しいだろうけど、今どき、サイトにBBSを準備する意味って…ほとんど…
追記)
無駄に 画像投稿機能 をつけてみた。
ついでに 削除機能 もつけた