ログインフォームの作成

ログインフォームを作って、その受け取りをPHPで確認した。

Signed-off-by: Takanori Onuma <s1000607@sendai-nct.jp>
smartyの使用

smartyを使用してlogin.htmlを表示するようにした。

Signed-off-by: Takanori Onuma <s1000607@sendai-nct.jp>
ログイン認証のチェック

ログイン認証のチェックを行った。
今の段階ではSHA1を使わずに認証している。

Signed-off-by: Takanori Onuma <s1000607@sendai-nct.jp>
エラー時にフォームデータを残すようにした。

会員登録と同じように、エラーで同じページに戻ってきたときに
フォームのデータを残すようにした。

Signed-off-by: Takanori Onuma <s1000607@sendai-nct.jp>
データベースとの接続を終了するコードを書いた

これを書くのをうっかり忘れていたため書いた。
正直デストラクタのようなものが起動して勝手に破棄してくれるとは思うけど、念のため。

Signed-off-by: Takanori Onuma <s1000607@sendai-nct.jp>
SHA1を通してパスワードを確認

送信してきたパスワードをSHA1で暗号化して、
それと比較するようにした。

Signed-off-by: Takanori Onuma <s1000607@sendai-nct.jp>
データベースアクセスクラスの作成

データベースアクセスクラスを用意して、そのクラスを読み込んで使うようにした。
これにより、IPなどの変更もそのクラスだけで済み、またIDやPWを使うたびに平文で書いてしまうことを防ぐ。
このファイルは外部からアクセスできないフォルダに入れてPHPからのみ読み込めるようにするつもり。

Signed-off-by: Takanori Onuma <s1000607@sendai-nct.jp>
IDやPWなどをprivateにした。

定数を使ってPDOを生成するつもりだったが、myDataBaseでPDOの生成まで行うため、
定数をpublicにする必要はなかった。そのため、定数をprivateに変えた。
（言い方に多少語弊があるが、実際はprivateにすると定数という扱いが出来なくなる。
しかしクラス内で変数をいじらなければ実質定数なのでそのような言い方になっている。）

Signed-off-by: Takanori Onuma <s1000607@sendai-nct.jp>
セッションによるログインの実装

やはりセッションによるログインそのものは簡単に実装できた。
しかし、セッションの有効期限がデフォルトで24分で、
セッションIDを保存するクッキーの有効期限がデフォルトでブラウザを閉じるまでとなっていて、
1週間自動ログインを可能にするには2つともいじらないといけない。
これが果たして妥当なのか、結構不安なところ。

Signed-off-by: Takanori Onuma <s1000607@sendai-nct.jp>
会員情報の出力

データベースから会員情報を貰ってきて、それを出力した。

Signed-off-by: Takanori Onuma <s1000607@sendai-nct.jp>
ログアウトの実装

セッション変数を破棄することによってログアウトの実装をした。

Signed-off-by: Takanori Onuma <s1000607@sendai-nct.jp>
また間違ってファストフォワードをしてしまった・・・・・。

Signed-off-by: Takanori Onuma <s1000607@sendai-nct.jp>
成功ページを共用化

ログイン成功、ログアウト成功、会員登録成功、など、成功したページを全てcomplete.htmlで
表示できるようにsmartyを上手く使って修正した。

Signed-off-by: Takanori Onuma <s1000607@sendai-nct.jp>
smartyのdefault機能の使用

defaultを使うことによって、わざわざ空文字をassignしなくてもいいようになった。

Signed-off-by: Takanori Onuma <s1000607@sendai-nct.jp>
smartyの活用

未定義の時の処理と定義したときの処理に分けたことによって、
空文字をわざわざassignしなくて済むようになった。

Signed-off-by: Takanori Onuma <s1000607@sendai-nct.jp>
会員情報の表示でIDも表示するようにした。

忘れてた・・・・・。
むしろ会員番号はあんまり表示したくない（自動ログインで使っているため）。
それはどうしようか。