设为首页
收藏本站
Archiver
用户
登录
入住
用户名
Email
自动登录
找回密码
密码
登录
入住 CI 中国社区
首页
返回 CodeIgniter 中国首页
论坛
BBS
导读
Guide
个人主页
Space
中文手册
搜索
CodeIgniter 搜索引擎
视频教程
案例
任务
搜索
搜索
本版
帖子
用户
设为首页
收藏本站
Archiver
开启辅助访问
切换到宽版
日志
相册
分享
记录
CodeIgniter4
CodeIgniter3
CodeIgniter2
帖子
好友
道具
勋章
收藏
任务
记录
留言板
设置
我的收藏
退出
腾讯QQ
微信登录
CodeIgniter 中国开发者社区
»
论坛
›
CodeIgniter 开发
›
CodeIgniter 问答求助
›
sess_expiration问题求教
返回列表
查看:
6096
|
回复:
5
[HELP]
sess_expiration问题求教
[复制链接]
cnjameschan
cnjameschan
当前离线
积分
120
IP卡
狗仔卡
发表于 2010-4-13 21:28:46
|
显示全部楼层
|
阅读模式
使用CI_session(目前不用数据库)
sess_expiration在config设置好像是有效的,在程序中设定,能返回设置的值,但是不会有实际效果,你们是不是有什么经验,介绍一下?config里:$config['sess_expiration']= 10;
程序里设置:
$this->session->sess_expiration=100;
echo $this->session->sess_expiration; 显示出来是100
但是session 10秒后就失效了。
如何动态设置这个有效期呢?
想用来实现保存登录状态期限(1周,一个月,永久)
在线等。。。
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
zycbob
zycbob
当前离线
积分
158
IP卡
狗仔卡
发表于 2010-4-13 21:56:40
|
显示全部楼层
本帖最后由 zycbob 于 2010-4-13 22:05 编辑
那是用cookie实现的
回复
支持
反对
使用道具
举报
显身卡
cnjameschan
cnjameschan
当前离线
积分
120
IP卡
狗仔卡
楼主
|
发表于 2010-4-13 22:06:24
|
显示全部楼层
但是ci_session实质就是cookie啊?
回复
支持
反对
使用道具
举报
显身卡
zycbob
zycbob
当前离线
积分
158
IP卡
狗仔卡
发表于 2010-4-13 22:16:51
|
显示全部楼层
本帖最后由 zycbob 于 2010-4-13 22:20 编辑
没有,session是session , cookie是cookie,
只不过ci的session是依赖cookie保存session_id的
你要做的就是
在用户登录验证通过时, 比如将用户名和随机字符串的加密值 写到用户的cookie里,并根据情况设置过期时间
然后在session中保存需要的标记
每次页面初始化的时候先判断session,如果没有则从cookie中读取数据并解密,取得用户名,与数据库中的数据对比,然后重新设置session,
如果cookie过期,则没有登陆
回复
支持
反对
使用道具
举报
显身卡
cnjameschan
cnjameschan
当前离线
积分
120
IP卡
狗仔卡
楼主
|
发表于 2010-4-13 22:24:09
|
显示全部楼层
本来想只用CI_SESSION,这样省得麻烦,但是CI_SESSION好像不能动态设置过期时间的,CI_SESSION在浏览器cookie可以看到,其实也是cookie啊。。
不管如何,还是感谢你的快速响应,呵呵
回复
支持
反对
使用道具
举报
显身卡
zycbob
zycbob
当前离线
积分
158
IP卡
狗仔卡
发表于 2010-4-13 22:39:20
|
显示全部楼层
用钩子是可以在session启动前改变过期时间设置的
其实,SESSION是保存在服务器的,就算你给SESSION动态设置过期时间,现在你不存在数据库中,如果服务器重启,用户登陆状态就没了
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
入住 CI 中国社区
本版积分规则
发表回复
回帖后跳转到最后一页