100分寻求session的解决方法

cknuke 2002-04-14 11:43:26
首先,我将session使用数据库存储
当我以一用户 user 登录后 即拥有一个唯一sessionid

然后在一段时期内不进行任何动作,直到session失效。

然后再次登录时,出现问题:
1. 提交登录信息后的页面能够显示用户信息
2. 但当下一次页面显示时,信息丢失,要求重新登录

经过分析得知:
session失效后,用户所在的sessionid仍然存在,然已经失效,因此,无法写入任何信息。
最终导致用户无法注册进入。

自己试着解决方案:
1.首先判断session 是否失效,是 则创建新的sessionid。结果成功写入信息,但当进入下一页时,浏览器所记住的仍然是先前失效的sessionid。所以最终失败。
2.改变session_name,用了之后仍然无效。

望各位老大赐教!
...全文
28 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cknuke 2002-04-15
  • 打赏
  • 举报
回复
现成功解决。
方法如下:
在每次session_start()之前,均调用函数清除数据库中的过时sessionid。
谢谢大家的参与,一点分数 不成敬意
cknuke 2002-04-14
  • 打赏
  • 举报
回复
很抱歉,session.cookie_lifetime是设为0了的。

本来我也以为是我自己的设置有问题,但当我上传到了服务器(虎翼的机子)上,却发现问题仍然存在。
wasy 2002-04-14
  • 打赏
  • 举报
回复
應該在將php.ini中:
將cookie保存sessionid的生命設置為0

如下:
session.cookie_lifetime = 0
cknuke 2002-04-14
  • 打赏
  • 举报
回复
1.我有一个单独的session.inc文件是被调用文件,其他所有文件均调用此文件。session.inc中拥有session_start
2.这种情况的存在会给用户造成很大的麻烦,因为用户不可能 大概也想不到去重新开一次浏览器吧,特别是对于多窗口浏览器,实在是就更麻烦了。
3.当用户登录时,即拥有一个sessionid,同时,服务器也在客户端创建了一个名为session_name()的cookie。所以我认为,当久不动作session失效,但浏览器未关闭时,客户端仍然通过cookie名强制要求访问那个失效的session ,从而导致即使创建了新的sessionid 仍然不能被访问。

各位高手,不知我的见解是否正确,热诚希望大家共同探讨。

再强调一点:我使用的是数据库保存session数据的方法。

我现在又想到的一个解决方法是 使用cookie改变客户端的数据(这是迫不得已的)。
zaowei21 2002-04-14
  • 打赏
  • 举报
回复
你每次用SESSION_START就会分配一个ID给你,而且每次都不一样的。
只要你一关窗口,它就公失效的哇。
而且就算是SESSION_ID在你也是可以写入信息的。
你可以在每次打开页面是先注销所有的变量哇。
================================================================

CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!

★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。

★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。

Http://www.ChinaOK.net/csdn/csdn.zip0D Http://www.ChinaOK.net/csdn/csdn.rar0D Http://www.ChinaOK.net/csdn/csdn.exe [自解压]

jamsband 2002-04-14
  • 打赏
  • 举报
回复
你说的我不是太明白,既然创建一个新的以后,你进入下一页就应该自动使用新的sessionid呀,怎么可能记住先前失效的那个呢,我不知道你是如何操作的,但是我觉得不应该

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧