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

Contents
前回の学習
それでは掲示板の作成方法その2にすすんでいきましょう。
まずいきなりソースを書きます。
ソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
<?php //var_dump($_POST); //最初に変数を定義しておかないとエラーになる $err_msg1 = ""; $err_msg2 = ""; $message =""; $name = ( isset( $_POST["name"] ) === true ) ?$_POST["name"]: ""; $comment = ( isset( $_POST["comment"] ) === true ) ? trim($_POST["comment"]) : ""; //投稿がある場合のみ処理を行う if ( isset($_POST["send"] ) === true ) { if ( $name === "" ) $err_msg1 = "名前を入力してください"; if ( $comment === "" ) $err_msg2 = "コメントを入力してください"; if( $err_msg1 === "" && $err_msg2 ==="" ){ $fp = fopen( "data.txt" ,"a" ); fwrite( $fp , $name."\t".$comment."\n"); $message ="書き込みに成功しました。"; } } $fp = fopen("data.txt","r"); $dataArr= array(); while( $res = fgets( $fp)){ $tmp = explode("\t",$res); $arr = array( "name"=>$tmp[0], "comment"=>$tmp[1] ); $dataArr[]= $arr; } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="ja"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>掲示板</title> </head> <body> <?php echo $message; ?> <form method="post" action=""> 名前:<input type="text" name="name" value="<?php echo $name; ?>" > <?php echo $err_msg1; ?><br> コメント:<textarea name="comment" rows="4" cols="40"><?php echo $comment; ?></textarea> <?php echo $err_msg2; ?><br> <br> <input type="submit" name="send" value="クリック" > </form> <dl> <?php foreach( $dataArr as $data ):?> <p><span><?php echo $data["name"]; ?></span>:<span><?php echo $data["comment"]; ?></span></p> <?php endforeach;?> </dl> </body> </html> |
長いソースの読み方
前回と比べてかなりソースが長くなりましたね。
当たり前ですが、ほとんどの方は長いソースのほうが読みにくく、混乱すると思います。
実は実務でもソースの長さを縮めることはかなり大事だったりします。
大事なことはパーツごとにわけることです。
関数の作成方法について以前学習したと思いますが、実務ではなるべく処理を関数に分割してわけます。
※以前学習した関数は↓こちらです
よく使う処理をまとめてみよう その1 (関数)
よく使う処理をまとめてみよう その2 (関数)
だいたい1つの関数というのは30行以内に収めるというのが相場ですね。(※あくまで目安です。絶対にこの中に納めなくてはいけないというものではありません。)。
それ以上になりますと、人間の頭で理解できる領域を超えるのではないかと思います。
今回は関数の作成は行っていませんが、それでも処理を分割してみる癖は大事です。
大まかに区切ると今回の処理は下記のように分けられるでしょう。
- 4行目~8行目 変数とエラーメッセージの定義
- 11行目~22行目 入力のエラーチェックと書きこみ
- 24行目~34行目 テキストファイルからの読み込み
- 38行目~60行目 HTMLへの表示
これぐらいに限ってみてみるとどうでしょうか。最初ということでHTMLの部分以外は10行以内の処理にまとめてみました。
一気に60行をみるのはつらくても10行程度なら比較的処理しやすいのではないでしょうか。
次回以降、この4つの処理を追っていきましょう。
関連記事
-
-
PHPで掲示板を作ろう!(データベース編) その5 PHP-MySQL連結編
今回はMySQLの第5回目の講義です。 前回までの記事 PHPで掲示板を作ろう!(データベース編
-
-
PHPで掲示板を作ろう!(データベース編) その1 データベースとは
以前、掲示板を作成するブログ記事を書きました。 その1 PHPで掲示板を作ろう! 掲示板の作成
-
-
就職するときに見落としがちな考え方
今は自社で就職の斡旋などはしていないのですが、人材紹介会社で働いていたときは生徒の就職に立ち会ってき
-
-
ゼロからWEBプログラミング(PHP)をマスターするのに何時間かかる?
おはようございます。松本です。 さて、本日のテーマはタイトルのとおりです。以前受講生の方に「ゼ
-
-
プログラミング開発環境構築で挫折・・ wandboxを使ってみよう
本日はプログラミングの環境構築で挫折した方のために、前回の記事で紹介したwandboxというツールを
-
-
よく使う処理をまとめよう その2 (関数)
こんにちは。松本です。 最近の私の使命はダイエットです(爆)。 ダイエットはいろいろな方
-
-
JavaScriptとPHPの違い
お問い合わせフォームと指導者ネタを更新中なのですが、先日セミナーにお越しいただいた受講生の方にPHP
-
-
条件によって処理を分けよう (if)
おはようございます。松本です。 昨日はひさびさにサイクリングを長時間楽しみました。往復で50キ
-
-
初心者が読みやすいコードを書くときに気をつけたい4つのポイント
本日のお題は、「読みやすいコードの書き方」についてです。 プログラミングをやりたての頃は機能を
-
-
ガチンコ塾、人気記事ベスト5
このブログも開設して約半年たちましたね。 思った以上にたくさんの方に読んでもらえてうれしいです
- PREV
- PHPで掲示板を作ろう! 掲示板の作成方法 その1
- NEXT
- ユーザーのことを考えよう! その1
Comment
細かいですがよく使う処理をまとめてみようその1がその2につながってます(> <)
yさん
ただいま修正しました。
ご指摘ありがとうございます。
自分でなかなか気づけないので言っていただけるとありがたいです。
PHPで掲示板を作ろう! 掲示板の作成方法 その2
のソースの実行
掲載のソースに名前を付けて実行しましたが名前とかコメントが
表示されません。
掲載のソースに名前:keijiban.html
コメント頂けますと、大変助かります。
Shiggyさん
初めまして、ブログ運営者の松本です。
もしよろしければmatsumoto@dt30.netあてに作成したプログラムのソースを送っていただけますでしょうか?
見させていただきます。
[…] […]