広告

PHPで簡単コメント欄①

タグ: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>
のように書いてください。
すると、次のようなフォームができます。
BBS スレッドを立てる:
名前
タイトル
本文

このフォームは別途用意した受信用スクリプト"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で簡単コメント欄②