[英]Laravel - Sessions not storing properly / Not persisting?
在我的Page A
中,我有:
session()->put('name','My Name');
并通过以下方式对其进行测试:
return session()->get('name');
它显示My Name
。
现在在我的Page B
上,我返回了 session:
return session()->get('name');
但是现在它显示 null 或“”。 我在这里做错了什么?
PS:我正在使用 Laravel 5.7
这是我调用session()->put
的Page A
:
if(Hash::check($password, $user->password)){
session()->put('name', $user->name);
return response()->json([
'message' => 'Success! '.session()->get('name')
]);
}
这显示Success! My Name
Success! My Name
但是当我 go 到Page B
并有一个:
$thename = session()->get('name');
return 'name = '.$thename;
我得到name =
更重要的是,如果我在Page B
上设置name
:
session()->put('name', 'ASDF');
第一次加载后,它会在Page B
上显示name = ASDF
。 我删除了这一行: session()->put('name', 'ASDF');
并刷新页面,它仍然显示name = ASDF
,这意味着它保存在那里。
如果我 go 回到Page A
,在那里再次设置name
,然后 go 回到Page B
,它仍然说name = ASDF
not name = My Name
在写入 session 后,尝试手动保存 session(通过->save()
)。
例子:
session()->put('name', $user->name);
session()->save();
如果这似乎可以解决它,那么您正在某个地方杀死 Laravel 的请求生命周期。 Laravel 使用中间件来保存任何 session 数据,因此所有 session 数据都会在请求生命周期结束时持久化。
你在某处使用dd
吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.