掲示板の作り方#19(最終回) やり残したことの回収とごあいさつ
こんにちは。Suipediaです(∩´∀`)∩。
PHPプログラミングによる掲示板システムの作り方講座は今回で19回目を迎えました。長かったでしょうか。短かったでしょうか。
私は長かったです(笑)2月中に終わらせる予定でしたが、2月はというと配布用のアイコンさえも用意できておりませんでした。
世の中の動きで言いますとコロナウイルスの脅威がだんだんと迫ってきておりまして、日本人たちの意識も少しずつ変化していった、そんなここ数カ月でした。
さて、関係ない話はこの辺にして、今回はいよいよ最終回です。
実はいくつかやり残したことやまだ説明ができていないところがあるので、それを解消して最後にご挨拶、という流れで終局へ向かいたいと思います。
それでは、今回もよろしくお願いします。
メッセージテーブルのパスワード列削除
実は以前#6のときに
メッセージテーブルにパスワード項目はいらないかも・・・
とお伝えしました。用意しちゃったけど。
で、実際ここまで進めてきて正確に判明したのですが、要りませんでした。
というわけでメッセージテーブルのパスワード列を削除しましょう。
「列」は英語でcolumn(カラム)と言い、この場合ITの現場では
カラムを削除しましょう。
で通じます。ではphpMyAdminを開いていただきまして、いつものようにSQLタブにアクセスしてください。
そこで、こんなクエリを流しましょう。
ALTER TABLE bbs_message DROP pass;
これで実行ボタンを押すと・・・
こんなポップアップが出てきます。影響範囲が大きい等、なにか重要なクエリを流すときはこのポップアップが出てきます。
OKを押しましょう。
これでメッセージテーブルを見てみると・・・
はい、「pass」という列がなくなっていますね。OKです。
本来ならこの後動作確認をするのですが、今回は省略します。私の方でやっていますので、ここまで同じように実装いただけていれば問題ないはずです。
ちなみに、このように何か修正したことで従来の動作に影響がないかを確認することを回帰(かいき)テストやリグレッションテストと言います。
では次ぃ!
アクセスページ番号不正時のエラーメッセージ出力
前回と前々回でページ番号関連の実装をしていただきましたが、試しに今、
こんなURLにアクセスしてみてください。
こんな表示になります。ページ番号がメチャクチャですよね。
49999996~50000000/53スレッド中
ってなってますから(゚Д゚;)。
これを改修しましょう。
partsフォルダのpagingMessage.phpファイルを開いてください。
今、
ここの処理で現在アクセス中のページ番号を取得しています。さっきの例で言うとここに10000000とかでたらめな数字が入るわけです。
この後にひとつロジックを足してあげましょう。以下のソースを追加します。
if($currentPageNumber > $maxPageNumber){
$currentPageNumber = 1;
}
アクセスされたページが表示可能な最大ページ数より大きかったら、という条件でif文の評価式を組みます。
で、この中でデタラメなページ番号を強制的に書き換えてあげて次の処理に進むんですね。強制的に1ページ目を表示するようにします。
ここの処理はちょっと迷ったんですが、これでいきます。
迷った、というのは今、URLは10000000ページ目を示してるのに実際の表示は1ページ目という少しちぐはぐな状態なんですよね。こういうのはシステムとして美しくないです。
ま、良しとしましょう(;´∀`)。
次ぃ!
テキストエリアを可変にする
この掲示板システムにはテキストエリアが2か所出てきます。
もうご存知、スレッド作成とレスポンス投稿それぞれの入力フォームのメッセージ欄ですね。
これと
これね。
仮に、ここに長文を打ち込むとしましょう。すると・・・
こんな風にスクロールになるんですね。これ、ユーザの気持ちになって打ち込んでみると分かりますが、すっごく使いにくいです。
ブラウザの標準装備である、手動で入力枠を伸ばすという技も使えます。
赤枠の辺りをマウスで掴んでびよーーんとできます。
これでもいいけど、不便ですよね。
今からこれを改修します!
この記事が気に入ったらサポートをしてみませんか?