【问题标题】:Redirecting a page to another page for 5 seconds then redirecting again将一个页面重定向到另一个页面 5 秒然后再次重定向
【发布时间】:2011-06-02 06:19:42
【问题描述】:

我正在尝试将一个页面重定向到另一个页面,并且运行成功。但是,我正在尝试将第一页重定向到带有广告的另一个页面。该页面将在五秒后重定向到另一个页面。

我正在尝试这样做:

<?php
include('ads.php');
?>
<?php 
sleep(2);
$url = $_GET['url'];
header("Location: ".$url."");
exit;
?>

但是,它完美地显示了ads.php 中的广告,但五秒钟后它没有重定向。我在我的网络浏览器中收到此错误:

Warning: Cannot modify header information - headers already sent by 
(output started at /home/nucleusi/public_html/adverts/ads.php:1)
in /home/nucleusi/public_html/adverts/index.php on line 7

我将重定向到的典型链接是这样的:

http://domain.com/adverts/index.php/?url=http%3A%2F%2Fitunes.apple.com%2Fmx%2Falbum%2Fstill-got-the-blues%2Fid14135178%3Fi%3D14135158

【问题讨论】:

  • 我想看看答案。这将是惊人的
  • @Col。弹片 - 认为圣诞节是几天前的美好时光。 :-)

标签: php redirect


【解决方案1】:

在第一页(在广告之前)放置 doctype 或 html 标记之前:

<?php header("location: adlocationhere.php"); ?>

然后在广告页面上放这个:

<?php header("refresh:5;url=secondredirectafter5seconds.php"); ?>

这将立即重定向您的第一页,并在 5 秒后重定向您的第二页。希望这会有所帮助(如果你把它放在 doctype 和 html 标签之前,它也应该摆脱无法修改的标题信息)。

编辑:也有 javascript 这样做可能是一个安全风险 b/c 任何用户都可以更改其位置。通过这种方式,您可以完全控制用户被引导的位置。

【讨论】:

  • 我不明白使用 JavaScript 执行这种重定向会如何构成安全风险。理论上,任何用户代理都可以拒绝执行重定向,或者只有在咨询最终用户之后才这样做,即使对于标准 (3xx) HTTP 状态代码也是如此。没错,精明的用户可以修改您的页面源并将自己重定向到其他地方,但是他们可以使用浏览器的地址栏轻松地做到这一点!在任何时候你都不应该假设你可以“控制用户”,因为你无法控制用户代理,除了希望它遵守 HTTP RFC。
  • 我添加的原因是 b/c 他们可以更改源并且他们确切地知道它的去向。使用 php,他们可能不知道文件名,因此如果不知道文件名,他们就无法更改 URL。在访问一次之后授予它,它将存储在历史记录中,但我只是更喜欢使用我可以控制的东西而不是用户来处理这种事情。大多数情况下,客户希望控制广告而不是用户控制广告,而这使用 PHP 更容易做到。我同意大多数时候不控制用户,但我认为这是一个例外。
【解决方案2】:

使用刷新元标记或javascript window.location

【讨论】:

    【解决方案3】:

    这可能对你有帮助

    setTimeout("javascript window.location",3000)
    

    关于

    Wazzy

    【讨论】:

      【解决方案4】:

      所有页面都有标题和内容。为了将访问者重定向到另一个页面,您必须在页面的标题部分执行此操作。一旦您打印了页面内容(您的广告),您就有效地开始了内容,其中没有回头修改标题。

      最好的方法是使用 javascript,例如

      <script>
      function redirect() { window.location = '$url'; }
      setTimeout("redirect();", 5000);
      </script>
      

      【讨论】:

      • 这将在 html 中完成.. 可能在页面底部,在
      猜你喜欢
      • 2019-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-22
      • 1970-01-01
      • 1970-01-01
      • 2017-06-08
      • 1970-01-01
      相关资源
      最近更新 更多