将页面刷新为新状态

时间:2010-02-02 14:18:08

标签: php cookies session-state

我使用php和mysql写了一个blog,它有一个登录功能。当您注销并回击时,它不应显示成员的功能,因为您不再登录。如何更正它,以便当用户不再登录并回击按钮时,上一页应该是在他登录之前的状态?

2 个答案:

答案 0 :(得分:1)

很难辨别您正在使用的身份验证机制,但假设这是一个纯缓存问题,您可以将以下语句添加到登录时显示的所有.php页面的开头。

header("Cache-Control: no-cache, must-revalidate");
header("Expires: Mon, 1 Jan 1970 05:00:00 GMT");

那应该处理缓存问题。并确保您unset()用于跟踪用户登录的访问变量($_SESSION或类似内容)。

答案 1 :(得分:0)

这是一个浏览器功能。但是不用担心,如果你实际登录,你将无法实际执行任何管理级别的工作。如果你愿意,可以通过以下方式启动对服务器的请求javascript询问用户是否在加载页面时登录。如果该请求返回false,则可以隐藏管理控件,或将用户重定向到索引页。

您可以在代码中明确声明您希望不缓存页面,但这会降低访问者体验,并导致服务器的开销增加。我不认为这些结果证明了特定解决方案中的手段。