私は 'if'構造で悩んでいます。アイデアは、ユーザーがロールに応じてログインするときに、別のURLにリダイレクトされ、役割(学生)はフォームがいっぱいになると複雑になります別の場所にリダイレクトされます。だから、まとめるためのログイン機能はこれです:セッションを使用してリダイレクト作業を行う
function login() {
if ($this->Session->read('Auth.User')) {
if($this->Session->read('Auth.User.group_id') == '1')
$this->redirect(array('controller'=>'specializations', 'action' => 'index'));
else if ($this->Session->read('Auth.User.group_id') == '2')
$this->redirect(array('controller'=>'specializations', 'action' => 'index'));
else if ($this->Session->read('Auth.User.group_id') == '3')
if ($this->Session->read('Auth.Student.form_activated') == '1')
$this->redirect(array('controller'=>'students', 'action' => 'view',$this->Session->read('Auth.Student.id')));
else
$this->redirect(array('controller'=>'students', 'action' => 'add'));
$this->Session->setFlash('You are logged in!');
$this->redirect('/', null, false);
}
生徒が「form_activated」属性としていないか、フォームを満たしている場合、私はチェックしています。私はこれが良いアプローチであるかどうかわかりませんが、それは私が想像する唯一のものです。
だから今、私は学生としてログイン毎回が、それは「追加」ページにリダイレクトし、私はDebugKitで見つけたものを推測...
認証
リダイレクト/学生/ビュー/ 1
- ユーザー
O ID3
O group_id3
それは、ビューのページにリダイレクトする必要があります...しかし、それはない...
の$ this - を読んでいないようです> Session-> read( 'Auth.Student.id')、私はあなたがAuth.Userでのみこれを使うことができると思います。誰でも、SessionHelperを使って生徒のパラメータを読む方法を知っていますか?クエリを使用する必要がありますか?
ヒント
ありがとうございます。
Alf。
本当にありがとうございます。これはcakePHPとPHPの私の最初のプロジェクトです。そして今、私はセッションがこのフレームワークでどのように動作するかを理解しています。 – alfizqu
私はMySQLを使用しています、私はクエリを使用し、それは働いた。しかし、私はあなたが何を意味しているのか分かりませんし、セッションに情報を保存しています。セッションに関する学生の情報を入力することはできますか? – alfizqu
嬉しいです。はい、私の更新された答えを見てください。 – deizel