2016-12-17 60 views
1

我想将会话的$ var变量传递给页面。并希望收到这些数据。如何在laravel 5.2中传递会话值

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); 
    } 
} 
+0

我认为Flash是你的情况更为有用。为什么?这是因为,如果你刷新网站。 Laravel会自动销毁会话 –

回答

0

的问题是,当你重定向数据没有坚持,所以你需要use with() with redirect()

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

在视图:

session('key') 

而且,你不”不需要使用session_start()来处理会话数据。

+0

谢谢。它正在工作。另一个问题是$ var是一个数组变量。我也使用foreach,但我无法收到特定的字段。 @foreach($ us as $ va){{$ va-> name}} @endforeach – Mithun

+0

@Mithun'{{dd(session('key'))}}'show? –

+0

它显示“$ var”。我正在尝试很长时间。 – Mithun

0

要放在会话

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

传递价值,认为部分

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

鉴于部分检查会话具有价值

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

获取会话值

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

没关系。但我想显示会话价值。这里$ var包含来自数据库的多个数据。我的数据库表字段是名称,电子邮件,电话。 谢谢 – Mithun

+0

只是用你的价值:$ value = $ request-> session() - > get('key','default');并像这样显示{{$ value}}。 –