Serverzeit übergeben

Sasser

Erfahrenes Mitglied
Hallo Leute!

Ich habe eine Uhr, welche sich aber zur Zeit noch an die Zeit des Clients orientiert. Für ein Game ist es aber notwendig, beim Seitenaufruf die Serverzeit abzufragen und mit dem Script die Zeit weiterlaufen zu lassen.

Ich habe nun schon mehrere Versuche gemacht, er holt zwar die aktuelle Zeit läuft aber nicht weiter, da er ja die Zeit nur beim Seitenaufruf vom Server holt.

Habs Ihr eine Idee? Ich habe schonmal ein Script gehabt, allerdings verbummelt...

PHP:
<script language="JavaScript">
function time() {
var ii;
var date=new Date();
var hh=date.getHours();
ii=Math.floor(hh/10);
document.h1.src="images/time/"+ii+".gif"
ii=hh%10;
document.h2.src="images/time/"+ii+".gif"
var mm=date.getMinutes();
ii=Math.floor(mm/10);
document.m1.src="images/time/"+ii+".gif"
ii=mm%10;
document.m2.src="images/time/"+ii+".gif"
var ss=date.getSeconds();
ii=Math.floor(ss/10);
document.s1.src="images/time/"+ii+".gif"
ii=ss%10;
document.s2.src="images/time/"+ii+".gif"
setTimeout("time()", "1000");
}
</script>
 
Ich habe mich villeicht falsch ausgedrückt, denn die Zeit wird übergeben! Das Problem ist aber, dass die Zeit nicht automatisch weiterzählt sondern sich nur aktualisiert, wenn man die Seite neu lädt!

Wie kann man das realisieren, dass er die Serverzeit nicht und diese einfach weiterzählt?

PHP:
<script language="JavaScript">
function time() {
var Serverzeit = new Date(<?php echo date("Y, m, d, H, i, s"); ?>);
var ii;
var hh = Serverzeit.getHours();
ii = Math.floor(hh/10);
document.h1.src="images/time/"+ii+".gif"
ii = hh%10;
document.h2.src="images/time/"+ii+".gif"
var mm = Serverzeit.getMinutes();
ii = Math.floor(mm/10);
document.m1.src="images/time/"+ii+".gif"
ii = mm%10;
document.m2.src="images/time/"+ii+".gif"
var ss = Serverzeit.getSeconds();
ii = Math.floor(ss/10);
document.s1.src="images/time/"+ii+".gif"
ii = ss%10;
document.s2.src="images/time/"+ii+".gif"
setTimeout("time()", 1000);
}
</script>
 
spontan würde ich sagen, dass die Vaiable "Serverzeit" bei jedem Aufruf überschrieben wird. Das musst du verhindern, indem du die Variable außerhalb der Funktion definierst.

Code:
<script language="JavaScript">
var Serverzeit = new Date(<?php echo date("Y, m, d, H, i, s"); ?>);

function time() {
var ii;
var hh = Serverzeit.getHours();
ii = Math.floor(hh/10);
document.h1.src="images/time/"+ii+".gif"
ii = hh%10;
document.h2.src="images/time/"+ii+".gif"
var mm = Serverzeit.getMinutes();
ii = Math.floor(mm/10);
document.m1.src="images/time/"+ii+".gif"
ii = mm%10;
document.m2.src="images/time/"+ii+".gif"
var ss = Serverzeit.getSeconds();
ii = Math.floor(ss/10);
document.s1.src="images/time/"+ii+".gif"
ii = ss%10;
document.s2.src="images/time/"+ii+".gif"
setTimeout("time()", 1000);
}
</script>
 
Zurück