2016-09-05 2 views
0

Я создал проверку по электронной почте на Laravel 5.2. Когда пользователь заполняет регистрационную форму и подтверждается, они возвращают пользователя в форму для входа:Laravel redirect() -> с ('status', 'My message') error

return redirect('/login')->with('status','We send a email verification, please 
confirm.'); 

И это работает отлично. Проблема заключается в том, что пользователь нажимает на проверку ссылок в своем почтовом ящике, они активируют учетную запись и перенаправляют на страницу администратора, но без сообщения о состоянии. Вот код, который в AuthController.php:

public function activateUser(Request $request,$token) 
{ 
    if ($user = $this->activationService->activateUser($token)) { 
     return redirect('/login')->with('status','You account is now activated. Please login.'); 
    } 
    abort(404); 
} 

На моем login.blade.php:

@if (session('status')) 
    <div class="alert alert-success"> 
     {{ session('status') }} 
    </div> 
@endif 

Пожалуйста, кто-нибудь знает, почему переменная сессии не работает?

Спасибо.

+0

Можете ли вы показать код, где вы хотите, чтобы показать сообщение? –

+0

попробуйте изменить if ($ user = $ this-> activationService-> activateUser ($ token)) на if ($ user == $ this-> activationService-> activateUser ($ token)). У вас есть сингл = знак в инструкции if. – boroboris

+0

@RuhulAmin Я снова отредактировал мой код. Благодарю. – Francisco

ответ

0

Okey Я не знаю, что здесь произошло и почему redirect() -> with() не работает. Я решил сделать новое представление под названием activ.blade копию login.blade, но с сообщением: «Учетная запись теперь активирована. Пожалуйста, войдите». поэтому я делаю это в контроллере:

return redirect ('/ activated');

0

он должен работать следующим образом. в вашем AuthController, просто изменить

return \Redirect::to('/login')->with('status','You account is now activated. Please login.'); 

и в вашем login.blade

@if (Session::has('status')) 
     <div class="alert alert-success" role="alert"> 
      <p>{{ Session::get('status') }}</p> 
     </div> 
@endif 
+0

Это не сработало. Благодарю. – Francisco