2017-02-07 26 views
1

На основании условия в функции jsonresponse() из JobController, я хочу выйти из системы и отправить их на страницу входа со флэш-сообщением Неверный пользователь.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> 

что вопрос здесь, когда я Гото Войти страницу и ввести недопустимые учетные данные, то покажите мне моментальное сообщение. Но что в этом случае проблема ...! Любая помощь очень ценится. Благодарю.

+0

вы можете показать нам результат 'debug ($ _ SESSION)' на вашем 'view' –

+0

Показывается ничего ..! – Aamir

+0

Но перед перенаправлением, если я отлаживаю ($ _ SESSION) в контроллере, он отображает данные сообщений в контроллере – 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); 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^