2013-08-01 44 views
0

在此我張貼一個問題在我使用的是Java腳本和PHP代碼,並使用PHP的時間函數發回的時間戳。讓有代碼,PHP的日期功能的JavaScript

<?php 
session_start(); 
echo time(); 
?> 

<html> 
<head> 
    <title>my app</title> 
    <script type="text/javascript" src="jquery-2.0.2.js"></script> 
    <script type="text/javascript"> 
     $(document).ready(function(){ 
      $(this).mousemove(function(){ 
       var time_=new Date(); 

       var time=<?php echo time();?>; 
       alert(time); 
       $.post('loggout.php',{input: time}); 
      }); 
     }); 

    </script> 
</head> 
<body> 
    <h2>we are on the main_session</h2> 
</body> 
</html> 

現在的問題是,當我移動鼠標比mousemove事件進入行動,顯示的VAR時間的價值。但每次顯示相同的值。該值僅在我重新加載頁面時發生變化。所以請讓我知道這背後的原因,以及如何使這個充滿活力的

+2

發送時間戳 「活」 在Javascript中,使用[你如何在JavaScript中的時間戳?](http://stackoverflow.com/q/221294)('$。員額('loggout.php 」,{輸入新的日期()的getTime()});' –

+0

爲什麼打發時間不能計算時間在文件logout.php – JellyBelly

+0

紈絝子弟有需要我在寫自動經過一番註銷​​?時間 –

回答

0

這是因爲PHP只運行一次 - 在頁面加載時。因此,使用Javascript time變量被填充以由PHP返回的時間,然後永遠不會改變。

如果你感到快樂,以獲得客戶端的時候,只要使用此:

var time = time.getTime(); 

而不是var time=<?php echo time();?>;

否則,你可以使用AJAX來發送一個查詢,會遇到一些PHP,返回時間,並將其放入變量。

例如,你可以嘗試這樣的事:

$.get('getTime.php', function(data) { 
    time = data; 
}); 

而在getTime.php,正好呼應了時間。

+0

感謝延長我的會議。 ..我得到了它。 –

+0

的所有工作?:) – SharkofMirkwood

0

這是因爲PHP是後端的編程語言,一旦你的網頁加載時間戳記寫代碼而不能是動態的。因爲通過JS使用毫秒需要1000

var time = Math.round(+new Date()/1000); 

+將Date對象轉換爲整數)

var time = Math.round(new Date().getTime()/1000); 

師:但你可以給JS時間戳。

看到MDN Date參考。

0

把你的PHP文件這段JavaScript代碼的任何地方。

<script type="text/javascript">  
    var currenttime = '<?php echo date("F d, Y H:i:s"); ?>' //PHP method of getting server date  
    var montharray=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec") 
    var serverdate=new Date(currenttime) 

function padlength(what){ 
    var output=(what.toString().length==1)? "0"+what : what 
    return output 
} 

function displaytime(){ 
    serverdate.setSeconds(serverdate.getSeconds()+1) 
    var datestring=montharray[serverdate.getMonth()]+" "+padlength(serverdate.getDate())+", "+serverdate.getFullYear() 
    var timestring=padlength(serverdate.getHours())+":"+padlength(serverdate.getMinutes())+":"+padlength(serverdate.getSeconds()) 
    document.getElementById("servertime").innerHTML=timestring 
} 
window.onload=function(){ 
setInterval("displaytime()", 1000); 
} 
</script> 

將span或div添加到要顯示當前時間的位置。無需重新加載頁面。

<span id="servertime"></span>