php
web
ブログのコメント欄、あるいはBBS (電子掲示板)のようなものをPHPで書きました。
バックエンドにSQLなどのデータベースは利用せず、ただファイルにxmlで書き込みデータを保存します。
ですので、廉価レンタルサーバでも簡単に動くと思います。
まずは書き込み用フォームです。
<html> <head><title>BBS</title></head> <body> スレッドを立てる: <form action="bbsreceive.php" method="post"> <table border="1"> <tr> <!-- 投稿者の名前、>input< タグでタイプは"text" --> <td>名前</td> <td><input type="text" size="50" name="name"></td> </tr> <tr> <!-- タイトルも同様 --> <td>タイトル</td> <td><input type="text" size="50" name="title"></td> </tr> <tr> <!-- 本文は複数行テキスト "textarea" --> <td>本文</td> <td><textarea name="text" cols="50" rows = "16"></textarea></td> </tr> <tr> <!-- 送信ボタン、>input< タグでタイプは"submit" --> <td><input type="submit" value="送信"></td> </tr> </table> </form> </body> </html>のように書いてください。
すると、次のようなフォームができます。
このフォームは別途用意した受信用スクリプト"bbsreceive.php"に書き込みの情報を送ってくれます。
受信用スクリプト"bbsreceive.php" は次のようにします。
書き込みました ", $text); print ("次の内容を書き込みました。
\n"); print ("名前:$name
\n"); print ("タイトル:$title
\n"); print ("本文:$text
\n"); //書き込み時刻を取得 date_default_timezone_set('Asia/Tokyo'); $t = time(); $d = date("Y/m/d-H:i:s"); //データをxmlにする $dom = new DomDocument('1.0', 'UTF-8'); $thread = $dom->appendChild($dom->createElement('thread')); $thread->appendChild($dom->createElement('poster', $name)); $thread->appendChild($dom->createElement('date', $d)); $thread->appendChild($dom->createElement('title', $title)); $thread->appendChild($dom->createElement('text', $text)); //保存 $dom->formatOutput = true; $dom->save("./threads/${t}.xml"); ?>
これによって./thread 以下に書き込みをxmlで保存していくことができます。
次回はこれらを読み込んで表示するコードを用意します。
次回:PHPで簡単コメント欄②