2017-02-07 28 views
1

JobsControllerのjsonresponse()関数の条件に基づいて、ユーザーをログアウトしてログインページにフラッシュメッセージで送信します。無効なユーザーです。CakePHP 2.6のフラッシュメッセージが表示されない

jsonresponse($データ)

if($data['status'] == '0'){ 
    $this->Session->setFlash(__(INVALID_USERS_CREDENTIALS),'default', array('class' => 'error-flash-msg')); 
     return $this->redirect($this->Auth->logout()); 
} 

今では、ログインページにリダイレクトされますが、フラッシュメッセージは表示されません。

Loginlayout

<div style="padding-left:12%"> 
     <?php echo $this->Session->flash(); ?> 
    </div> 

    <div class="loginbox"> 
     <?php echo $this->fetch('content');?> 
    </div> 
</body> 

I後藤ログインページや無効な資格情報を入力し、それは私にフラッシュメッセージを表示したときに、ここでの問題は何です。しかし、上記のケースでは何が問題なのですか...! 何か助けていただければ幸いです。ありがとう。

+0

あなたは私たち表示することができますあなたの 'view'の' debug($ _ SESSION) 'の結果 –

+0

何も表示されていません..! – Aamir

+0

しかし、リダイレクトする前に、もし私がコントローラでデバッグ($ _セッション)していれば、コントローラ内にメッセージデータを表示しています – Aamir

答えて

1

logout()は、セッション内容

if($data['status'] == '0'){ 
    $this->Auth->logout() 
    $this->Session->setFlash(__(INVALID_USERS_CREDENTIALS),'default', array('class' => 'error-flash-msg')); 
    return $this->redirect($this->Auth->redirectUrl()); 
} 

それとも、あなたはそれをやったとしてリダイレクトURLを保つためにを破壊するので、あなたはセッションフラッシュメッセージを設定する前にログアウトする必要があります。

if($data['status'] == '0'){ 
    $redirectUrl = $this->Auth->logout() 
    $this->Session->setFlash(__(INVALID_USERS_CREDENTIALS),'default', array('class' => 'error-flash-msg')); 
    return $this->redirect($redirectUrl); 
} 
関連する問題