Перенаправление страницы на другую страницу в течение 5 секунд после перенаправления снова
Я пытаюсь перенаправить страницу на другую страницу, и это работает успешно. Однако я пытаюсь перенаправить первую страницу на другую страницу с рекламой. Эта страница будет перенаправлена на другую страницу через пять секунд.
Я пытаюсь сделать это, сделать это:
<?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
A типичная ссылка, на которую я буду перенаправлять, будет такой:
http://domain.com/adverts/index.php/?url=http%3A%2F%2Fitunes.apple.com%2Fmx%2Falbum%2Fstill-got-the-blues%2Fid14135178%3Fi%3D14135158
4 ответов
на первой странице(перед объявлениями) перед doctype или html тегами ставим:
<?php header("location: adlocationhere.php"); ?>
затем на странице объявления поместите следующее:
<?php header("refresh:5;url=secondredirectafter5seconds.php"); ?>
это сразу перенаправит вашу первую страницу, и она перенаправит вашу вторую страницу через 5 секунд. Надеюсь, это поможет (его также следует избавиться от не удается изменить информацию заголовка, если вы поместите его перед тегами doctype и html).
EDIT: также имея javascript сделать это может быть риск безопасности b / c любой пользователь может изменить его местоположение. Делая это таким образом, Вы имеете полный контроль над тем, куда направляется пользователь.
все страницы имеют заголовки и контент. Чтобы перенаправить посетителя на другую страницу, вы должны сделать это в разделе заголовка страницы. После того, как вы напечатали содержимое страницы (ваши объявления), вы фактически запустили контент, в котором нет возврата к изменению заголовков.
лучший способ сделать это - иметь javascript, такой как
<script>
function redirect() { window.location = '$url'; }
setTimeout("redirect();", 5000);
</script>