Как приостановить страницу за определенное количество секунд, прежде чем перенаправить пользователя на другую страницу HTML / PHP с помощью PHP?
Это должно работать:
<?php header('Refresh: 5; URL=http://yoursite.com/page.php'); //other code ?>
и позволит вашему пользователю видеть любой вид вывода, который вы хотите (вы будете перенаправлены в X Seconds, нажмите yere, если нет, и т. д.)
Низкотехнологичное решение, не требующее Javascript или даже PHP:
<html> <head> <title>Redirecting...</title> <meta http-equiv="refresh" content="10;URL=http://www.newsite.com"> </head> <body> You are being automatically redirected to a new location.<br /> If your browser does not redirect you in 10 seconds, or you do not wish to wait, <a href="http://www.newsite.com">click here</a>. </body> </html>
Преимущество этого решения с использованием заголовка «Location:» заключается в том, что вам не нужно приостанавливать выполнение сценария, который будет отображаться для пользователя, как если бы сервер был занят или их соединение зависло.
Это решение также дает пользователю возможность немедленно перейти на новую страницу, а не ждать x секунд, пока их браузер не отображает информацию.
Редактирование: Я думаю, что также стоит отметить, что если вы решите использовать метод header (), вам нужно убедиться, что продолжительность sleep () не слишком длинная. Я думаю, что большинство браузеров генерируют время соединения, не получая никаких данных с сервера в течение 1 минуты.
никогда не используйте сон таким образом. Даже при небольшой нагрузке на вашем сервере не будет http-соединений. Хуже, если ваш брандмауэр заканчивается.
Параметр задержки в заголовке перенаправления выполнен точно по той же причине.
Другие 2 варианта – это переадресация Javascript с использованием setTimeout () или тега meta refresh с таймаутом.
Если вы хотите подождать, а затем вернуться к предыдущей странице, вот как
$referrer = $_SERVER['HTTP_REFERER']; header ("Refresh: 2;URL='$referrer'");
Обновление : это работает, но может и не быть наиболее подходящим решением для этой ситуации. См. Комментарии.
Возможно, это то, что вы ищете?
<?php sleep(5); header("Location: http://www.example.com/"); exit(); ?>
Пытаться:
<?php $url=base_url().'page_you_want_to_go_to' header('Refresh: X; URL=$url'); ?>
Это даст вам дополнительную гибкость при обмене между локальным хостом и удаленным сервером.
поместите это в заголовок.
<meta http-equiv="refresh" content="0.01;makensucces.html" />
на месте 0,01 вы должны поставить секунды, я использовал десятичное число.
и на месте makensucces.html вам нужно указать имя из файла, который вы хотите.