| 番号 | 日時 | メッセージ |
|---|---|---|
| 79 | 2008-07-26 01:30:36 | みな |
| 78 | 2008-07-18 11:57:20 | test TEST てすと てすと \nてすと |
| 77 | 2008-07-18 11:55:33 | て す と |
| 76 | 2008-07-09 17:01:00 | pe |
| 75 | 2008-06-14 19:10:00 | テスト |
| 74 | 2008-05-30 15:58:52 | hoge |
| 73 | 2008-05-30 11:28:10 | |
| 72 | 2008-05-30 11:28:00 | |
| 71 | 2008-05-30 11:27:56 | |
| 70 | 2008-05-30 11:27:55 | asdf |
| 69 | 2008-05-30 11:27:40 | asd |
| 68 | 2008-05-26 13:20:53 | ほげげ |
| 67 | 2008-05-05 15:08:10 | test |
| 66 | 2008-05-05 01:56:59 | test |
| 65 | 2008-04-26 03:09:43 | |
| 64 | 2008-04-20 19:36:48 | <b>あーーーー</b> |
| 63 | 2008-04-20 19:36:45 | <b>あーーーー</b> |
| 62 | 2008-04-20 19:36:27 | <font size="30">☹</font> |
| 61 | 2008-04-20 19:35:55 | ☹ |
| 60 | 2008-04-20 19:35:23 | は |
上には次のように書いてあるだけです。
<form action="sqbbs.php" method="post">
<p>メッセージ:<br />
<textarea name="msg" rows="5" cols="60"></textarea><br />
<input type="submit" value="送る" />
<input type="reset" value="クリア" /></p>
</form>
<?php
$db = sqlite_open('ファイル名')
or die("<p>データベースに接続できませんでした</p>");
if ($_POST['msg'] != '') {
$t = date("Y-m-d H:i:s");
$msg = sqlite_escape_string($_POST['msg']);
$sql = "insert into okumurabbs values(NULL, '$t', '$msg')";
$result = sqlite_query($db, $sql)
or die("<p>書き込みに失敗しました</p>");
}
$sql = "select * from okumurabbs order by id desc limit 20";
$result = sqlite_unbuffered_query($db, $sql)
or die("<p>読み出しに失敗しました</p>");
echo "<table border=\"1\">\n";
echo "<tr><th>番号</th><th>日時</th><th>メッセージ</th></tr>\n";
while ($a = sqlite_fetch_array($result, SQLITE_ASSOC)) {
echo "<tr><td>", $a['id'], "</td><td>", $a['t'], "</td><td>",
htmlspecialchars($a['msg']), "</td></tr>\n";
}
echo "</table>\n";
sqlite_close($db);
?>
ここではあらかじめ次のようにして okumurabbs という名前の表を作っておきました。
<?php
$db = sqlite_open('ファイル名');
sqlite_query($db, 'create table okumurabbs(id integer primary key, t text, msg text);');
?>
SQLite は integer primary key に NULL という値を insert すると1から始まる連番を自動挿入します。 上の例では連番がなくても日時で並べることもできますが,削除のときには番号があると楽です。
特殊文字の無害化については セキュリティ上の配慮 をご覧ください。
Last modified: 2008-04-13 12:51:48