2016-04-27 66 views
0

我已經寫了下面的代碼刷新頁面並打印隨機數,但我不明白它的邏輯。php頭函數的工作

<!DOCTYPE html> 
<html> 
<head> 
    <title>Random Refresh</title> 
</head> 

<body> 

<h1>Random refresh</h1> 

<p>page is refreshed every 5 seconds </p> 

<br> </br> 

<p>Radom number between 10 to 100 is : 

<?php 

echo(rand(10,100)); 
header("Refresh: 5; url=randomRefresh.php"); 

?> 

</p> 


</body> 
</html> 

根據我的知識,php是一種服務器端語言,因此php塊內的代碼應該執行一次。

那麼標題函數如何刷新/重定向頁面呢?

php輸出的html頁面是否使用隱式Ajax請求?

引擎蓋下發生了什麼?

+0

如何其可能是你寫的代碼,不理解的邏輯,請提供誠實的理由。 – piyushj

+0

你不明白? ** PHP **執行?代碼首先會打印這些** HTML **,然後是'echo',然後是刷新。哪裏不對? –

+0

你可以查看一下php的頭文件功能http://php.net/manual/en/function.header.php –

回答

0

"Refresh: 5; url=randomRefresh.php"函數執行瀏覽器端。在PHP headers()功能執行的服務器端

header()在PHP僅僅設置一個在網頁加載時發送到客戶端的瀏覽器,但Refresh: 5; url=randomRefresh.php由客戶端的瀏覽器解釋5秒後刷新頁面的額外的或現有的報頭。頭的其他例子是像status,可以是200,301,302,404

0

它被執行一次作爲頁面是負載,但比有作爲

header("Refresh: 5; url=randomRefresh.php"); 

一個代碼,其5秒後重新加載網頁和不是再次在PHP塊被在服務器端執行。

0

您可以使用<meta http-equiv="refresh" content="5; url=randomRefresh.php" />

header("Refresh: 5; url=randomRefresh.php"); 

將通過錯誤,如果任何它被調用之前打印的頁面。

所以,如果你的頁面的名稱是refresh_page_every_5_second.php那麼你的代碼將看起來像

<!DOCTYPE html> 
<html> 
<head> 
    <title>Random Refresh</title> 
    <meta http-equiv="refresh" content="5; url=refresh_page_every_5_second.php" /> 
</head> 
<body> 
<h1>Random refresh</h1> 
<p>page is refreshed every 2 seconds </p> 
<br> </br> 
<p>Radom number between 10 to 100 is : 
<?php 
echo(rand(10,100)); 
//("Refresh: 5; url=randomRefresh.php"); 
?> 
</p> 
</body> 
</html> 
+0

讓我知道你做完了還是不行@ user1567935 –