2016-09-05 16 views
0

私はLaravel 5.2で電子メール認証を作成しました。ユーザーが登録フォームに記入し、有効性を確認すると、ユーザーはログインフォームに戻ります。Laravel redirect() - > with( 'status'、 'My message')エラー

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

これは完璧に機能します。問題は、ユーザーが自分の受信トレイでリンク確認をクリックしたときに、アカウントを有効にして管理ページにリダイレクトし、ステータスメッセージを表示しない場合です。ここでAuthController.phpでそのためのコードは次のとおりです。

私login.blade.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); 
} 

@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文にはsingle =サインがあります。 – boroboris

+0

@RuhulAmin私のコードをもう一度チェックして編集しました。ありがとう。 – Francisco

答えて

0

Okey私はここで何が起こりませんし、なぜredirect() - > with()が機能していないのですか?私はlogin.bladeのコピーをactivated.bladeという新しいビューで実行しましたが、「あなたのアカウントは現在アクティブになっています。ログインしてください」というメッセージが表示されました。だからコントローラでこれを行う:

リターンリダイレクト( '/ 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