ファイルに文字を書き込む実験(ゲストブックや掲示板の原型)(重要)

ログファイルはmytext4.txt。myEscape($text)関数でタグに関わる文字を
エスケープするようにもしている。

タイトル:
名前:


リロードすると、
同じ書き込みが何度も...

リロードすると、
同じ書き込みが何度も...










ファイルに文字を書き込む実験

名無し
テストしにきました。

ログファイルはmytext4.txt。myEscape($text)関数でタグに関わる文字を
エスケープするようにもしている。

あああああああああ



くぁ

ss

ssss
sss

sdasd

Page maker

namesam
9012


ふぁsふぁsふぁsふぁs


kappa

katsunori
河童の見ず流れ

<br> "abc"\\5,000
改行
<b>あいう</b>
I's

a

a
a


dj

dg
dgjd

jdghj


subject

name
test




タイトルのテスト

名前のテスト
内容のテスト

タイトルのテスト

名前のテスト
内容のテスト

てすと1

てすと2

source

<form name="myform" method="post" action="<?echo $PHP_SELF;?>">
タイトル:<input type="text" value="" name="Title"><br>
名前:<input type="text" value="" name="Name"><br>
<textarea name="Comment" cols=50 rows=10></textarea>
<input type="submit" value="送信" name="mySubmit">
<input type="reset" value="取消">
</form>

<?php
function myEscape($text)	{
	$t = $text;
	$t = str_replace("&","&amp;",$t);
	$t = str_replace("<","&lt;",$t);
	$t = str_replace(">","&gt;",$t);
//	$t = str_replace('"','&quot;',$t);
//フォームから送信すると"は\"、'は\'に自動的に置き換えられるようなので、
//以下の置換処理を入れた
	$t = str_replace('\"','&quot;',$t);
	$t = str_replace("\'","'",$t);
	return $t;
}

if($mySubmit)	{
	$my_title = $HTTP_POST_VARS["Title"];
	$my_name = $HTTP_POST_VARS["Name"];
	$my_comment = $HTTP_POST_VARS["Comment"];

	$my_title = myEscape($my_title);
	$my_name = myEscape($my_name);
	$my_comment = myEscape($my_comment);
	$my_comment = nl2br($my_comment);	//これで改行が</br>に置き換わる ここ重要
	$my_str = "<hr><h3>" . $my_title . "</h3>";
	$my_str .= "<font size=-1>" . $my_name . "</font>";
	$my_str .= "<div>" . $my_comment . "</div>";

	$filename = "mytext4.txt";
	$fpointer = fopen($filename,"r+");
	flock($fpointer,2);
	$contents = fread($fpointer,filesize($filename));
	$new_contents = $my_str.$contents;
	rewind($fpointer);
	fwrite($fpointer,$new_contents);
	print $new_contents;
	flock($fpointer,3);
	fclose($fpointer);
} else	{
	$filename = "mytext4.txt";
	$fpointer = fopen($filename,"r");
	flock($fpointer,2);
	$contents = fread($fpointer,filesize($filename));
	print $contents;
	flock($fpointer,3);
	fclose($fpointer);
}
?>