如何在 laravel 5.2 中传递会话值

How to pass session value in laravel 5.2

我想将带有会话的 $var 变量传递给页面。并且想要接收这个数据。

public function check(Request $request)
{
    $c_email = $request->email;
    $c_pass=$request->pass;
    $c_type=$request->select;
    //dd($Idpass);
   $var=DB::select("SELECT * FROM reg where email = '$c_email' and Password = '$c_pass' and type = '$c_type'");
   if ($var) {
       session_start();
       $request->session()->put('key', '$var');
     return redirect('farmer');
   }
   else {
    $msg="Invalid login";
    return view('index')->with('show',$msg);
   }
}

问题是当您重定向时数据不会持续存在,因此您需要 use with() with redirect():

return redirect('farmer')->with('key', $var);

在视图中:

session('key')

此外,您不需要使用 session_start() 来处理会话数据。

要放session

$request->session()->put('key', 'value');

向视图部分传递值

return redirect('farmer')->with('sometext',$var);

在视图部分检查会话是否有值

if ($request->session()->has('users')) {
// your code
}

获取会话值

$value = $request->session()->get('key', 'default');