php刷新当前页面?

Hai*_*ood 39 php redirect header

我有一个页面,

如果设置了变量(在会话中),它将执行操作,然后取消设置会话.

现在它必须刷新自己.

这是我被困的地方.

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

还是有功能这样做?

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

Byr*_*ock 88

 header('Location: '.$_SERVER['REQUEST_URI']);
Run Code Online (Sandbox Code Playgroud)

  • $ _SERVER ['REQUEST_URI']是服务器生成的变量.只有GET,POST,a和COOKIES易受用户干扰.(可能除了"推荐者"之类的标题) (9认同)
  • 那些认为它应该被消毒的人并不真正理解他们在谈论什么.REQUEST_URI保存您当前所在的URL,因此如果转到此URL存在任何安全问题,则已经造成了危害.重定向到您已经存在的位置没有安全隐患. (8认同)
  • 可以修改那些服务器生成的变量,因此您仍应考虑对它们进行清理. (4认同)
  • @RobertM.不,它会将您重定向到当前网址.如前所述,损害已经完成. (3认同)
  • 在重新加载头之后放置一个die()以防止在此行下面执行代码. (2认同)

Fer*_*ndo 19

PHP刷新当前页面

使用PHP代码:

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

注意:请记住,在发送任何实际输出之前,必须通过普通HTML标记,文件中的空行或PHP来调用header().

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

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

当此方法接收true值作为参数时,将导致始终从服务器重新加载页面.如果为false或未指定,则浏览器可以从其缓存重新加载页面.

或者您可以明确使用"元刷新"(使用纯HTML):

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

问候和良好的代码,


cas*_*nca 6

$_SERVER['REQUEST_URI'] 应该管用.