有三个界面 logon.php / checklogon.php / detail.php / logout.phplogon.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 - <?php
session_destroy();
header("Cache-Control: private, must-revalidate, no-store");
header("Pragma: no-cache");
header("Expires: Sat, 26 Aug 1997 05:00:00 UTC");
header("location: /logon.php");
exit();
?>当点击了logout按钮后,页面到了登陆界面,但是点击浏览器的后退按钮后(IE 8/Firefox),前一个detail界面又显示了。 请问大家如何解决。当点击后退按钮后,detail.php里面的代码并没有执行,应该是缓存的detail.php有显示了出来。
if($user == null)
{
header("location: /index.php");
exit;
}
$_SESSION['user'] = $user;detail.php - 上面包括了一个注销link,单击后会调用logout.php.logout.php - <?php
session_destroy();
header("Cache-Control: private, must-revalidate, no-store");
header("Pragma: no-cache");
header("Expires: Sat, 26 Aug 1997 05:00:00 UTC");
header("location: /logon.php");
exit();
?>当点击了logout按钮后,页面到了登陆界面,但是点击浏览器的后退按钮后(IE 8/Firefox),前一个detail界面又显示了。 请问大家如何解决。当点击后退按钮后,detail.php里面的代码并没有执行,应该是缓存的detail.php有显示了出来。
解决方案 »
- 史上最强大的PHP Web面试题(会做就能进百度)
- 一个最简单phpExcel导出的例子,麻烦指点一下?
- 大家帮帮忙~hash << 5 + hash 中的<<是什么意思?
- 请高手帮忙解密这段PHP代码,谢谢
- update语句更新2万条数据表字段,被apche踢下php进程
- supplied argument is not a valid OCI8-Statement resource
- php能不能够把html中的样式综合起来生成一个样式表文件?
- 谁用php调用webservice
- session 如何取值?
- mysql不好使了
- php接收ios中的emoji表情存入数据库为????。
- 网站被黑了咋办?
echo('<a href="/Logout.php">Logout</a>');
?>
你里边都没有验证session是否存在的代码,即使你销毁了session又有什么用
<?php
session_start(); //使用session存储用户信息 if(isset($_POST["username"])) //数据库中读取username用户名
{
$ss_user_id="";
//利用User累的IsValid()方法判断所输入的用户名和口令是否正确
require_once("userclass.php"); //获取用户信息的类
$user=new User();
//如果正确,转到网站首页
if($user->IsValid($_POST["username"],$_POST["password"],$ss_user_id))
{
$_SESSION["ss_user_id"]=$ss_user_id; //用户ID
echo "<script language='javascript'>";
echo " location='index.php';";
echo "</script>";
}
//如果不正确,刷新页面
else
{
echo "<script language='javascript'>";
echo " alert('用户名或密码错误');";
echo "</script>";
}
}?>
修改checklogin.php或者新建一个check.php加入验证用户是否存在代码。
<?php
session_start();
if(! isset($_SESSION['ss_user_id'])) //判断是否存在用户ID
{
echo "<script language='javascript'>";
echo "alert('您的用户无权进行此操作!');";
echo "location='login.html';";
echo "</script>";
exit;
}
?>
在除登陆和退出页面以外的其他页面文件头处都加上上面这段代码。