*

PHPで掲示板を作ろう! 掲示板の作成方法 まとめ

公開日: : 最終更新日:2016/08/24 PHP, 講義 , ,

さて4回にわけて、掲示板のプログラムを学習してきました。

見た目は超シンプルで実際に動かしてみても、「こんな程度のものしか作れないの?」と思う方は多いかもしれません。

ただ、この基本が一番大事なんです。ここでやったことに関しては他のどのプログラムを作る分野にも共通する基本が書かれています。

ここでは総復習として、4回の内容を総復習したいと思います。

ある程度、PHPを学習している方はこの記事だけで済みます(笑)

ソース

まずは掲示板のソースですね。

これは一番簡単なパターンなので実務でソースを書く場合はちがうように書きますが、とっかかりとしては「とりあえず動かす」ということが重要なのでこのソースにしました。

あとはdata.txtというテキストファイルをこのソースと同じ階層に置きます。

既存リンク

その1 PHPで掲示板を作ろう! 掲示板の作成方法 その1

その2 PHPで掲示板を作ろう! 掲示板の作成方法 その2

その3  PHPで掲示板を作ろう! 掲示板の作成方法 その3
(エラーチェックとファイル書き込み)

その4  PHPで掲示板を作ろう! 掲示板の作成方法 その4
(ファイル読み込みとHTML表示)

掲示板の機能

書き込みデータの表示

掲示板なので当然、今までに書き込まれたデータを表示。

画像

input

エラーチェック

入力欄が名前とコメントの2つですが、未入力時は下記のようにエラーが正常に出力されます。

画像

error

正常な入力の場合

入力が正常な場合は、下記のように書き込みが成功したというメッセージが表示され、データが保存されます。

画像

tuika

掲示板学習で学べること

この掲示板アプリを作ることで学べるスキルを書いておきます。

外部装置へのデータ格納

一番大きいのはここです。

現在皆さんが使っているWEBアプリは中に書かれている文章や、情報を外部にプールしてあります。

ここがHTMLのサイトとの大きな違いでして、HTMLでサイトを作る場合、すべて文章や情報をHTMLのソースの中に書きます。

PHPなどで作るWEBアプリというのはソースの中に情報はないことが一般的です。

そのため、情報を格納しておく外部装置が必要で、テキストファイルを使うケースとデータベースを使うケースがあります。

今回は最初なので、テキストファイルですが、一般的にある程度の規模のアプリは必ずデータベースを使います。

ファイルポインタ

ポインタとは外部装置からデータを読み込むときに必要になる、しおりのようなものです。

厳密にいうと「メモリのアドレス」なんですが、そんな言葉をつかうと初学者は即死するので(爆)とりあえずは「ファイルがどこまで読んだか、書いたかを示す本のしおり」と考えておけばいいかと思います。

配列への格納と操作

ここが初心者にとって最初に乗り越えるべき関門です。

求めるデータを配列にしっかり格納して、表示できるかです。

このサイトはPHPで説明していますがCだろうがJavaだろうが、50年後に生まれるプログラミング言語であろうが、配列(あるいはそれに相当する技術)の操作が一番基本でなおかつ、ずっと使い続けます。

なぜなら人間がデータを認識するのがこの形だからです。

ソース解説

4~8行目 変数とエラーメッセージの定義

使用される変数の定義と初期化です。

PHPに限らずプログラミングではデータを入れる変数を用意しておく必要があります。

それらの変数を用意しておきましょう。

なお$nameや$commentに関しては投稿があったときと、投稿がなかった時場合を分けて、定義しておく必要があります。

11~22行目 入力のエラーチェックと書き込み

投稿があった場合には

  • 未入力時のエラーチェック
  • ファイルへの書き込み

を行う必要がでてきます。

特にファイルへの書き込みは新しい概念なので重要です。

ファイルポインタといわれる「ファイルがどこまで書きこまれたか、読み進んでいるか」といった情報を格納しておくデータの存在が必要になります。

ファイルの読み書きには基本的にはこれを使います。

またテキストファイルだけではなく、データベースでもでてきます。

実をいうとこのファイルポインタを使わずにファイルを読み書きする方法はあるのですが(爆)使えたほうがいいでしょう。

この考え方自体はPHPだけではなく、他のプログラミング言語でも必ず出てくるからです。

24~34行目 テキストファイルからの読み込み

書き込んだ後は、読み込みになります。

ここでの学習事項は

  • ファイルポインタを使ってデータの読み込み
  • 文字列→配列→連想配列→多次元配列への格納

ですね。

特に配列の処理は超重要でして、プログラマをやめる日までずっと似たようなことを毎日やることになります。

私も配列の処理は毎日やってますし、今後も毎日やります。

早いうちにこの処理になれておきましょう。

38~60行目 HTMLへの表示

格納したあとは実際にHTMLに表示してみましょう。

ここも広い意味では配列の処理になりますね。Foreachをぐるぐる回して、文字列として出力できればOKです。

なお、PHPをHTMLの中に入れているので、今までのPHPと若干書き方が変わっています。

学習が進んでくるとPHPとHTML自体はファイルを分けることが一般的です。

カスタマイズ

もしこのアプリが完成した場合はさらにカスタマイズしてみましょう。

生徒に指導するときは

  • 項目をさらに追加し、それぞれにエラーチェックを行う
  • ログインしたらこのページに入るようにする
  • 自分の記事は編集、削除ができるようにする
  • 1ページ10記事ぐらいにし、下に 1 2 3 ・・・などとリンクを付ける。
    (ページ送り機能)
  • 記事を検索できるようにする

などをすすめていました。

このような機能を追加してあげるとその過程で

  1. この機能どうやるんだろう?と悩む
  2. いろんなキーワードで検索したり、本を読んであれこれ調べる
  3. 見当がついた段階で実際にソースの中で試したり、推測する
  4. 動く(動かない場合は1に戻る)

のループをすることになります(笑)

プログラミングは基本的にこのソースと格闘するプロセスを経て上達していくのだと思います。

この記事が初心者の方に役に立てば幸いです!

テキストファイルでの掲示板作成はここで終わりですが、一般的に掲示板はMySQLなどのデータベースを使って作ることが一般的です。

ガチンコ塾でもMySQLを使った掲示板作成を当然行います。

次回は「PHPで掲示板を作ろう!(データベース編) その1 データベースとは」になります。

関連記事

WEBエンジニアだったら知っておきたいWEB開発ツール一覧

今回は仕事で使っているソフト、ツールやWEBサービスなんかを紹介していこうと思います。 それほ

記事を読む

なぜPHPなのか

はじめまして、プログラミングの講師を担当させていただきます、松本と申します。 このたび、株式会

記事を読む

データを扱ってみよう その1(変数)

こんにちわ、松本です。 前回の記事は読んでいただけたでしょうか。私よりPHPに関して知識のある

記事を読む

初心者が読みやすいコードを書くときに気をつけたい4つのポイント

本日のお題は、「読みやすいコードの書き方」についてです。 プログラミングをやりたての頃は機能を

記事を読む

JavaScriptとPHPの違い

お問い合わせフォームと指導者ネタを更新中なのですが、先日セミナーにお越しいただいた受講生の方にPHP

記事を読む

プログラミング学習法「写経」について

本日は本ブログのメインテーマであるプログラミング学習について考えてみたいと思います。 今までプ

記事を読む

セミナー告知のお知らせ

突然ですが2018/06/16にIT業界への就職希望者を対象とした無料プログラミングセミナーを開催さ

記事を読む

繰り返しを学ぼう (for,foreach)

こんばんわ。松本です。 ゴールデンウィークもそろそろおわりですね。といいつつ、私はどこにも言っ

記事を読む

お問い合わせフォームを作ろう! その1(HTML)

このサイト、PHPの学習サイトなのに内容から遠ざかっていました(爆) 個人的にはプログラミング

記事を読む

どんなプログラマが身につけておいても損はない重要なスキルとは?

のっけからストレートなタイトルですいません。 ちょっとあおり気味なタイトルですが、今日紹介する

記事を読む

Comment

  1. […] 前回までの続き … PHPで掲示板を作ろう! 掲示板の作成方法 まとめ  www.dt30.net  1 userPHPで掲示板を作ろう! 掲示板の作成方法 まとめ … PHPで掲示板を作ろう!(データベース編) その1 データベースとは […]

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

無料PHPスクール
自社開発>客先常駐である本当の理由

このブログでも何回か取り上げていますが、ITエンジニアの働き方としては

エンジニアにとって必要なコミュニケーション能力とは

気がついたらもう3月下旬になっていますね・・ 年末年始忙しかった

エンジニアを採用する上で大事なこと

本日はエンジニアの採用について書きたいと思います。最近少し採用に絡んだ

エンジニアが給料を上げる方法を真面目に考えて見ました。

本日はエンジニアと給料の話題について触れて行こうと思います。 エ

エンジニアの「スキル」とはなんぞや

給与が低いことに悩んでるエンジニアへのアドバイスをツイートで見たところ

→もっと見る

  • follow us in feedly
PAGE TOP ↑