最終更新日:
公開日:
ワークショップ
ひと言掲示板を作る(6)
投稿完了メッセージを表示する
「ひと言掲示板」にメッセージを投稿すると「メッセージを書き込みました。」と成功メッセージを表示する機能を付けます。
この記事のポイント
- 投稿があった場合のみメッセージを表示する
- empty関数で表示するメッセージがあるかを確認する
目次
メッセージが無事に投稿できたことを知らせる
前回までで、掲示板の基本機能である「書き込む」と「読み込む」機能を作りました。
今回からは少しずつ掲示板の使い勝手をよくする機能を付けていきます。
まずは投稿が完了したときにメッセージを表示するようにして、ユーザーが投稿が無事に行えたかを分かりやすくする機能を作成します。
「ひと言掲示板を作る」の概要については「ひと言掲示板を作る」をご覧ください。
デモはこちら
前回までに作成したコードはこちら:Github
投稿完了メッセージを用意する
まずは投稿されたメッセージをファイルに書き込んだ後に、表示したいメッセージを変数に入れて用意します。
今回は$success_messageにメッセージを入れていきます。
次の赤字のコードを追記してください。
index.php
<?php
---- 省略 ----
// 変数の初期化
$current_date = null;
$data = null;
$file_handle = null;
$split_data = null;
$message = array();
$message_array = array();
$success_message = null;
if( !empty($_POST['btn_submit']) ) {
if( $file_handle = fopen( FILENAME, "a") ) {
// 書き込み日時を取得
$current_date = date("Y-m-d H:i:s");
// 書き込むデータを作成
$data = "'".$_POST['view_name']."','".$_POST['message']."','".$current_date."'\n";
// 書き込み
fwrite( $file_handle, $data);
// ファイルを閉じる
fclose( $file_handle);
$success_message = 'メッセージを書き込みました。';
}
}
---- 省略 ----
$success_messageにはファイルへの書き込みがあった場合のみ値が代入されるため、こちらの変数に値が入っているか調べることでメッセージを表示するか判断することができます。
HTMLにメッセージ出力を設定する
続いて、HTML部分にメッセージがある場合に表示するよう設定していきましょう。
次の赤字のコードを追記してください。
index.php
<?php
---- 省略 ----
<body>
<h1>ひと言掲示板</h1>
<?php if( !empty($success_message) ): ?>
<p class="success_message"><?php echo $success_message; ?></p>
<?php endif; ?>
<form method="post">
<div>
<label for="view_name">表示名</label>
<input id="view_name" type="text" name="view_name" value="">
</div>
<div>
<label for="message">ひと言メッセージ</label>
<textarea id="message" name="message"></textarea>
</div>
<input type="submit" name="btn_submit" value="書き込む">
</form>
---- 省略 ----
empty関数で$success_messageに値が入っているかを確認します。
empty関数は値が空(入っていない)の場合にtrueを返しますが、今回は逆に値が入っていたらtrueとしたいため関数の前に「!」を付けています。
この使い方は書き込みボタンが押されたかどうかを調べる方法と全く同じです。
以上で、メッセージの投稿があってファイルへの保存が完了した場合に次のようなメッセージが表示されるようになりました。
次回は「表示名」と「メッセージ」がきちんと入力されているかを確認する「バリデーション」の機能を付けていきます。
今回作成したコード:Github
記事一覧
- ひと言掲示板を作る(1) ひと言掲示板を作る
- ひと言掲示板を作る(2) メッセージの入力フォームを作る
- ひと言掲示板を作る(3) メッセージのデータを受け取る
- ひと言掲示板を作る(4) ファイルにデータを保存する
- ひと言掲示板を作る(5) ファイルからデータを読み込む
- ひと言掲示板を作る(6) 投稿完了メッセージを表示する
- ひと言掲示板を作る(7) 投稿の未入力バリデーションをつける
- ひと言掲示板を作る(8) 投稿されたデータをサニタイズする
- ひと言掲示板を作る(9) 投稿データの保存にデータベースを使う
- ひと言掲示板を作る(10) 掲示板のデータベースとテーブルを作成する
- ひと言掲示板を作る(11) 投稿データをデータベースに登録する
- ひと言掲示板を作る(12) データベースからデータを取得する
- ひと言掲示板を作る(13) コードを整理する
- ひと言掲示板を作る(14) セッションで表示名の入力を省略する
- ひと言掲示板を作る(15) 管理ページを作成する
- ひと言掲示板を作る(16) ログインページを作る
- ひと言掲示板を作る(17) 投稿データをCSV形式でダウンロードする
- ひと言掲示板を作る(18) 投稿データをダウンロードする件数を指定する
- ひと言掲示板を作る(19) 投稿メッセージの編集ページを作る
- ひと言掲示板を作る(20) メッセージを編集する機能を実装する
- ひと言掲示板を作る(21) 投稿メッセージの削除ページを作る
- ひと言掲示板を作る(22) 管理ページにログアウトを実装する
- ひと言掲示板を作る(23) リロードによる多重投稿を防止する
- ひと言掲示板を作る(24) 投稿に文字数制限を設定する