FC2ブログ

PHP 掲示板で投稿件数の表示

PHP 掲示板で投稿件数の表示

#07 投稿件数を表示する
http://dotinstall.com/lessons/bbs_php/1007
を参考に
投稿件数の表示

これは $posts の配列の数を echo で表示する
配列の数を数えるのは
count()
を使えば、簡単にできるので

今回は、配列は$posts に入っているので
count($posts)
で調べることができる

<h2>投稿一覧</h2>

<h2>投稿一覧 (<?php echo count($posts); ?>)件</h2>
とすれば、今の投稿件数が表示されるようになる


次に、
#08 ユーザー名も投稿させる
http://dotinstall.com/lessons/bbs_php/1008
を参考に
投稿した人の名前も表示できるようにする

まずは、form の部分を書き換える

<input type="text" name="message">

message: <input type="text" name="message">
name <input type ="text" name="user">
とする

これにより、POSTで受けとるのが
message
user
となったのでPHP部分の修正が必要になる

投稿時の判定はそのままでいいので
名前の有無で、処理をわけるようにする

if(!empty($_POST['user'])){
$newData =$_POST['message']."|ななしさん";
}else{
$newData = $_POST['message']."|".$_POST['user'];
}

こうすることで、投稿した内容である message の後ろに
投稿者の名前が表示されるようになる

もし、名前なしなら
ななしさん
というようになる

PHP では . で文字列を連結できる
java script とかだと + で連結する

$newData は、連結した文字列の格納するための変数

また、追加する内容も増えているので
array_unshift($posts, $_POST['message']);
の部分を
array_unshift($posts, $newData);
というようにする

$newData という変数にしたことで、ここで書くのが
楽になっている

表示するときに
$post の中には
message
user と2つになっているので処理が必要になる

このときに使うのが
list()
explode()

list() については
http://www.scollabo.com/banban/php/ref/ref_list.html
にあるように
引数に設定した変数を配列として渡す

explode()は
http://php.quus.net/strings/explode.php
にあるように
文字列を分割して配列にして返す

explode()の構文は
explode ("区切り文字", "分割する文字列", "要素数(リミット)");

<?php list($message, $user) = explode("|", $post); ?>

とするので
explode("|", $post);

$post の中の文字で | となっているところで分割する
と言う意味

表示する内容が
$message
$user
となったので

<li><?php echo htmlspecialchars($post); ?></li>

<li><?php echo htmlspecialchars($message); ?> (<?php echo htmlspecialchars($user); ?>)</li>
とする
スポンサーサイト



テーマ : プログラミング
ジャンル : コンピュータ

コメント

非公開コメント

最新記事
検索フォーム
GREEハコニワ攻略サイト
リンク
カテゴリ
月別アーカイブ
フリーエリア
最新記事
FXプライムレート
最新コメント
最新トラックバック