【发布时间】:2012-08-03 11:59:34
【问题描述】:
我有一个使用 php 登录的网站。每次访问页面时,我都会调用 session_start()。
我一直有这个不寻常的问题,其中五分之一(左右),我的 session_start 将无法识别现有的 PHPSESSID cookie,而是创建一个新的,所以我有 2 个,然后停止使用存储在第一个会话中的所有数据。
它是这样的: 我成功登录,并成功重定向到我之前登录但现在登录的同一页面,并且我被分配了一个会话 id cookie,并且会话成功存储了它的数据(所有检查和确认)
然后我点击页面上的任何链接(甚至是指向我所在页面的链接),它不会继续会话,而是创建一个新会话,给我第二个会话 cookie 并有效地记录我出去。
这种情况仅发生五分之一,并且仅在我第一次访问该网站时发生。在成功的试验中,当我登录时,导航到另一个页面会给我留下 1 个会话 id cookie,而不是 2 个。
我一直在努力解决这个问题,希望得到任何帮助!
【问题讨论】:
-
提示(题外话)!少把你的头撞到墙上,它应该能让你在未来更快地找出问题。此外,它还会对您的身体造成严重伤害。
-
我们可以看看你的代码吗?您是否包括任何也调用
session_start();的文件? -
不幸的是,代码真的很长。我的搜索机制确实有第二个 session_start(),但是当我禁用它时,问题仍然存在。
标签: php session login session-cookies sessionid