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刷新当前页面?的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 4 Redirect::back() 不会转到上一页(刷新当前页面)
layui点击主页面分页数据点击修改数据后 返回当前分页的页面数据没有刷新