2016-03-26 13 views
0

私はuserに対して簡単な認証を持っていますが、UserControllerではpostLogin()というfuctionがあります。私はそれはそれはダンプ「/デスク」はURLに行くとき、私はユーザーがログアウトするまでlaravelセッション変数を保持する

<?php 
$class = Session::get('stream'); 
var_dump($class); 
?> 

初めてで、それを取得しています「someDataが」変数とsuccessfulltにログインすることができています上記のコードで

public function postLogin() 
{ 
if(Auth::user()->attempt($credentials)) 
    { 
    return Redirect::intended('desk')->with('stream',"SomeData");; 
    } 
} 

値は完全に "SomeData"ですが、一度ページをリフレッシュするとセッションがリセットされ、値はnullに変わります。

この値は、ユーザーがログアウトするまで保持します。 laravelの公式documentationから

+0

をそれが示しセッションまで、これらの値は全く破壊されていない必要があります。 – Drudge

+0

コードに応じてセッションの値を正しく保存していませんか? –

+0

セッションで 'stream'の値を設定していますか?私はあなたのコードで見ることができません。あなたのコントローラのセッション 'Session :: set( 'stream'、 'somedata');でデータを設定する。 – Drudge

答えて

0

フラッシュデータ

時にはあなただけの次の の要求のためのセッションで項目を保存したいことがあります。あなたはフラッシュメソッドを使用してそうすることができます。このメソッドを使用して セッションに保存されたデータは、その後の HTTPリクエストでのみ利用可能になり、削除されます。フラッシュデータは短命のステータスメッセージの 主に有用です:

$request->session()->flash('status', 'Task was successful!'); 

あなたも、より多くの要求のために周りのあなたのフラッシュのデータを保持する必要がある場合、あなた はすべて維持されますreflash方法を使用することができます追加のリクエストでフラッシュデータ の周りにあなただけの周りの特定の フラッシュデータを保持する必要がある場合、あなたはkeepメソッドを使用する:あなたはセッション中に値を保持している場合は

$request->session()->reflash(); 

$request->session()->keep(['username', 'email']); 
+0

リダイレクトでSession :: put( "key"、 "value")のようなものはありますか?ログイン後、私は "SomeData"を取得していますが、ページを更新すると消えてしまいます。 –

+0

あなたは私の答えを試しましたか? – Drudge

+0

はいリダイレクトと一緒に試しましたが、クラスセッションはリダイレクトで使用できません。 –

関連する問題