2010-02-02 84 views
1

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

+0

+1欢迎来到StackOverflow,@ErikaGomez。 – Sampson 2010-02-02 14:25:49

回答

1

很难辨别你所使用的认证机制,但假设这是一个纯粹的缓存问题,您可以将以下语句添加到显示的所有.PHP页面的开始,同时登录。

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

这应该照顾缓存问题。并确保您使用的访问变量unset()用于跟踪用户是否登录(在$_SESSION或类似的地方)。

0

这是一个浏览器功能。但是不用担心,如果你不是实际上登录,你将无法真正做任何管理级别的东西。如果你愿意,你可以通过javascript向服务器发出一个请求,询问是否用户在加载页面时登录。如果该请求返回false,则可以隐藏管理控件,或将用户重定向到索引页面。

您可以在代码中明确声明您希望不会缓存这些页面,但这会降低访问者体验,并且会给您的服务器带来更多开销。我不认为目的是为了解决这个问题。

+0

是的,我照顾它。但它看起来不太好。 – 2010-02-02 14:25:38