php中怎么存储对象,在PHP会话中存储对象

PHP文档说“你不能在会话变量中使用引用,因为没有可行的方法来恢复对另一个变量的引用。

这意味着我不能有像:

session_start();

$user = new User;

$user->name = 'blah';

$_SESSION['user'] = $user;

我试图在会话中存储一个简单的字符串和一个User对象,字符串始终保持在页面之间的页面之间,或页面刷新后。但是,User变量在$ _SESSION中丢失(变为空)。

任何想法?

编辑:

我已经确认session_id在所有这些页面/子页面中是相同的,页面刷新后。

编辑:

奇怪的是,在我尝试序列化和反序列化方法下面,序列化的用户对象(或字符串)在会话仍然仍然消失!

编辑:

最后我想出了什么是错误,看起来像不知何故$ _SESSION [‘user’]被一些神秘的力,如果我使用任何变量而不是“用户”覆盖,然后一切都很好。 PHP(至少5.3,这是我使用的版本)当你把对象放在$ _SESSION时,自动序列化和反序列化。

session_start();

$user = new User();

$user->name = 'blah'

$_SESSION['myuser'] = $user;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值