首页 > 解决方案 > 在 Laravel 5.8 中使用会话传递可变数据

问题描述

class PaymentGatewayController1 extends Controller
{
public function getPaymentGatewayResponse(Request $request)
{
    $input = request()->input();

    Session::put(['email' => $input['email']]);
    Session::save();
return view('elements.blocks.iframe2',  ['response' => $input]);
}
}

现在我需要这个会话值到另一个控制器

class CheckoutController extends Controller
{
public function store(Request $request)
{

    $input = request()->all();
    $data = $request->session()->get('email');
    dd($data);
}
}

它返回空值

Laravel 5.8 版

标签: phplaravellaravel-5eloquent

解决方案


将您的第一个控制器更改为此

class PaymentGatewayController1 extends Controller
{
    public function getPaymentGatewayResponse(Request $request){
        $input = request()->input();
        Session::put(['email' => $request->email]);
        Session::save();
        return view('elements.blocks.iframe2',  ['response' => $input]);
    }
}

在检索控制器时使用这个

class CheckoutController extends Controller
{
    public function store(Request $request){
        $input = request()->all();
        $data = Session::get('email);
        dd($data);
    }
}

并且不要忘记刷新会话以避免流完成后的安全漏洞


推荐阅读