如何在没有META HTTP-当量几秒钟后重定向页面在PHP = REFRESH CONTENT =

2019-06-25 16:55发布

这似乎是不建议使用

<meta http-equiv=REFRESH CONTENT=3;url=url>

对重定向而是使用

header('Location: url')

不过,我想向用户显示一些信息,并允许他们一些时间重定向前阅读它。 有没有办法做到这一点,而不元?

Answer 1:

尝试使用“刷新”头:

header('Refresh: 3;url=page.php');

此外,您还可以看看这个问题刷新HTTP标头 。



Answer 2:

没有什么错误使用元刷新标记。

<meta http-equiv="refresh" content="5;URL='http://example.com/'" />

这标签上是等待5秒钟,然后重定向到example.com。 这个标签是没有问题的,除非用户都在使用IE6,它仍然有效,只是打破了历史记录按钮。

使用JavaScript是一种选择, 但一定要包含一个链接,说:“如果你没有自动重定向,请点击这里。” 实际上,你应该包括链接两种方式。



Answer 3:

PHP的方式来设置标题,将您重定向到在5秒内test.php的:

header( "refresh:5;url=test.php" );

呼叫发送任何实际输出之前。

而在javascript:

setTimeout(function () {
   window.location.href= url; // the redirect goes here
},5000); // 5 seconds


Answer 4:

标题标签的页面加载发送到浏览器,以便它可以迅速将用户重定向到所需的页面,而不会打扰以使其甚至将其加载到历史。 因此,你不能叫重定向一旦页面已经加载,因为头部已经被处理。

您可以使用,而不是执行此:

header( "refresh:5;url=wherever.php" );

它基本上设置<meta>标记在页面本身的标题,这意味着你不需要写出来的标签。



Answer 5:

通过你们说的话,理论上这应该工作,则:

网址: http://www.example.com/ticketgen/index.php?success=1&redir=1

    <?php
 $myredir = ($_GET['redir']);
    if ($myredir == 1)
    {
        header( "refresh:5;url=http://www.example.com/ticketgen/" );
    }
?>

但不起任何作用。 我也有它在页面的最顶端,因此它可以发送的报头。

它不工作在Firefox我只是发现了。



Answer 6:

你可以用一小片的javascript做到这一点:

<script type="text/javascript" language="JavaScript">location.href = 'otherpage.php';</script>

当然,这将取决于其支持JavaScript的人。

显然,要设置你可以使用类似的setTimeout延迟:

<script type="text/javascript" language="JavaScript">
    setTimeout(function () {
                      location.href = 'stackoverflowhelp.php'; 
               }, 5000);
</script>


Answer 7:

我觉得真的是最好的方式是header("Refresh: 10;url=../index.php"); 什么样的事情我已经与我的工作完成。



Answer 8:

https://codingislove.com/redirect-pages-php/

看看上面的文章,他们清楚地了解如何通过设置时间在PHP页面重定向解释。

重定向代码,而时间设定:头(“位置:URL地址”);

重定向代码具有三个时间(秒)组:头(“刷新:3; URL = URL地址”);



文章来源: How to Redirect Page in PHP after a few seconds without meta http-equiv=REFRESH CONTENT=time