html中禁用缓存:
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
php中禁用缓存:
// 设置此页面的过期时间(用格林威治时间表示),只要是已经过去的日期即可。
header ( " Expires: Mon, 26 Jul 1970 05:00:00 GMT " );
Expires = -1
Expires是个好东东,如果服务器上的网页经常变化,就把它设置为-1,表示立即过期。如果一个网页每天凌晨1点更新,可以把Expires设置为第二天的凌晨1点
// 设置此页面的最后更新日期(用格林威治时间表示)为当天,可以强制浏览器获取最新资料
header ( " Last-Modified:" . gmdate ( " D, d M Y H:i:s " ). "GMT " );
//告诉客户端浏览器不使用缓存,HTTP 1.1 协议
header ( " Cache-Control: no-cache, must-revalidate " );
// 告诉客户端浏览器不使用缓存,兼容HTTP 1.0 协议
header ( " Pragma: no-cache " );
代码逻辑验证:
//order.status也可以使用session来控制
if(order.status==‘未支付/0‘){
$sql="update user set banlance=balance+10 where uid=uid";
$sql="update order set status=‘已支付/1‘ where oid=oid";
}else{
echo ‘已完成,请勿重复刷新!‘;
//header("xxx.php");
}
//session
session_start();
$_SESSION[‘num‘] = 0;
if($_SESSION[‘num‘] == 0){
$sql="update user set banlance=balance+10 where uid=uid";
$_SESSION[‘num‘] = 1;
}else{
echo ‘您已经提交过了,请不要重复提交‘;
}