gpt4 book ai didi

php - 强制页面从服务器重新加载而不是加载缓存版本

转载 作者:可可西里 更新时间:2023-10-31 22:47:59 25 4
gpt4 key购买 nike

我有网页 A。用户单击表单提交数据,然后将他带到网页 B。当他单击后退按钮时,我需要从服务器刷新网页 A,而不是从缓存加载。我有这个:<meta http-equiv="expires" content="0">但它似乎不起作用。我还尝试在页面 B 上设置一个变量(通过 php 的 session 变量),然后在页面 A 上检查它并根据它的存在刷新(或不刷新)。这似乎也行得通。基本代码是:页面 A:

<?php 
if(isset($_SESSION['reloadPage'])) {
unset($_SESSION['reloadPage']);
echo'
<script>
window.location.replace("/****/****/*****.php");
</script>
';
}
?>

在页面 B 上:

$_SESSION['reloadPage'] = 1;

对于 PHP 解决方案,它只是不断尝试在永无止境的循环中刷新页面。我的逻辑中缺少什么?这是正确的做法吗?

编辑经过进一步调查,当您告诉浏览器不要缓存页面时,这是否也会强制执行完整的服务器端刷新?这就是我需要的。页面的完整服务器端刷新。

最佳答案

好的,试试这个:

<?php
if(!session_id()) {
@session_start();
}
header('Expires: Sat, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: ' . gmdate( 'D, d M Y H:i:s') . ' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');

if(isset($_SESSION['form_submitted'])) {
unset($_SESSION['form_submitted']);
header('Location: ?' . uniqid());
#header('Refresh: 0');
}
?>

您需要在第 2 页设置 $_SESSION['form_submitted'] = true。

关于php - 强制页面从服务器重新加载而不是加载缓存版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10132446/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com