始めに
このページは、PHPのフレームワーク「FuelPHP」の学習中の僕がメモとして残しているものです。内容に間違いがあればご連絡いただけると幸いです。
FuelPHPでログイン・ログイン機能を実装するには標準で同梱されている「Authパッケージ」を使うと、簡単に作れます。
この記事では、Authパッケージを使うために必要な設定や使い方を解説しています。
Authパッケージを使うための準備
Authパッケージを使うには、「fuel/app/config」の中にある「config.php」に以下のように修正します。
'packages' => array(
'orm',
'auth', //追加
'email',
),
ログイン処理の書き方
FuelPHPのAuthパッケージを使って、ログイン機能を実装するには、次のように書きます。
$auth = Auth::instance();
if($auth->login(' $_POST['username']', $_POST['password'])){
//成功時の処理
}else{
//失敗時の処理
}
上記の場合、「ユーザー名」と「パスワード」で認証をかけてログインしますが、「ユーザー名」を「メールアドレス」に変更することもできます。
尚、ログインに成功すると、ユーザ名とログインハッシュがセッションに保存されます。
ログイン処理のコードサンプル
コントローラー側の処理を一部抜粋しました。
if(Input::method() == 'POST') {
$val = Validation::forge();
$val->add('email', 'メールアドレス')
->add_rule('required')
->add_rule('valid_email');
$val->add('password', 'パスワード')
->add_rule('required');
if($val->run()){
$data = $val->validated();
$auth = Auth::instance();
if($auth->login($data['email'], $data['password'])){
//ログイン成功時の処理
Response::redirect('mypage/index');
}else{
//ログイン失敗時の処理
}
}else{
// バリデーションチェックエラー
}
}
全体の流れとしては、
- ViewからPOST送信されているかチェック
- バリデーションチェック
- ログイン処理
となっています。
フレームワークを使わずにスクラッチで書く場合は、データベースにユーザー名、パスワードの登録があるかチェックしあればログインするといったような処理を書かなければいけませんが、FuelPHPの場合はそれらを自動でやってくれるので、手間が省けます。
ログアウト処理の書き方
続いてAuthパッケージを使って、ログアウト機能を実装するには、次のように書きます。
$auth = Auth::instance();
$auth = logout();
View側のログイン・ログアウトボタン(Form)の作り方は以下の記事を参考にしてください。
【FuelPHPの使い方】ViewでFormタグを生成する方法
FuelPHPのオススメ書籍
created by Rinker
¥1,597
(2024/11/21 16:45:51時点 Amazon調べ-詳細)
(2024/11/21 16:45:51時点 Amazon調べ-詳細)