重定向的 HTTP 问题

HTTP issue with redirecting

当用户输入错误数据时,我希望页面显示一条消息 10 秒,然后重定向到 Google。当我使用此代码时,页面重定向到 Google 而没有正确显示此消息。

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

我该如何解决?

您无法使用资源 一条消息来响应请求的资源可以在不同 URL 中找到的消息。

如果您想在一段时间后重定向,则需要使用文档级解决方案(例如 <meta> 或 JavaScript)。

例如:

function redirect() {
    location.replace("http://google.com");
}
setTimeout(redirect, 10000);

也就是说……

人们以不同的速度阅读,而且人们并不总是持续关注给定的浏览器 window(开始加载某些内容然后切换到另一个选项卡并不少见)。

我倾向于按照经验法则工作,如果一条消息值得向用户显示,那么它就值得显示,直到他们主动关闭它。

<p> you entered wrong data </p>
<p> <a href="http://google.com/">continue</a> </p>