(前回の続き)
本登録機能の実装
仮登録メールに記されているリンクをユーザがクリックしたら本登録を実行する。
1 |
http://サイト/users/activate/ユーザID/ハッシュ |
まずはビューを実装。
1 2 3 4 5 6 7 |
<?php /*app/View/Users/activate.ctp*/ ?> <h2>本登録</h2> <?php echo $this->Session->flash(); echo $this->Html->link('ログイン画面へ', '/users/login'); ?> |
そしてアクションを実装。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
// app/Controller/UsersController.php ... class UsersController extends AppController { .... // 本登録 public function activate($user_id = null, $in_hash = null) { $this->User->id = $user_id; if ($this->User->exists() && $in_hash == $this->User->getActivationHash()) { $this->User->saveField('active', 1); $this->Session->setFlash('本登録が完了しました。'); } else { $this->Session->setFlash('不正なリンク'); } } .... } |
これでユーザ登録の仕組みは完成。次はログイン・ログアウトを実装する。
(次回へ続く)
全ソース (GitHub)
https://github.com/84kure/cakephp2-sample-auth