2016-11-23 2 views
0

登録後にユーザーにウェルカムメッセージを送信しています。私も代わりSession::set('message','messages.welcome');$request->session()->put('message','messages.welcome');を試してみましたLaravel 5.3 - ユーザーがログアウトするまでセッションメッセージを保持する方法

public function register(Request $request) 
    { 
     $this->validator($request->all())->validate(); 

     event(new Registered($user = $this->create($request->all()))); 

     $this->guard()->login($user); 

     Session::set('message','messages.welcome'); 

     return redirect($this->redirectPath())->with('message', 'messages.welcome'); 
    } 

が、それは私も同じ結果を与えた:私はそうのように私のコントローラで形質方法を変更しました。

そして、私はこのような観点でのメッセージ表示しています:

@if (session('message')) 
    @include(session('message')) 
@endif 

をしかし、私はビューを更新すると、メッセージが消え、ユーザがログアウトするまで、どのように私は、メッセージを保つことができますか?

答えて

0

は、使用してみてください:

$request->session()->put('message','messages.welcome'); 

ドキュメントはセッションのみに対処するためのヘルパー関数や$requestの使用をお勧めします:https://laravel.com/docs/5.3/session#storing-data

+0

これをもう一度試してもうまくいかない場合は、ページを更新するとメッセージが消えます。 – Marco

+0

Laravelは多くの人に問題を引き起こしているように思われる 'sessions'を乱用し続けています。このリンクは参考になるかもしれません:http://laravel.io/forum/09-07-2016-session-not-saving-laravel -53 –

0

まず書き込みuse文

use Illuminate\Support\Facades\Session; 

、その後のようなあなたの方法を変更します:

public function register(Request $request) 
    { 
     $this->validator($request->all())->validate(); 

     event(new Registered($user = $this->create($request->all()))); 

     $this->guard()->login($user); 

     #$request->session()->put('message', 'messages.welcome'); #this will also work 

     Session::put('message', 'messages.welcome'); 

     return redirect($this->redirectPath()); 
    } 

関連する問題