为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel 5.3以上session丢换问题

Laravel 5.3以上session丢换问题

PHP
胡子哥哥 2019-03-12 14:05:11
这是一个全局方法,设置session的登陆时,用HomeController调用session_member存储session然后在首页IndexController继承Controller 然后在HomeController里使用$this->data,数据为空,这是为什么?
查看完整描述

8 回答

?
Cats萌萌

TA贡献1805条经验 获得超9个赞

这样做真是多此一举,直接在view模板里用Session或session取值即可.

查看完整回答
反对 回复 2019-03-18
?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

大家都在想办法帮你解决问题,但是我觉得实现自身业务时的思路就是问题的。

从代码逻辑来看,你是希望用户信息存储在 session 中方便存取,同时希望所有的 Controller 通过继承后,能够简单的拿到常用的数据。

其实完全没有必要性。

  1. 在试图中要拿用户可以直接 auth()->user()
  2. 要把数据共享给试图,可以使用 View Composer
查看完整回答
反对 回复 2019-03-18
?
慕妹3146593

TA贡献1820条经验 获得超9个赞

你调用的路由是否在 web 中间件里? (只有 web 中间建立的路由所调用的方法才会启用 session

查看完整回答
反对 回复 2019-03-18
?
慕妹3242003

TA贡献1824条经验 获得超6个赞

原来我在 windows 上使用 php artisan serve 开发的时候也同样遇到了这个问题,我通过在 Session::put() 之后添加了 Session::save() 方法,成功读取到了数据。

所以,我换成了 Homestead 开发环境。

查看完整回答
反对 回复 2019-03-18
?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

你确定不是代码的问题吗?

查看完整回答
反对 回复 2019-03-18
?
绝地无双

TA贡献1946条经验 获得超4个赞

$member = session_member(); //这里输出一下$member;
session_member();这个没传值就调用下面:
function session_member(member){

return $member = session('member', null); //session('member', null)返回什么值?
}
一步步输出排查吧,另外能贴代码吗,贴图代码有错也不想给你改

查看完整回答
反对 回复 2019-03-18
?
四季花海

TA贡献1811条经验 获得超5个赞

必须方路由中间里!!!!他们说什么不符合逻辑,不安全!1年前的事情了

查看完整回答
反对 回复 2019-03-18
  • 8 回答
  • 0 关注
  • 552 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信