gpt4 book ai didi

php - 在页面刷新时删除查询字符串值

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:59:22 25 4
gpt4 key购买 nike

我正在使用 Querystring 重定向到另一个页面,比如

header('location:abc.php?var=1');

我可以使用以下代码在查询字符串值的帮助下在重定向页面上显示一条消息,比如说

if (isset ($_GET['var']))
{

if ($_GET['var']==1)
{
echo 'Done';
}
}

但我的问题是,即使在刷新页面时,消息仍会继续显示。因此,我希望消息应该在页面刷新时被删除,即值或查询字符串不应存在于刷新时的 url 中。

提前致谢。

最佳答案

您不能“在刷新时删除查询参数”。 “刷新”意味着浏览器再次请求相同的 URL,刷新时不会触发任何特定事件,您可以将其与常规页面请求区分开来。

因此,摆脱查询参数的唯一选择是在消息显示后重定向到不同的 URL。比如说,使用 Javascript,您会在 10 秒左右后重定向到另一个页面。虽然这显着改变了用户体验,但并没有真正解决问题。

选项二是将消息保存在服务器端 session 中并显示一次。例如,像这样的东西:

if (isset($_SESSION['message'])) {
echo $_SESSION['message'];
unset($_SESSION['message']);
}

虽然这可能会导致与并行请求的混淆,但几乎可以忽略不计。

选项三是两者的组合:您使用一些唯一 token 在 session 中保存消息,然后在 URL 中传递该 token ,然后显示消息一次。例如:

if (isset($_GET['message'], $_SESSION['messages'][$_GET['message']])) {
echo $_SESSION['messages'][$_GET['message']];
unset($_SESSION['messages'][$_GET['message']]);
}

关于php - 在页面刷新时删除查询字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16275403/

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