■What's
え〜っとソレでは今回はHTMLタグを無効化してしまいましょう。これでセキュリティ万全だぜ!ってことではないので注意してください。しかしながらコレをやっておくことで少しは気持ちが楽になる鴨。
■サンプルプログラム
テキストエディタに以下のように書き込んで、「lesson10」フォルダの中に「form4.php」として保存しましょう。
<?php
$log = 10;
$body = $_REQUEST["body"];
$body = HtmlSpecialChars($body);
if($_REQUEST["write"] != ""){
if($body != ""){
$body = $body."\n";
$fp = fopen("./data.txt","a");
fputs($fp,$body);
fclose($fp);
}else{$error_message = "<font color=\"#FF0000\"><b>何も入力されていません</b></font>";}
}
?>
<html>
<head>
<title>一行掲示板</title>
</head>
<body>
<h1>一行掲示板</h1>
書き込む内容を入力してください。(現在<b><?= $log ;?></b>行で表示中!)<hr>
<?= $error_message; ?>
<form name="form" action="<?php print $_SERVER['PHP_SELF']; ?>" method="POST">
<input name="body" type="text" size="40">
<input name="write" type="submit" value="書込"><hr>
<?php
$data = file("./data.txt");
for($i=sizeof($data)-1; ($i>=0) && $i>=(sizeof($data)-$log); $i--){
print "記事NO.${i}:${data[$i]}<br>\n<hr>";
}
?>
</form>
</body>
</html>
できましたら、ブラウザのアドレスに
「http://localhost/lesson10/form4.php」と入力してアクセス!!
ロリポップ!
さくらのレンタルサーバ
などのレンタルサーバー使ってる方はlocalhostのところはドメイン名になります。
(簡単に安くネットショップを開きたい方はこちら!)
さて、如何でしょうか?ちゃんと表示されましたでしょうか?
■解説
$body = HtmlSpecialChars($body);
変わったのはココだけデスナ。これは特殊文字を変換してくれるわけでして例えば、
- &を&
- "を"e;
- <を<
- >を>
に変換してくれるわけです。そいつがこの関数「HtmlSpecialChars()」なのです。とっても便利ですね。ハイ。