続:掲示板を作ろう その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 でログイン認証する形
セッション周りは、いじったところが多いので
何回かに分けて書いてこうとおもいまっす。