ログインフォーム(練習問題)ができました!
こんにちは。しゅーのーです。
今日も参考書『PHP入門講座』を使ってphpでのプログラミングの勉強をしていました。
ログインフォームができた!
今日はコンタクトフォームを応用した「ログインフォーム」を作るという練習問題にチャレンジしていました。
ページの移動はせずに、ユーザー名、パスワードを入力したときにメッセージを返すことになります。
まずは体裁を整える
phpでのプログラミングの前に、ユーザーに入力してもらう部分を作る必要があります。
これはHTMLでの記述になります。
まだHTMLも完全に理解しているわけではないのですが、<form>タグで囲った中で<input>のtypeをいじってテキストボックスにしたり、methodをpostにしたりして準備をします。
この辺はコンタクトフォームのものを流用して作ってしまいました。
ユーザー名、パスワードを変数で設定
この部分からphpでのプログラミングに入ります。
課題としては「$_SESSION['login']をTRUEにせよ」というものでした。
最初は「何言ってんだおめぇ」って感じで見てたんですが、考えてるうちに色々だんだん分かってきました。
とりあえず$userと$passwordという変数に何かしら入れておいて、ユーザーがpostしてきたものが一致したら「$_SESSION['login'] = TRUE」っていうことを書いてあげればいいわけです。
入力チェックも忘れずに
今回もこれまでの基礎学習と同様に、入力のチェックをしていきます。
テキストボックスに割り振ったname属性がpostされるので、$_POST変数をisset()関数で使ってチェックします。
入力されていれば、あとはif構文を使って$_POST変数とあらかじめ設定したユーザーとパスワードが一致しているかを調べて、一致していれば$_SESSION['login']をTRUEにします。
模範解答はかなりすっきり
こんな感じでウンウン考えながら、なんとか動作するプログラムが書けました。
その後に模範解答を見たら、すごくすっきりしたコードで書かれていたので驚きました。
自分で書いたコードでも動作しますが、当然のごとく模範解答のほうがいいコードだったので、自分で書いたものを少し改良してみたりして、理解を深めました。
「確かにこうしたほうがいいな」と思う部分もあったりしたので、それも盛り込みながらのコーディングになりました。
達成感
今回の練習問題は、解けたということもあってか、とてもすっきりした達成感がありました。
今使っている参考書は、ひとまずこれで終わりにします。
次は下のものを使ってphpとSQLの連携を勉強をしていこうと思います。
SQLだけやっているとphpを忘れそうなので、phpにも少し時間を割きながらSQLメインで勉強していきます。
明日は通読するだけになりそうな気もします。
今日はここまで。ではー。