2010-09-08 75 views
0

我想使我的PHP脚本在加载到下一个脚本之前至少在屏幕上停留5秒。我试过“睡眠()”,但这不是我正在寻找的功能,因为它只会暂停正在“加载”的脚本。如何冻结PHP脚本几秒钟?

这里是我的代码:

echo "Welcome ",$_SESSION['username']."<br>"; 
    echo "Click here to Logout : ".'<br><a href="logout.php">Logout</a>'; 

    sleep(10); 

    header("Location: http://192.168.11.32/phploginserver/test.php"); 

    echo '<script type="text/javascript">window.location="test.php"</script>';  
} 

我想echo'to另一页”以延迟加载之前让自己的用户可以被自动重定向到前查看自己的用户名至少5秒下一页。

回答

0

您无法在屏幕上冻结PHP脚本。
只是因为在屏幕上没有PHP脚本。但仅仅是浏览器呈现的HTML。

这样的冷冻被认为是不好的做法,现在不使用。
要么显示消息,要么显示消息非常重要,或者立即让用户到目的地(首选)。
您可以使用一些基于AJAX技巧的提示,就像stackoverflow一样。

,使我的用户可以查看自己的用户名

难道他们不知道它了吗?
他们不能在下一页看到它吗?
如果用户感到不安并且没有注意到该消息,该怎么办?

+2

我只是在这里做一些pentesting。您可以放松一下先生。 – JavaNoob 2010-09-08 09:50:10

+0

@Java测试无用和过时的技术有什么意义?现在不是放松的时候,因为你不了解基础知识。努力学习,并逐渐获得某种尊重。 – 2010-09-08 10:06:32

+1

好了,为了学习同样的着名的报价“黑客学习,而不是学习黑客”无论如何,我想你的答案是正确的。似乎没有人知道如何正确地做。 – JavaNoob 2010-09-09 00:36:41

0
$time = new DateTime(); 
$newtime = $time->Modify("+5 seconds"); 



while($newtime > (new DateTime())) 
    { 
    // Do nothing 
    } 
+0

你可以使用暂停(5);获取更短版本的代码。 – JavaNoob 2010-09-09 02:47:56

0

可以使用额外的参数与PHP头推迟它。像这样:

header('Refresh: 10; url=http://192.168.11.32/phploginserver/test.php');