2016-07-20 40 views
0

小時浪費在這樣一個(我認爲)小事情,我需要你的幫助。如何會話::在默認AuthController在Laravel閃光

我使用php artisan make:auth命令對Laravel進行了快速入門。然後我重新定義了login方法AuthController。現在,它看起來像這樣:

protected function login(Request $request) { 
    if (Auth::attempt(["name" => $request->username, "password" => $request->password])) { 
     return Redirect::route("home")->with("message", "Zalogowano"); 
    } else { 
     return Redirect::route("get.login")->with("message", "Nie zalogowano"); 
    } 
} 

在我看來,我有{{ Session::get("message") or "" }}

和我的消息沒有顯示出來。

我也試過Session::flash("message", "message string"),效果一樣。

任何想法我能做些什麼來顯示後(未)成功登錄消息?

PS。應該提到登錄和登出工作很好。

+0

您使用的是什麼版本的Laravel? –

+0

這是Laravel 5.2 – Maad

+0

你可以嘗試'{{session('message')}}' –

回答

0

'web'中間件組(包括認證路由)中定義的路線? 'web'中間件組處理啓動會話。更具體地說,中間件\Illuminate\Session\Middleware\StartSession::class處理開始會話。沒有會話,沒有消息。你的路線應包路由組中,像這樣:

Route::group(['middleware' => 'web'], function() { 
    // Define routes here 
}); 

看看在app\Http\Kernel.php看到什麼中間件類都包含這個中間件組,潛入他們進來。

+0

好吧,你幾乎是正確的。問題出在我的路線上,但事實是,你不能在網絡中間件中聲明它們,因爲默認情況下路由設置在它中。我的錯誤是宣佈路線兩次。 'php artisan route:list'很有幫助。感謝您的領導! – Maad

+0

啊!我之前犯過這個錯誤。很高興我能幫上忙。 – Taylor

0

嘗試使用模板中的{{$ message}}。當您使用 - > with(「varnamehere」,「value」)在重定向結束時刷新數據時,只需使用$ varnamehere訪問模板中的變量即可。

該變量只是存在,準備在您的模板中使用。

手冊中似乎沒有明確解釋這一點。

0

在您的視圖模板嘗試:

@if(?會話() - >有( '信息')會議() - >獲得( '信息'): 「」)@endif

如果設置將打印的短信..

希望它可以幫助..