注销在php中点击但页面在刷新之前不会删除已登录的html详细信息

时间:2014-03-18 21:52:41

标签: php html

当我登录并点击退出按钮时,它成功将我退出并恢复正常,即显示登录表单。完美!

但是,如果我登录并转到另一个页面(其中包含session_start();)然后单击链接以返回登录页面,然后单击注销按钮,但这次它甚至虽然它让我退出,但用户名和注销按钮仍然停留在页面上,直到我点击刷新。

注销:

<?php 
session_start();
session_unset();
session_destroy();
header('Location: login.php');
exit();
?>

登录页面:

<?php session_start();
if(empty($_SESSION['email'])) ?>
...html form...
}else { echo '<a href ="logout.php">logout</a>';
}

我不太确定问题所在,因为当我在同一页面上时,注销工作正常,但是当我返回时它部分工作。

编辑:我甚至尝试添加标题(“Refresh:0; url = login.php”);在注销但不知何故它不起作用。我需要手动点击刷新按钮将网页更改回已注销的视图。

2 个答案:

答案 0 :(得分:0)

php手册推荐这个过程:

session_start();
$_SESSION = array();
session_destroy();
header( "location: index.php");

答案 1 :(得分:0)

这可能是一个缓存问题。即使重定向到index.php之后,如果浏览器缓存了index.php,它也会显示相同的信息。所以在你的index.php中输入:

header('Cache-Control: no-cache,must-revalidate',true); 

使浏览器不缓存它。