アクセス向上大失敗 www.igros.net
Last updated 2004/8/16
コメントバック 対応

インデックス:アイコン:109B 図で見るプログラム概要 -簡単PHP掲示板講座-

[PR]特集 Amazon.co.jp レコメンドコンテンツ



まず最初に掲示板の基本画面を通常のHTMLで作成します。
もちろん掲示板ですから、入力項目もきちんとレイアウトする必要があります。
また、実際に書き込まれたメッセージがAとBの間に割込んでいくイメージを描きながら作成するのがポイントです。

掲示板の基本は、入力させる情報の定義とそれを記録し出力する単純なモノです。
入力情報を多くし、表示色やアイコン・画像など様々なオプションを付け加える作業は比較的容易に行えます。

[簡単PHP掲示板]の仕様
・入力項目は「名前」「メールアドレス」「本文」の3つ
・「名前」「メールアドレス」はCookieを使い自動セット
・HTMLタグは自動削除
・最新30メッセージのみ蓄積(古いモノから削除)
・本文の最大文字数は2,000文字で自動カット
・「名前」と「本文」を必須項目としてチェック(未入力時はエラーとする)

以下のフローチャートに従い、1から16まで順番に概要を説明します。
1.掲示板へ新規書込みがあったのか?それとも呼出されただけなのか?を判定します。(以下、2〜7は呼出された場合)

2.以前の書込み時セットしたCookieを読出し、投稿者名、メールアドレスを自動的にセットする値を入手します。

3.再読込みされた場合の2重投稿を避けるため、ブラウザがキャッシュしないよう特別なヘッダー情報を最初に送信します。

4.掲示板のヘッダー部分にあたるHTMLを出力します。

5.過去に投稿され保存していたファイルを読込みます。

6.全ての投稿情報が無くなるまでHTMLとして出力を繰返します。

7.掲示板のフッター部分にあたるHTMLを出力します。(以下、8〜16は新規書込みされた場合)

8.入力された情報からHTMLタグを取り除いたり、必要な処理を行います。

9.必須項目が入力されたか?など、エラーにするかどうかの判定を行います。
10.エラー用のHTMLを出力しエスケープします。
11.投稿メッセージの改行記号などをHTMLへ置換します。
12.名前、メールアドレスなど必要な情報をCookieへ書込みます。
13.投稿日時をコンピュータ時間から取得します。
14.過去に投稿され保存していたファイルを読込みます。
15.新規投稿されたメッセージを追加し、一番古いメッセージを破棄します。
16.掲示板のURLへ強制的に移動させます。(#1の書込みチェックで#2へ流れ、最新の投稿メッセージが反映された掲示板が出力されます)

※この掲示板では「同時書込み」時の排他制御は考慮していません。
具体的にはプログラムが#14、15の処理を実行している最中に他の新規投稿があった場合、先の投稿が失われたり、壊れたりする可能性があります。
この問題を避けるため、#14の直前に現在「書込み中」かどうかを判定し、実行を待たせるか、とりあえずエラーHTMLを出力して逃げるなどの方法が用いられます。
1分間に10件とか、書込みが頻繁な掲示板には排他を考慮した方が良いでしょう。


<<<< トップ <<< テーマトップ << サブテーマトップ < 前頁次頁 >

www.igros.net
[PR]特集 Amazon.co.jp レコメンドコンテンツ



Copyright(C) アクセス向上大失敗 All Rights Reservd.
version2.0