PHP header()重定向到右侧页面之前的同一页面



我在这里有一个index.php文件:

<?php
session_start();
var_dump($_SESSION['modals']);
$_SESSION['modals'] = [];
?>

redirect.php文件:

<?php
session_start();
$_SESSION['modals'][] = ['title' => "test", 'msg' => "message to show"];
header('Location: index.php', true, 301);
exit();
?>

正如你所看到的,这些都是非常基本的。

我遇到的问题是,如果我连续加载页面重定向.php 2到3次,它只会在$_SESSION['mals']变量中显示一个条目,这是应该的。但如果我连续几次加载redirect.php页面,通常是4次或更多次,它就会开始出错。$_SESSION['mals']有时包含2个条目,有时包含1个条目。

我不明白为什么

提前感谢您的回复!

根据会话处理程序的不同,可能存在会话锁定,也可能不存在会话锁定。此外,当浏览器接收到301重定向时,它们并不完全等待。

我怀疑你的会话数据在第二个脚本打开之前没有保存。

最新更新