[英]Laravel get session not returning an anything
我正在學習laravel,並且在注冊時使用Auth :: login,在登錄時使用Auth :: attempt,我已經登錄,並且在主布局中正在執行以下操作(使用Blade PHP)
@if(!Auth::check())
<li><a href="#">Home</a></li>
@endif
@if(Auth::check())
<li><a href="{{ route('news') }}">News</a></li>
<li><a href="{{ route('admin') }}">Admin</a></li>
<li><a href="#">{{ session()->get('username') }}</a></li>
@endif
正如您可能已經注意到的那樣,這是用於菜單的,當我注銷時,我僅獲得主菜單,而當我登錄時,我僅獲得新聞和管理員,我試圖在菜單中設置顯示用戶名以及路由到配置文件(尚未創建)
如果我犯了一個愚蠢的錯誤,我深表歉意,我擅長於php,但是我對laravel和MVC還是很陌生
在這種情況下,您應該嘗試使用Auth::guest()
而不是Auth::check()
。
例如:
@if (Auth::guest())
// Code that a guest can see, in your case que Home
@else
// Code that a logged in user can see
@endif
對我來說,效果很好!
希望能幫助到你 ;)
根據您的會話管理代碼,您的用戶名可能不會出現在會話外觀中。 登錄后獲取用戶數據的默認方式是使用: Auth::user()
。
如果用戶具有公共屬性username
,則可以通過
Auth::user()->username
順便說一句,最好使用@else
而不是再次檢查反向Auth :: check()條件
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.