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)
);
sql文では最新のものを上部に表示するためidの逆順で読み取ります。
またメッセージを30個に限定するためLIMIT句を付けます。SELECT * FROM bbs ORDER BY id DESC LIMIT 30;
printする文字列は、htmlspecialchars関数を使い、特殊文字をHTML用に変換します。
これをしないとHTMLタグに影響がでてくずれます。
変換後の文字 | |
& | & |
" | " |
' | ' |
< | < |
> | > |
printする文字列の改行は、nl2br関数を使い改行コードを<br>に変換します。
これをしないと長い1行になってしまいます。
printする文字列 | |
名前 | htmlspecialchars($row["name"]) |
投稿メッセージ | nl2br(htmlspecialchars($row["message"])) |
単なるフォーム投稿html文です。
sql文ではMySQLのnow()関数を使い自動的に現在日時を挿入します。
INSERT INTO bbs (name, message, regidate)
VALUES ('$name', '$message', now())