简体   繁体   English

Laravel:替代会话,显示登录的用户数据

[英]Laravel: Alternate to Session, to show logged in user data

I want to show logged in user data with the user of Laravel in-built class.我想与 Laravel 内置类的用户一起显示登录的用户数据。 I have used 'Session' to show the data which makes the code bulky and is not a good practice because we have to always put and flush data.我已经使用“会话”来显示数据,这使得代码变得庞大并且不是一个好习惯,因为我们必须始终放置和刷新数据。

Here are my codes:这是我的代码:

public function login(Request $req) {
    $this->validate($req, [
        'email' => 'required',
        'password' => 'required',
    ]);

    $email = $req->input('email');
    $password = $req->input('password');

    $checkLogin = DB::table('admin')->where(['email'=>$email,'password'=>$password])->first();

    if(count($checkLogin) > 0){
         Session::put('admin-name', $checkLogin->name);
         Session::put('admin-email', $checkLogin->email);
         Session::put('admin-address', $checkLogin->address);
         Session::put('admin-mobile',$checkLogin->mobile);
         Session::put('admin-dob',$checkLogin->dob);
         Session::put('admin-pic',$checkLogin->photo);
         Session::put('admin-password',$checkLogin->password);
         return view('admin');            
    }
    else {
       return Redirect::route('admin-login')->with(['error'=> "Invalid email or Password!!"]);
    }
}

View:看法:

<div class="col-md-7 col-sm-7 col-xs-7 round-img-neighbour">
    <p>{{Session::get('admin-name')}}</p>
    <small><cite title="">{{Session::get('admin-address')}} <i class="glyphicon glyphicon-map-marker"></i></cite></small>
</div>

So you are not logging in the admin:所以你没有登录管理员:

First log him in then access his datas:首先登录他然后访问他的数据:

public function login(Request $req) {
    $this->validate($req, [
        'email' => 'required',
        'password' => 'required',
    ]);

    $email = $req->input('email');
    $password = $req->input('password');

    $checkLogin = DB::table('admin')->where(['email'=>$email,'password'=>$password])->first();

    if(count($checkLogin) > 0){

         $adminData = Auth::loginUsingId($checkLogin->id);

         return view('admin', compact('adminData'));            
    }
    else {
       return Redirect::route('admin-login')->with(['error'=> "Invalid email or Password!!"]);
    }
}

In view u may access like this:鉴于您可以这样访问:

<div class="col-md-7 col-sm-7 col-xs-7 round-img-neighbour">
    <p>{{$adminData->admin-name}}</p>
    <small><cite title="">{{$adminData->admin-address}} <i class="glyphicon glyphicon-map-marker"></i></cite></small>
</div>

You can simply use你可以简单地使用

Auth::user();

for get the logged in user information for ex.用于获取 ex 的登录用户信息。

if(Auth::check())
{
    $loggedin_user = Auth::user();
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM