Проблема HTTP с перенаправлением
Когда пользователь вводит неверные данные, я хочу, чтобы страница показывала сообщение в течение 10 секунд, а затем перенаправлялась в Google. Когда я использую этот код, страница перенаправляется в Google без правильного отображения этого сообщения.
if($m==12 && $d==31)
{
echo "you entered wrong data";
sleep(10) ;
header("Location: http://google.com");
die();
}
Как я могу это исправить?
1 answers
Вы не можете ответить на HTTP-запрос ресурсом и сообщением о том, что запрошенный ресурс можно найти по другому URL-адресу.
Если вы хотите перенаправить по истечении определенного периода времени, вам необходимо использовать решение на уровне документа (например, <meta>
или JavaScript).
Например:
function redirect() {
location.replace("http://google.com");
}
setTimeout(redirect, 10000);
Это сказало...
Люди читают с разной скоростью, и люди не всегда уделяют постоянное внимание данному окну браузера (начните что-то загружать, а затем переключение на другую вкладку не является редкостью).
Я склонен придерживаться эмпирического правила, что если сообщение стоит показывать пользователю, то его стоит показывать до тех пор, пока он активно не отклонит его.
<p> you entered wrong data </p>
<p> <a href="http://google.com/">continue</a> </p>