Help us understand the problem. What is going on with this article?

今更ながら掲示板を作ってみた(ver.2)画像添付機能付

More than 3 years have passed since last update.

なんだかんだで、丸一日かかってしまった…

とりあえず今回は Github にでも上げておこうと思ったので、 初心者でも利用できる こと、SQLite3 が動作すれば、動くように作った。PHPが動作する環境なら、SQLite は当然入っているよねってことで。

フリーで配布している掲示板には古いものも多く、Undefined index とか大発生するような古いものがたくさんある ので、その辺の考慮と、最低限のセキュリティは担保されていると思います。

あとは、再利用しやすいように、Bootstrap3 に対応しております。

ソースコード丸見えなので、ある程度の上級者のコードレビューにも耐えられるように書いてみました。手抜きなし(嘘)

機能

  • スレッド式
  • 画像投稿機能(ON/OFF設定可能)
  • 削除機能
  • スレッド本文、コメント内検索機能
  • レスポンシブ・デザイン

動作環境

  • PHP5.4以上
  • SQLite3
  • GDモジュール(画像投稿利用時)

ダウンロード

ソースコードはこちらから Github

ライセンス

MIT とします。
個人利用、商用利用を問わず利用可能です。

余談

今回BBSを作ってみて思ったのだが、 初心者が、データベースやセキュリティの基本を勉強するにはとてもいい題材 だと思う。 実務で作成することになるようなWEBアプリケーションにしても、基本的な機能としては掲示板となんら変わりない。
全くの未経験の新入社員が1年程度の見習い期間を経たころには、自力で作成できる程度にはなっていてほしい。

ちょっと洗い出してみると、以下のようになる。

  • 条件分岐
  • データベースの使い方
  • XSS 対策
  • CSRF 対策
  • SQLインジェクション 対策
  • ユーザー関数
  • 再帰関数(スレッド式の場合)
  • クラス、メソッド(使わなくても作成はできるが…)

自分なりの持っている知識を総動員して作ってみるのは、いいと思う。できるならそれを 上級者にレビューしてもらうといい だろう。

逆にこういった目的のための題材としては、向かないなと思ったのが、 MVCなどの概念を無理やり当てはめようとすると、無理 が生じる。

あくまで 基本文法を学んだ人が知識と技術の確認のために作るもの だということだ。
ただし、10年前なら掲示板を作っても楽しいだろうけど、今どき、サイトにBBSを準備する意味って…ほとんど…

追記)
無駄に 画像投稿機能 をつけてみた。
ついでに 削除機能 もつけた

スクリーンショット

スクリーンショット 2016-09-07 5.16.11.png

localhost_2016-09-16_13-36-34.png

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした