WebプログラミングU 掲示板作成のポイント

2006/6/13       学籍番号               名前                         |

掲示板データベース

CREATE TABLE bbs (
id INT NOT NULL AUTO_INCREMENT ,
name VARCHAR(32) NOT NULL ,
message TEXT NOT NULL,   ←投稿メッセージmessageをTEXT型にするのがポイントです。
regidate DATETIME NOT NULL,
PRIMARY KEY (id)
);

掲示板表示board.php

sql文では最新のものを上部に表示するためidの逆順で読み取ります。
またメッセージを30個に限定するためLIMIT句を付けます。

SELECT * FROM bbs ORDER BY id DESC LIMIT 30;

printする文字列は、htmlspecialchars関数を使い、特殊文字をHTML用に変換します。
これをしないとHTMLタグに影響がでてくずれます。

  変換後の文字
& &
" "
' '
< &lt;
> &gt;

printする文字列の改行は、nl2br関数を使い改行コードを<br>に変換します。
これをしないと長い1行になってしまいます。

  printする文字列
名前 htmlspecialchars($row["name"])
投稿メッセージ nl2br(htmlspecialchars($row["message"]))

掲示板投稿1submit.htm(あるいはsubmit.php)

単なるフォーム投稿html文です。

掲示板投稿2submit2.php

sql文ではMySQLのnow()関数を使い自動的に現在日時を挿入します。

INSERT INTO bbs (name, message, regidate)
VALUES ('$name', '$message', now())