我有一个PHP网站,我维护,我已经证实,这工作在一个点。
我们有一个网站利用登录系统,它将登录的用户信息存储在$_SESSION['user']
变量中。当点击/logout.php时,该网站用于注销用户,该用户基本上删除了该部分的会话,然后header()
重定向到主页。
截至最近,/logout.php文件与session_start()
在顶部不知何故没有看到会话信息时print_r()
用来输出它用于调试目的。
如果我转到另一个页面,我会看到会话信息很好,但不在注销页面......这正是我无法删除会话信息的原因,因为它无法访问。
我以为$_SESSION
是全球网站,直到浏览器被关闭。我从来没有遇到过这种情况,并且我知道会话实例是在这个页面上启动的,所以很奇怪它没有向我显示会话数据。
任何想法?我完全沉迷于这一个!
代码:/logout.php
<?
#session_start() is inside this file
require_once($_SERVER['DOCUMENT_ROOT'].'/includes/config.php');
unset($_SESSION['user']);
header("location: /");
exit();
?>
的$_SESSION['user']
的检查是站点范围和需要不同的东西,当我打电话给其下的各种项目。其他人建立了这个网站,我试图调试为什么它突然没有为他们工作。
仅供参考 - 我可以正确地看到此logout.php页面上的其他环境变量,如$ _SERVER []和其他。由于某种原因,我似乎无法访问$ _SESSION []变量。这真的很奇怪。 – 2010-03-02 02:12:31
可以提供用于session_start()(以及周围)的代码,以及访问$ _SESSION ['user']以用于工作和非工作(logout.php)页面的代码吗? – 2010-03-02 02:13:17