一投稿を覧で表示する |
|
では、表示処理を作成しましょう。 |
|
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にはまだまだ沢山の機能を実現する関数があります。実現したい機能に応じてどんどん勉強していくうち |
に身についていくので、積極的に調べて組み込んでいきましょう。 |
|
|
|
|