Проблема HTTP с перенаправлением

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

if($m==12 && $d==31)
{
echo "you entered wrong data";
sleep(10) ;
header("Location: http://google.com");
die();
}

Как я могу это исправить?

4

Решение

Вы не можете ответить на запрос 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>
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]