用户
 找回密码
 入住 CI 中国社区
搜索
查看: 4396|回复: 10
收起左侧

[HELP] 如何实现DZ这样的,在每个页面顶部显示登陆用户信息?

[复制链接]
发表于 2012-1-19 17:13:29 | 显示全部楼层 |阅读模式
登陆验证后,写入session

然后我想在header视图中显示用户的登陆信息。

在每个控制器中都取一次session,然后传值到header视图中?

那样代码重复,而且不方便维护,有什么办法可以优化呢?
发表于 2012-1-19 17:39:00 | 显示全部楼层
view中直接使用$this->session->xxx
 楼主| 发表于 2012-1-19 18:05:55 | 显示全部楼层
jeongee 发表于 2012-1-19 17:39
view中直接使用$this->session->xxx

嗯,我是这么做的,直接在VIEW中取SESSION
发表于 2012-1-19 21:26:36 | 显示全部楼层
创建一个User_Controller继承CI_Controller,进行读取session的操作,其他用户使用的Controller再继承User_Controller
 楼主| 发表于 2012-1-20 11:36:06 | 显示全部楼层
五点晨曦 发表于 2012-1-19 21:26
创建一个User_Controller继承CI_Controller,进行读取session的操作,其他用户使用的Controller再继承User_C ...

我直接创建一个方法,用AJAX异步获取了。
发表于 2012-1-20 16:13:41 | 显示全部楼层
用cookie,不用ajax就能实现,省一次tcp/ip请求
登录名之类的不是敏感信息,只是用来显示的
 楼主| 发表于 2012-1-20 18:38:21 | 显示全部楼层
visvoy 发表于 2012-1-20 16:13
用cookie,不用ajax就能实现,省一次tcp/ip请求
登录名之类的不是敏感信息,只是用来显示的 ...
我启用了页面缓存,更新慢,而且会把用户信息缓存起来。
发表于 2012-1-20 18:41:35 | 显示全部楼层
我们的站点1小时反向代理过期一次,仍然可以用cookie
 楼主| 发表于 2012-1-20 18:43:56 | 显示全部楼层
visvoy 发表于 2012-1-20 18:41
我们的站点1小时反向代理过期一次,仍然可以用cookie

怎么实时更新用户登陆状态?
是用JS读取COOKIE吗?
发表于 2012-1-20 19:32:38 | 显示全部楼层
根据cookie值显隐两个div块

本版积分规则