将登录详细信息存储在 Laravel 的 session 中

时间:2021-06-30 08:18:33

标签: laravel

我在控制器 checklogin() 中有一个函数可以检查用户详细信息。我想存储到会话中。所以我可以得到用户的名字并在刀片视图中显示

控制器

public function checklogin(Request $request)
    {

        $req=$request->validate([
                    'name'=>'required',
                    'email'=>'required|email',
                    'password'=>'required|regex:/^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[@_!]){8,}/'

                    ]);
        $userdata = array(
          'name' => $request->input('name') ,
          'email'=>$request->input('email'),
          'password' => $request->input('password')
        );
        if (Auth::attempt($userdata))
        {
             
            $data = $request->session()->put('user',$userdata['name']); 
             dd($data) ; //returning null 
            
             return redirect('/home');
        }
        else
        {   
            
            return back()->with('error', 'Wrong Login Details');
        }

    }

1 个答案:

答案 0 :(得分:1)

无需在 session 中存储登录的用户详细信息。您可以调用 auth helper 函数,该函数将返回 auth 实例。

{{auth()->user()->name}} 

如果您同时登录或访客页面相同,则可以进行空检查

 {{ auth()->user()!=null?auth()->user()->name:null }}
相关问题