2010-09-08 76 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');