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

Кажется, что нецелесообразно использовать

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

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

 header('Location: url') 

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

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

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

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

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

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

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

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

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

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

вызов до отправки любого фактического выхода.

И в javascript:

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

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

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

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

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

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

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

Вы можете сделать это с помощью небольшого фрагмента 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> 

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

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

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

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

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