cake phpを勉強 ユーザー認証編1
とりあえず、前回のブログチュートリアルで、
全体の内容がわかってきたので、
次にCakePHPの付録Bの簡易ユーザー認証を勉強。
まずはテーブル 'users'を作成
をhetemlのphpMyadminより実行。
次にモデルの作成。
このあたりまでは、簡単です。
次に、VIEWの作成。
/app/views/users/login.thtmlに
を記述。
次からが少し勉強しないといけない。
ここで、覚えておくのは、
全体の内容がわかってきたので、
次にCakePHPの付録Bの簡易ユーザー認証を勉強。
まずはテーブル 'users'を作成
CREATE TABLE `users` (
`id` int(11) NOT NULL auto_increment,
`username` varchar(255) NOT NULL,
`password` varchar(32) NOT NULL,
`first_name` varchar(255) NOT NULL,
`last_name` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
)
をhetemlのphpMyadminより実行。
次にモデルの作成。
<?php
class User extends AppModel
{
var $name = 'User';
}
?>
このあたりまでは、簡単です。
次に、VIEWの作成。
/app/views/users/login.thtmlに
を記述。
次からが少し勉強しないといけない。
<?php
class UsersController extends AppController
{
function login()
{
$this->set('error', false);//データが送信されていないときはエラー表示なし
if (!empty($this->data))//送信されたデータが空でなかったら
{
//findByフィールド名(検索したい任意のデータ)で一件データを取り出す
//マッチするデータがある場合はユーザーデータがはいり、
//ない場合は、空。
$someone = $this->User->findByUsername($this->data['User']['username']);
//パスワードが空でなく、
// DB上のユーザーデータのパスワードと送信されたパスワードが同一の場合
if(!empty($someone['User']['password']) && $someone['User']['password'] ==
$this->data['User']['password'])
{
//セッションの作成
$this->Session->write('User', $someone['User']);
//セッション作成後、別ページへリダイレクト
$this->redirect('/clients');
}
// パスワードが合致しなかった場合の処理
else
{
//エラーをtrueに設定
$this->set('error', true);
}
}
}
//ログアウト時の処理
function logout()
{
//セッション情報の削除
$this->Session->delete('User');
//別ページへリダイレクト
$this->redirect('/');
}
}
?>
ここで、覚えておくのは、
findByフィールド名(値);
で指定したフィールドから値にマッチしたデータをひとつ取り出します。 モデルの関数>データをとり出すの章を覚えておこう。
$this->Session->write(hoge1,hoge2);
でセッションを保存
$this->Session->delete(hoge1);
でセッションを削除
date:2008年06月01日 03:53 | COMMENT (0) | TRACKBACK (0)
