ログイン画面に飽きたから設定変更画面を作った(CakePHP修行 #24)
July 15, 2007 9:37 PM written by Gen Taguchi
さて、ログイン画面の改修を続けようと思いましたが、いろいろ煮詰まったので設定変更画面を作りましたw。
以下、作業手順。
■ /controllers/users_controller.phpにedit()を追加
URL的には/users/editで呼び出したいのでedit()を追加します。
function edit()
{
// あとで書く。
}
■ Viewを作る
次に/views/users/edit.thtmlを作ります。

↑ こんな感じ。
■ ロジックを書く
まー、次のような感じでしょうか。CakePHPのチュートリアルを見ながら適当に作ったら出来た。ビバPHP!w
ちょっと気をつけるべきところはパスワードの処理でしょうかね。パスワードに値が入っていたときだけ保存するようにしています。
function edit ()
{
$this->pageTitle = 'Edit My Profile';
$this->checkSession();
$this->set('me', $this->User->findById($this->Session->read('my_id')));
$this->User->id = $this->Session->read('my_id');
if (empty($this->data))
{
$this->data = $this->User->read();
}
else
{
$this->data['User']['pwd'] = isset($this->data['User']['pwd']) ? sha1(PWD_KEY.$this->data['User']['pwd']) : $this->User->read('pwd');
if ($this->User->save($this->data['User']))
{
$this->Session->write('sys_msg', 'Your profile has been updated.');
$this->redirect('/users/home/');
}
}
}
■ テストする
テストもすんなりOK。メールが入っていないときはエラーがでるようにもしてみました。ちなみに現段階ではプロフィール画像のアップ機能は省略してあります。それについては大変そうなんでまた後日。
※ CakePHP修業は百式管理人がSNSっぽいものをCakePHPで作ろうとして挫折するまでの日記です。前回までのあらすじはこちらへ。
Info: CakePHP修行! |
固定リンク |
コメント (0) |
トラックバック (0) |
↑


