php刷新当前页面?

Posted

技术标签:

【中文标题】php刷新当前页面?【英文标题】:php refresh current page? 【发布时间】:2011-05-12 09:21:39 【问题描述】:

我有一个页面,

如果设置了变量(在会话中) 它会做一个动作, 然后它会取消会话。

现在它必须自我刷新。

这就是我卡住的地方。

有没有办法获取当前页面的确切网址?

或者有什么功能可以做到这一点?

所以header('location: ???');

【问题讨论】:

【参考方案1】:
header('Location: '.$_SERVER['REQUEST_URI']);

【讨论】:

$_SERVER['REQUEST_URI'] 是服务器生成的变量。只有 GET、POST、a 和 COOKIES 容易受到用户干扰。 (除了“Referrer”等标题) 那些服务器生成的变量是可以修改的,所以你还是应该考虑清理它们。 那些认为应该对其进行消毒的人并不真正理解他们在说什么。 REQUEST_URI 包含您当前所在的 URL,因此,如果访问此 URL 存在任何安全问题,则危害已经造成。重定向到您已经在的位置没有安全隐患。 @RobertM。不,它会将您重定向到当前网址。如前所述,损害已经造成。 在重新加载标头后放置一个 die() 以防止在该行下方执行代码。【参考方案2】:

php刷新当前页面

使用 PHP 代码:

<?php
$secondsWait = 1;
header("Refresh:$secondsWait");
echo date('Y-m-d H:i:s');
?>

注意:请记住,header() 必须在发送任何实际输出之前调用,无论是通过普通 html 标记、文件中的空白行还是通过 PHP。

如果你发送任何输出,你可以使用javascript

<?php
echo date('Y-m-d H:i:s');
echo '<script type="text/javascript">location.reload(true);</script>';
?>

当这个方法接收一个真值作为参数时,它会导致页面总是从服务器重新加载。如果为 false 或未指定,浏览器可能会从其缓存中重新加载页面。

或者您可以显式使用“元刷新”(使用纯 html):

<?php
$secondsWait = 1;
echo date('Y-m-d H:i:s');
echo '<meta http-equiv="refresh" content="'.$secondsWait.'">';
?>

问候和好的代码,

【讨论】:

【参考方案3】:

另一个优雅的是

header("Location: http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]");
exit;

【讨论】:

【参考方案4】:
header('Location: '.$_SERVER['PHP_SELF']);  

也可以

【讨论】:

这只有在 URL 中显示文件名时才有效。所以,URL 重写肯定行不通。【参考方案5】:

$_SERVER['REQUEST_URI'] 应该可以工作。

【讨论】:

以上是关于php刷新当前页面?的主要内容,如果未能解决你的问题,请参考以下文章

php怎么不刷新页面更新数据.

Laravel 4 Redirect::back() 不会转到上一页(刷新当前页面)

layui点击主页面分页数据点击修改数据后 返回当前分页的页面数据没有刷新

Laravel 4 Redirect :: back()不会转到上一页(刷新当前页面)

小程序 (下拉刷新,上拉加载)

php刷新当前页面?