Laravel 5.3以上session丢换问题

这是一个全局方法,设置session的
https://img1.mukewang.com/5c8f579600013f5a05990296.jpg
登陆时,用HomeController调用session_member存储session
然后在首页IndexController继承Controller

https://img2.mukewang.com/5c8f579700017e1e06440459.jpg

然后在HomeController里使用$this->data,数据为空,这是为什么?

https://img2.mukewang.com/5c8f5799000146ea05080184.jpg

胡子哥哥
浏览 554回答 8
8回答

Cats萌萌

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

尚方宝剑之说

大家都在想办法帮你解决问题,但是我觉得实现自身业务时的思路就是问题的。 从代码逻辑来看,你是希望用户信息存储在 session 中方便存取,同时希望所有的 Controller 通过继承后,能够简单的拿到常用的数据。 其实完全没有必要性。 在试图中要拿用户可以直接 auth()->user() 要把数据共享给试图,可以使用 View Composer

慕妹3146593

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

慕妹3242003

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

潇潇雨雨

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

绝地无双

$member = session_member(); //这里输出一下$member; session_member();这个没传值就调用下面:function session_member(member){ return $member = session('member', null); //session('member', null)返回什么值?}一步步输出排查吧,另外能贴代码吗,贴图代码有错也不想给你改

四季花海

必须方路由中间里!!!!他们说什么不符合逻辑,不安全!1年前的事情了
打开App,查看更多内容
随时随地看视频慕课网APP