一投稿を覧で表示する
 
では、表示処理を作成しましょう。
 
bbs.php
//上部の書き込み処理コードは省略しています…
//フォームのHTMLを表示
print<<<EOF
<html>
<title>掲示板</title>
<body>
<b>一行掲示板</b><br><br>
<form action="bbs.php" method="post">
名前<br><input type="text" name="name"><br>
タイトル<br><input type="text" name="title"><br>
本文(50字以内)<br>
<input type="text" name="body" size="50" maxlength="50">
<input type="submit"name="register" value="投稿"><br><br>
EOF;
//書き込みデータを展開して表示する
$filename = "C:\\xampp\\htdocs\\bbsfile.txt";
$data = file($filename);

foreach ($data as $line) {
            $explode_result = explode("/",$line);
            $line_name = $explode_result[0];
            $line_title = $explode_result[1];
            $line_body = $explode_result[2];

print "<b>名前:</b>".$line_name."|<b>タイトル</b>:".$line_title."|<b>本文</b>:".$line_body."<br><hr>";
}

//残りのHTMLを表示
print<<<EOF
</body>
</html>
EOF;
?>
※タイトルや、改行を入れるなどして少し体裁を整えてあります。
 
保存して、bbs.phpを見てみましょう。書き込んだデータが表示されているでしょうか。

このような感じに表示されているはずです。

 
フォームの下に内容を表示させたいので、ヒアドキュメントでフォーム部分のHTMLを囲んでいます。
・file関数
file関数はファイル全体を読み込んで、1行ずつ配列に格納します。
file(ファイル名)
と記述します。一行ずつということは、改行までを示します。
変数$filenameにファイルへのパスを格納します。
file関数でファイルを読み込み、それを変数$dataに格納します。
foreach文で変数$lineとして、データの格納された配列を展開します。
 
・explode関数
名前、タイトル、内容は今の時点では一つのデータとして繋がったままです。このままでは各データとして
扱うことができないので、explode関数で分割し各配列に格納します。このために各データはスラッシュ(/)で

区切って書き込んだのです。explode関数は以下のように記述します。

explode("区切り文字",内容)
分割した各データを配列$explode_resultに格納します。
表示するための変数に配列$explode_resultの各データを順に格納します。
最後に各データを書式を整えて表示し、残りのHTMLをヒアドキュメントで表示させて完成です!
 
シンプルですが一行掲示板ができました。
PHPにはまだまだ沢山の機能を実現する関数があります。実現したい機能に応じてどんどん勉強していくうち
に身についていくので、積極的に調べて組み込んでいきましょう。

 

 

 

 

 
 
(C)1999-2003 BE CORPORATION All rights reserved.Terms of Use. Privacy Policy.