| 番号 | 日時 | メッセージ |
|---|---|---|
| 351 | 2024-05-01 20:49:59 | あああ |
| 350 | 2024-02-14 22:10:38 | テスト |
| 349 | 2024-01-29 15:32:42 | あああ |
| 348 | 2024-01-14 22:39:14 | ss |
| 347 | 2023-12-09 20:54:30 | 文章 |
| 346 | 2023-12-09 20:53:38 | 文章 |
| 345 | 2023-09-12 19:34:25 | test |
| 344 | 2023-07-27 13:51:30 | ヤッホー こんにちは |
| 343 | 2023-03-16 14:25:52 | 急にPHPの勉強をしなければならなくなった |
| 342 | 2022-01-16 22:05:43 | hoge |
| 341 | 2022-01-05 15:14:35 | とら |
| 340 | 2022-01-05 14:50:37 | ほげほげ げほげほ |
| 339 | 2021-08-10 21:37:14 | 💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩 |
| 338 | 2021-06-09 13:15:30 | ああああああああああ |
| 337 | 2021-05-19 15:13:45 | メガテラ・ゼロ |
| 336 | 2021-05-19 15:12:35 | 領域展開 |
| 335 | 2021-05-14 23:09:06 | <script>alert('test');</script> |
| 334 | 2021-05-14 23:08:58 | <script>alert('test');</script> |
| 333 | 2021-03-30 02:20:37 | テスト |
| 332 | 2021-01-16 16:02:33 | a |
上には次のように書いてあるだけです。
<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
try {
$db = new PDO('sqlite:ファイル名');
if (@$_POST['msg'] != '') {
date_default_timezone_set('Asia/Tokyo');
$s = $db->prepare("insert into okumurabbs values(NULL, ?, ?)");
$s->bindValue(1, date("Y-m-d H:i:s"));
$s->bindValue(2, $_POST['msg']);
$s->execute()
or die("<p>書き込みに失敗しました</p>");
}
$sql = "select * from okumurabbs order by id desc limit 20";
echo "<table border=\"1\">\n";
echo "<tr><th>番号</th><th>日時</th><th>メッセージ</th></tr>\n";
foreach ($db->query($sql) as $a) {
echo "<tr><td>", $a['id'], "</td><td>", $a['t'], "</td><td>",
htmlspecialchars($a['msg']), "</td></tr>\n";
}
echo "</table>\n";
$db = null;
} catch (PDOException $e) {
echo "<p>エラー:", $e->getMessage(), "</p>";
}
?>
ここではあらかじめ次のようにして okumurabbs という名前のテーブルを作っておきました。
sqlite3 ファイル名 create table okumurabbs(id integer primary key, t text, msg text); .quit
SQLite は integer primary key に NULL という値を insert すると1から始まる連番を自動挿入します。 上の例では連番がなくても日時で並べることもできますが,削除のときには番号があると楽です。
特殊文字の無害化については セキュリティ上の配慮 をご覧ください。
Last modified: