2017-03-17 197 views
0

我試圖在登錄後將用戶重定向到上一頁。登錄成功後重定向Laravel 5.4

在我的刀片頁我有,

@if(Auth::check()) 
    {{ $products->phone }} 
@else 
    <a href="{{ url('log')}}"> </a> //url to login page 
@endif 

在此之前,我創建一個會話,這樣我可以知道該請求是從上面的刀片頁面。

我的控制器:

public function log(){ 
    Session::flash('log_msg', 'login needed!'); 
    return view('my_account'); 
} 

當我把情況類似if(Session::has(log_msg)){//redirect back}在登錄控制器,它拋出一個錯誤。

現在我很困惑在哪裏把條件。任何人都可以告訴我,我可以把條件放在Logincontroller或Middelware中,以及如何?

+1

爲什麼不使用laravel登錄?它具有所有這些東西,使用預期的方法,您可以將用戶直接重定向到他正在嘗試訪問的上一頁,然後登錄到此處https://laravel.com/docs/5.4/authentication 和預期的方法可以在此處看到 https://laravel.com/docs/5.4/authentication#authenticating-users –

+0

登錄控制器中拋出的錯誤是什麼? –

+0

我們不知道你在控制器中做了什麼,但是恐怕你正在使用僅在下一次請求期間有效的Session :: flash方法。如果您必須在中間請求,則不會有任何會話變量。當然,如果你沒有其他條款來回報,laravel會提出一個錯誤... –

回答

0

您可以更改您的AuthController.php中的重定向路線 更改/家到您的路線。

protected $redirectTo = '/home'; 

它應該工作。

相關問題