人気ブログランキング | 話題のタグを見る

メモ帳プログラム

<?php
/*
ブラウザからサーバーにアクセスして簡単なメモのログをとるプログラムを作った。タイトルとメモ欄に記入して送信ボタンを押すと、メモがサーバーのログファイルに書き込まれ、同時にブラウザの画面も更新される。この簡単なプログラムを元に、ウェブアプリケーションが、インターフェース部分、通信部分、サーバーの処理部分の3つの独立した部分からできていることを示す。このプログラムのファイル名は memo.php で、他にログを書き込む memo.txt というテキストファイルを同じディレクトリに用意しておく必要がある。

注意! このプログラムはサンプルプログラムです。複製改変など自由に使用してかまいませんが、エラー処理もセキュリティ対策もしていないので使用者の責任で使用してください。
*/

$MEMO = 'memo.txt';

/*
次の部分がフォームからのデータを受け取る部分。連想配列$_POST から input タグの name フィールドをキーに取り出すことができる。クライアントとの通信の際に特殊文字はエスケープされているからstripslashes() 関数を使ってエスケープを解除している。
*/

$title = stripslashes($_POST["title"]);
$memo = stripslashes($_POST["memo"]);
$memo = mb_ereg_replace("\r\n", "<br>\r\n", $memo);
$date = date("Y/m/d H:i:s");

/*
次が、処理の本体。受け取ったデータをログファイルに追加している 
*/

if ($title != "" or $memo != "") {
$prev = file($MEMO);
$fp = fopen($MEMO,"w");
fputs($fp,"$title <$date><p>$memo</p><hr>\n");
foreach ($prev as $line) { fputs($fp,$line); }
fclose($fp);
}

/*
ここからは、操作者とのヒューマンインタフェースの部分。HTML で記述するので簡単だ。フォームの中にもPHPのプログラムが存在しているが、フォームを表示するときの動的な部分で実際にはブラウザでの表示の一部である。
*/

?>
<html>
<head>
<title>アイディアメモ</title>
</head>
<body>
<form method="post" action="memo.php">
タイトル:<input type="text" name="title" size="70" tabindex="1"><br>
メモ:<br>
<textarea name="memo" rows="10" cols="80" tabindex="2"></textarea><br>
<input type="submit" value=" 記録する ">
</form>
<hr>
<?php
$memo = file($MEMO);

if (count($memo) > 0) {
foreach ($memo as $line) { echo($line); }
}

/*、
このように、ウェブアプリケーションは、インターフェース部分、通信データのやり取りの部分、サーバー側の処理の本体というふうに分けて考えると見通しが良くなる。
*/
?>
</body>
</html>
by tnomura9 | 2007-10-26 01:59 | XAMPP | Comments(0)
<< 一番簡単なAjax ウェブアプリケーションの分解 >>