こんにちは、穏やか暮らし計画ライターのあらです。
本記事では、プログラミング初心者である私が0から掲示板サイトを作ることを目標に、勉強している様子を皆さんに発信していますので、プログラミングを1から始めてみたい!掲示板サイトを作ってみたい!という方はぜひ参考にしてみてください。
本記事の内容
- 初心者でも作ることができる掲示板デモサイト紹介
- 掲示板に最低限必要なPHPコードがこの記事で分かる。
今回の記事では、HTML・CSSで作った掲示板の枠組みにPHPを加えて、投稿したら履歴が残るように、掲示板としての機能を加えたいと思います。
ついに掲示板デモサイト完成
早速、HTMLファイルをPHPファイルにして、PHPを書いていこうと思ったのですが、全く想像がつかず自力で書くことは断念しました。
PHPは最序盤に少しだけかじりましたが、HTMLと複合させて書いたこともありませんし、もうほぼ忘れていました。ですので、今回はコードを参考にさせてもらい、分からない部分は解説を見たり、自分で調べて勉強させてもらうことにしました。
今回参考にさせていただいたページ
完成した掲示板デモサイト
↑よかったら何か書き込んでみてください!
PHPのコードを追加する
とりあえずですが、PHPコードを1から作ることは現時点難しいので、参考通りにHTMLファイルにコードを書いてみました。一部自分がわかりやすいようにと、HTMLコードが違う部分があるため、ちゃんと噛み合うように訂正しました。
PHPコードを追加したのは、1~11・35~41・45になります。
1~11では、PHPを使う上での基本的なことをコードで説明していて、35~41、45は投稿部分の処理を説明しています。
それぞれのコードの役割
まとめて説明するのは難しいので、1文1文紐解いてそれぞれどんなことをするコードなのか解説していきます。
fopen関数(画像2行目)
2行目のfopen関数はファイルを指定して操作するとき使う関数のようです。fopenの後に「どのファイルを操作するか」「どのように操作するか」の2つを説明させます。
今回は、php.csv(自分が作ったcsvファイル)にa+b(追記で読み込み/書き込みさせる)という指定方法にしました。おそらく、掲示板を作るならa+bで良いと思います。
ここは実際に書き込む/読み込む指定ではなくて、パソコンにこういう処理をするよという説明部分だと思います。
$_SERVER(3行目)
サーバ変数の指定になります。$_SERVER['REQUEST_METHOD']==='POST'という指定になっているみたいです。
$_SERVER['REQUEST_METHOD']とは、
ページにアクセスする際に使用されたリクエストのメソッド名です。 'GET', 'HEAD', 'POST', 'PUT' など。注意:リクエストのメソッドが HEAD だった場合、 PHP スクリプトはヘッダを送信した後(言い換えれば、 出力バッファリングを行わずに全出力を処理した後)に終了します。
参照:wepicks
これだけは全く意味不明でした。よって飛ばすことにしました笑
fputcsv(4行目~10行目)
こちらは指定したファイルに書き込む指定ができる関数のようです。
「nameポスト(名前記入)、commentポスト(コメント欄)に書かれたことをphp.csvファイルに書き込め!」という指定を入れています。5行目のrewindはファイルポインタ(書き込む時に出る棒線)を先頭に指定する関数みたいです。
7行目のwhileの部分は2次元配列というもので、自分が説明すると1記事になりそうなので、「php 2次元配列」と調べてみてください。
10行目はfcloseでファイルを閉じています。fopenでファイルを開いているので、開いたら閉じる!PHPのルール上必要みたいです。
!empty(35行目)
$rowsが空か(投稿されている場合)どうか調べるコードになっています。ちなみに!は否定という意味になっています。
foreach(37行目)
foreachは$rowsが空じゃない場合(投稿がされている場合)、print $row[1](投稿された本文を表示)print $row[0](投稿されたお名前を表示)される指定になっています。
39行目のendforeachはforeachの{}を省略して書くことができるようになるためのコードのようです。
else(41行目)
!が否定。emptyが空なので、$rows(投稿)が空じゃない他の場合。つまり空の場合は「投稿がまだありません」というものを表示させるように指定してあります。
少しややこしいですね笑
あとがき
以上で初心者が掲示板を作ってみた(PHP編)は終わりになります。これで目標としていた掲示板作成は達成できました!めちゃくちゃ大変でした笑
では実際にこの掲示板を世に出してみよう!とは到底できません。なぜなら、機能不足もありますが、セキュリティ面がガバガバらしいのです。
ですが、自分が目標としていたのは掲示板を作り、みんなに使ってもらうコンテンツを作るのではなく、プログラミングを学ぶために、掲示板システムを作ることなので、とても満足しています。
ですので、セキュリティ面のプログラミングは一旦置いておいて、また別のことをしたいなと思います!セキュリティ面はまた必要なときに学びます!
掲示板作るシリーズはここで終了ですが、まだまだ記事は書いていこうと思いますので、次回の記事もお楽しみにしてください。
最後までご愛読ありがとうございました!