#07:1行掲示板を作ろう - 投稿内容を表示する
PHPを使ったWebアプリケーションの具体例として、簡単な1行掲示板を作成します。先ほどに続いて、投稿内容を受け取って表示する機能を作成してみましょう。
末尾を改行しておく。
public_html/articles.txtHello World,paiza
Hello Ruby,paiza
Hello Sinatra,paiza
世界の皆さんコンニチハ,霧島
にゃー,ネコ
public_html/bbs.php<?php
$message = 'Hello World';
$lines = file(__DIR__ . '/articles.txt', FILE_IGNORE_NEW_LINES);
require_once 'views/bbs.tpl.php';
public_html/views/bbs.tpl.php<!DOCTYPE html>
<html lang='ja'>
<?php include('header.inc.php'); ?>
<body>
<h1>1行掲示板</h1>
<p><?= $message ?></p>
<form action='result.php' method='post'>
<label for='article'>投稿</label>
<input type='text' name='article'>
<p></p>
<label for='name'>名前</label>
<input type='text' name='name'>
<button type='submit'>送信する</button>
</form>
<h2>投稿一覧</h2>
<?php foreach ($lines as $line) { ?>
<p><?= $line ?></p>
<?php } ?>
<?php include('footer.inc.php'); ?>
</body>
</html>
public_html/result.php<?php
$message = 'This is paiza';
$article = htmlspecialchars($_REQUEST['article']);
$name = htmlspecialchars($_REQUEST['name']);
require_once 'views/result.tpl.php';
public_html/views/result.tpl.php<!DOCTYPE html>
<html lang='ja'>
<?php include('header.inc.php'); ?>
<body>
<h1>書き込みました</h1>
<p><?= $message ?></p>
<p>
<?php
if(isset($article)) {
echo $article . ', ';
}
if(isset($name)) {
echo $name;
}
?>
</p>
<form action='bbs.php' method='get'>
<button type='submit'>戻る</button>
</form>
<?php include('footer.inc.php'); ?>
</body>
</html>
- PHP: file - Manual
http://php.net/manual/ja/function.file.php
- PHPでファイルを開いて読み込む - Qiita
https://qiita.com/tadsan/items/bbc23ee596d55159f044
- 「__FILE__」や「__DIR__」などPHPのマジカル定数を活用しよう
http://cms.helog.jp/php/magical/