2014-04-09 57 views
1

我試圖在成功登錄後顯示一些Flash消息。有人能幫我理解爲什麼什麼都沒有顯示? ?雖然我知道這個會議是真正的'Laravel 4顯示Flash消息不起作用

這是我的會話控制器:

class SessionsController extends \BaseController { 

    public function create() 
    { 
     return View::make('sessions.create'); 
    } 


    public function store() 
    { 
     $attempt = Auth::attempt([ 
      'email' => $input['email'], 
      'password' => $input['password'] 
     ]); 

     if($attempt) return Redirect::intended('/')->with('flash_message', 'You have been logged in!'); 

     dd('problem'); 
    } 



    public function destroy() 
    { 
     Auth::logout(); 

     return Redirect::home(); 
    } 

} 

這是我的觀點應該在哪裏進行顯示的消息:

<!doctype html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Yes</title> 
</head> 
<body> 
    <main> 
     @if(Session::get('flash_message')) 
      <div class="flash"> 
       {{ Session::get('flash_message') }} 
      </div> 
     @endif 

     <div class="container"> 
      @yield('content') 
     </div> 

    </main> 
</body> 
</html> 

我也試過這樣:

 @if(Session::get('flash_message')) 
      <div class="flash"> 
       {{ Session::get('flash_message') }} 
      </div> 
     @else 
      <div class="flash"> 
       {{ Session::get('flash_message') }} 
      </div> 
     @endif 

但沒有顯示,只是一個空的虛無,就像沒有消息是p回到視圖。

謝謝你幫我出:)

+0

即使這個問題是舊的,我會添加此評論。對於IF條件,你必須使用'has()'方法而不是get。 –

回答

1

在你store功能,if之前,你應該增加:

Session::flash('flash_message', 'You have been logged in!'); 

這是用來存儲在會話閃存數據。 with方法不會以您打算的方式工作。

然後在視圖:

@if(Session::has('flash_message')) 
    {{ Session::get('flash_message') }} 
@endif 
+0

這很奇怪,因爲在Jeffrey Way的視頻中,它完全按照他的描述工作。你有這個解釋嗎? http://youtu.be/msEwmVZ4wp4?t=11m36s – LoveAndHappiness