Avatar billede akyhne Nybegynder
07. september 2008 - 00:50 Der er 16 kommentarer og
1 løsning

Hvorfor passer tiden ikke? javascript og php.

Der er svingende tidsforskel på hvad javascriptet skriver i tid og hvad time() skriver. Op til 20 sekunder!!

Hvorfor og hvordan kan det løses?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
<script type="text/JavaScript">
function writesSomething() {
  dato = new Date();
  unix = Math.floor(dato.getTime()/1000);
  document.getElementById('hiddenWrite').value = unix;
}
</script>
</head>

<body onLoad="writesSomething()">
hiddenWrite
<input id="hiddenWrite" type="text" name="textfield">
<br>
<input name="" type="text" value="<?php echo time(); ?>">
</body>
</html>
Avatar billede akyhne Nybegynder
07. september 2008 - 00:56 #1
Hos en host svinger tiden i øjeblikket med 20-21 sekunder, på en anden med 6-7!
Avatar billede erikjacobsen Ekspert
07. september 2008 - 01:02 #2
Ja, sådan er det jo. Skal du bruge at 2 servere har præcis samme tid - sådan plus/minus et halvt sekund? 

Tiden i Javascript er tiden på maskinen med browseren - den kan være meget mere ved siden af ude hos en almindelig bruger.
Avatar billede akyhne Nybegynder
07. september 2008 - 01:06 #3
Kan man med javascript ikke fange tiden på serveren?
Avatar billede akyhne Nybegynder
07. september 2008 - 01:07 #4
Og nej, jeg skal have tiden fra samme server...hostens tid.
Avatar billede akyhne Nybegynder
07. september 2008 - 01:08 #5
+/- ½ sekund er fint.
Avatar billede hmortensen Nybegynder
07. september 2008 - 01:17 #6
Du kan med PHP skrive tiden til et Javascript, men fra siden bliver eksekveret på serveren, og sendt til klienten, går der også tid.
Avatar billede akyhne Nybegynder
07. september 2008 - 01:20 #7
hmortensen: Det kan jeg desværre ikke bruge.
Avatar billede hmortensen Nybegynder
07. september 2008 - 01:24 #8
Der er ikke meget andet at gøre.
Hvad ønsker du at opnå?
Avatar billede akyhne Nybegynder
07. september 2008 - 01:33 #9
Jeg må bare beregne tidsforskellen ved load af siden.
Avatar billede erikjacobsen Ekspert
07. september 2008 - 08:35 #10
"Jeg må bare beregne tidsforskellen ved load af siden." Vil du beregne det på klienten eller på serveren?
Avatar billede akyhne Nybegynder
07. september 2008 - 11:24 #11
På serveren. Jeg har fået det til at spille.

Erik: et svar
Avatar billede akyhne Nybegynder
07. september 2008 - 11:26 #12
Jeg var ikke klar over at tiderne var forskellige, men nu jeg tænker over det, siger det selvfølgelig sig selv. Javascriptet kan ikke se tiden på serveren.
Avatar billede erikjacobsen Ekspert
07. september 2008 - 13:11 #13
Ingen point til mig, tak.
Avatar billede akyhne Nybegynder
07. september 2008 - 13:14 #14
Du gav løsningen på fejlen.
Avatar billede erikjacobsen Ekspert
07. september 2008 - 17:21 #15
Jeg samler slet ikke på point, tak. Det er ikke noget personligt ;)
Avatar billede akyhne Nybegynder
07. september 2008 - 17:29 #16
Ok
Avatar billede akyhne Nybegynder
07. september 2008 - 17:30 #17
Men så tak for hjælpen da :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester