Laravel - 会话返回null

时间:2017-02-14 18:11:39

标签: php laravel session

我在Laravel第一次使用会话,我正在尝试做一个多步骤表单,所以我认为使用会话将是一个聪明的举动。但是下面的代码返回一个空值,我做错了什么?

        $user_information = [
            "name"           => $request->name,
            "email"          => $request->email,
            "remember_token" => $request->_token,
            "password"       => bcrypt($request->password),
            "role_id"        => 3
        ];

        session('user_signup', $user_information);

        dd(session('user_signup'));

4 个答案:

答案 0 :(得分:1)

在您的控制器中,您可以将变量保存到会话中,如

session()->put('user_signup',$user_information);

用于检查控制器中的会话变量

session->has('user_signup','default value');

用于删除控制器中的会话变量

session()->forget('user_signup');

用于检查会话变量(如果存在于刀片中并将其打印出来)

@if(session()->has('user_signup'))
    session()->get('user_signup')
@endif

答案 1 :(得分:0)

试试这个

  session(['user_signup'=> $user_information]);

session()->put('user_signup',$user_information);

您可以通过记录来检查会话

Log::info(Session::get('user_signup'));

检查你的日志文件应该在那里。

Laravel docs链接 - https://laravel.com/docs/5.4/session#storing-data

答案 2 :(得分:0)

首先:您在会话中添加了一些内容 第二:检查storage / framework / session文件夹,如果您的会话正常,则可以立即在会话文件夹中查看会话数据

如果保存会话,并且会话文件夹仍为空:

首先更改'driver'=> env('SESSION_DRIVER','file') 到'driver'=> env('SESSION_DRIVER','array')和'driver'=> env('SESSION_DRIVER','database')

第二次将存储/框架/会话权限设置为755

最后进入您的内核文件,并在“ api”中添加以下代码

  'api' => [

            //add this bellow two line 

            \App\Http\Middleware\EncryptCookies::class,
            \Illuminate\Session\Middleware\StartSession::class,

            'throttle:60,1',
            'bindings',
        ],

然后再次检查您的会话文件夹,如果您将任何内容放入任何会话中,现在应该在此文件夹中看到它们,则可以删除会话文件夹中的文件,再次使用该会话将内容保存在其中,然后返回会话文件夹,然后看到会话文件夹不再是空的,并且完成了,会话文件夹的图像

答案 3 :(得分:0)

我已经对此进行了测试并且一直在努力,然后我意识到在使用 dd() 后我永远不应该使用 session()(转储和死亡方法),因为您正在阻止系统在 {{ 1}}。
我不太确定,但它对我有用..如果这是真的,请告诉我。