有三个界面 logon.php / checklogon.php / detail.php / logout.php
logon.php - session_start() 还有包括登陆form等的其他静态html,点登陆了按钮后跳转到checklogon.php.
checklogon.php - 连接数据库并返回用户信息。如果成功$_SESSION['user'] = 用户的相关信息,并跳转到detail.php。
$user = UserBusiness::GetUser($_POST["username"], $_POST["password"]);if($user == null){header("location: /index.php");exit;}$_SESSION['user'] = $user;
detail.php - 上面包括了一个注销link,单击后会调用logout.php.
logout.php -
当点击了logout按钮后,页面到了登陆界面,但是点击浏览器的后退按钮后(IE 8/Firefox),前一个detail界面又显示了。 请问大家如何解决。
当点击后退按钮后,detail.php里面的代码并没有执行,应该是缓存的detail.php有显示了出来。
回复讨论(解决方案)
你这个得贴出detail.php的验证部分来看看
Logout');?>
你这个得贴出detail.php的验证部分来看看 贴上了
Logout');?>
这个就是?
你里边都没有验证session是否存在的代码,即使你销毁了session又有什么用
修改登陆的PHP,加入如下代码。IsValid($_POST["username"],$_POST["password"],$ss_user_id)){$_SESSION["ss_user_id"]=$ss_user_id; //用户IDecho "";}//如果不正确,刷新页面else{echo "";}}?>
修改checklogin.php或者新建一个check.php加入验证用户是否存在代码。
php中文网:公益在线php培训,帮助PHP学习者快速成长!
Copyright 2014-2020 https://www.php.cn/ All Rights Reserved | 苏ICP备2020058653号-1