0

我在尝试销毁会话时遇到问题,它们似乎已被销毁,

但是如果我单击后退按钮,变量会返回,因为应该隐藏的页面区域再次变得可见,

网站的这一部分用于管理网站的前面部分也有一个登录,但这不会发生

管理部分的索引页面位于一个子文件夹中,我有一个名为 notLoggedIn.php 的文件,我将其包含在我想锁定管理员的页面上,notLoggedIn.php 测试是否存在在登录时设置的会话

当我注销时,单击实际有效的后退按钮,它将我重定向回管理索引,但是,现在它再次显示我的用户名,然后我无法重新登录???

我试过了

 $_SESSION = array()

if (isset($_COOKIES[session_name()])) { 
$params = session_get_cookie_params();
setcookie(session_name(), '', 1, $params['path'], $params['domain'], $params['secure'], isset($params['httponly']));
}
session_destroy()

按名称取消设置会话

正如我所说,这不会发生在网站的其他部分......有什么建议吗?

4

4 回答 4

1

有时问题是session_start()在调用之前忘记了session_destroy()

于 2014-04-23T15:18:34.363 回答
1

刷新页面时会出现这种情况吗?我的第一个问题是您会看到浏览器缓存的页面。尝试在用户登录时/之后将其添加到您的页面:

header('Cache-Control: no-cache, no-store, must-revalidate');
于 2013-10-31T01:10:54.910 回答
0

谢谢你们的时间,但这似乎是一个 WAMP 问题
一旦我使用了 MAMP,或者实时上传,到目前为止,这个问题还没有出现。

再次感谢

于 2013-10-31T10:16:39.547 回答
0

浏览器可能会缓存整个页面的 html 并仅显示本地内存中的页面而无需发送请求,更不用说在服务器上执行 php 脚本了。

它是关于缓存的,它受请求类型(GET/POST)的影响。

于 2013-10-31T01:09:26.080 回答