続:掲示板を作ろう その5

今回はログイン機能をつけていきます。
ログイン機能は全体の流れ的に、一番始めに持ってきた方がよかった気も・・・

流れ
ログイン 表示させるもの チェック、機能 すること
している フォーム(comment) フォームバリデーション コメント投稿
リンク(logout) /board/logout へ ログアウト
していない フォーム(login) フォームバリデーション セッション付与
ユーザIDとパスワードの
dbとの照合
ログインしている時
  • ログアウトのリンクを追加
  • コメントフォームの名前とメールアドレス欄を消去

それ以外は今までとあまり変わらず。

ログインしていない時
  • ログインフォームを追加
  • ログインフォームのためのフォームバリデーション
  • フォームバリデーションがTRUEの時
    入力されたユーザーとパスワードを、DBと照合
  • セッション

こちらは大幅にいじくりまわし。もう元がないくらい。

ログイン管理の為にDBも変更。

  • users
+----------+--------------+------+-----+---------+----------------+
| Field    | Type         | Null | Key | Default | Extra          |
+----------+--------------+------+-----+---------+----------------+
| id       | int(11)      | NO   | PRI | NULL    | auto_increment |
| name     | varchar(255) | NO   |     | NULL    |                |
| email    | varchar(255) | NO   |     | NULL    |                |
| password | varchar(40)  | NO   |     | NULL    |                |
| user_id  | varchar(255) | NO   |     | NULL    |                |
+----------+--------------+------+-----+---------+----------------+
  • comments
+----------+--------------+------+-----+---------+----------------+
| Field    | Type         | Null | Key | Default | Extra          |
+----------+--------------+------+-----+---------+----------------+
| id       | int(11)      | NO   | PRI | NULL    | auto_increment |
| postdate | datetime     | YES  |     | NULL    |                |
| comment  | varchar(400) | NO   |     | NULL    |                |
| user_id  | int(11)      | NO   |     | NULL    |                |
+----------+--------------+------+-----+---------+----------------+

users テーブルの user_id と password でログイン認証する形


セッション周りは、いじったところが多いので
何回かに分けて書いてこうとおもいまっす。