Как перенаправить страницу в PHP через несколько секунд без meta http-equiv = REFRESH CONTENT = время - программирование
Подтвердить что ты не робот

Как перенаправить страницу в PHP через несколько секунд без meta http-equiv = REFRESH CONTENT = время

Кажется, что не рекомендуется использовать

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

для перенаправления, но вместо этого используйте

header('Location: url')

Однако я хотел бы показать пользователю какое-то сообщение и позволить им некоторое время прочитать его перед перенаправлением. Есть ли способ сделать это без мета?

4b9b3361

Ответ 1

Попробуйте использовать заголовок "refresh":

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

Также вы можете посмотреть этот вопрос Обновить заголовок HTTP.

Ответ 2

Нет ничего плохого в использовании тега meta refresh.

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

Этот тег говорит, подождите 5 секунд и перенаправляется на example.com. Этот тег не является проблемой, если пользователи не находятся на IE6 и все еще работают, просто разбивает кнопки истории.

Использование JavaScript - это вариант, но убедитесь, что вы указали ссылку. Если вы не перенаправлены автоматически, нажмите здесь ". Вы должны включить эту ссылку в любом случае.

Ответ 3

php способ установить заголовок, перенаправит вас на test.php за 5 секунд:

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

до того, как будет отправлен любой фактический вывод.

И в javascript:

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

Ответ 4

Тэги заголовков отправляются на загрузку страницы в браузер, чтобы он мог быстро перенаправить пользователя на нужную страницу, не беспокоясь о том, чтобы отобразить его или даже загрузить в историю. Таким образом, вы не можете вызвать перенаправление после того, как страница уже загружена, поскольку заголовки уже обработаны.

Вместо этого вы можете выполнить следующее:

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

Что в основном устанавливает тег <meta> в заголовках самой страницы, то есть вам не нужно писать тег.

Ответ 5

По тому, что вы, ребята, говорите, теоретически это должно работать тогда:

URL: 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, который я только что узнал.

Ответ 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>

Ответ 7

Я думаю, что лучший способ - header("Refresh: 10;url=../index.php"); Как то, что я сделал с моей работой.

Ответ 8

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

ознакомьтесь с приведенной выше статьей, где они четко объяснили, как перенаправить страницы в PHP, установив время.

Перенаправление кода без установленного времени: header ('location: URL ADDRESS');

Перенаправление кода с установленным тремя секундами: header ('refresh: 3; url = URL ADDRESS');