Page 1 sur 1

Pb setTimeout

Posté : 26 avr. 2010, 14:53
par hashut
bonjour
j'ai encore un petit blem mon compte a rebour n ai plus dynamique le setimeout ne fonctionn plus
si je met
var date1 = new Date();
la sa marche mais quand je met l'heure du server la sa defile plus
var date1 = new Date("<?php echo ($time); ?>");

Code : Tout sélectionner

<body onload="Rebour()"> <label id="Compte"></label> <script type="text/JavaScript" language="javascript"> var Affiche=document.getElementById("Compte"); function Rebour() { <?php $time= date('M d H:i:s Y'); ?> var date1 = new Date("<?php echo ($time); ?>"); //var date2 = new Date ("Apr 25 23:35:00 2010"); // Date et heure de l'événement <?php $datas= "Apr 27 16:00:00 2010" ; ?> var date2 = new Date ("<?php echo ($datas); ?>"); var sec = (date2 - date1) / 1000; // Temps donné en millièmes de seconde var n = 24 * 3600; //nombre de secondes dans un jour if (sec > 0) { j = Math.floor (sec / n); h = Math.floor ((sec - (j * n)) / 3600); mn = Math.floor ((sec - ((j * n + h * 3600))) / 60); sec = Math.floor (sec - ((j * n + h * 3600 + mn * 60))); Affiche.innerHTML = + h +":"+ mn +":"+ sec + " "; } else { Affiche.innerHTML = "Ench&egrave;res Termin&eacute;s"; } tRebour=setTimeout ("Rebour();", 1000); } Rebour(); </script>
un peu aide me ferrait pas de mal merci

Re: Pb setTimeout

Posté : 26 avr. 2010, 15:21
par AB
Les dates générées en php ne peuvent être lues qu'au démarrage de ton script javascript.
Ensuite dans ta boucle javascript les données php ne sont pas régénérées...

Re: Pb setTimeout

Posté : 26 avr. 2010, 15:41
par hashut
est il possible de generer la date du serveur en javasript alors?

Re: Pb setTimeout

Posté : 26 avr. 2010, 16:19
par macgawel
Bonjour.

1. Merci de poster les questions sur le Javascript dans le forum "Javascript" :evil:

2. Par définition :
- Le Javscript s'exécute du côté client.
- Le PHP s'exécute côté serveur.

=> Il est impossible de generer la date du serveur en javasript (puisque JS ignore le serveur)

A la limite, il est toujours possible d'utiliser de l'AJAX pour que JS appelle une page PHP.
La page PHP (côté serveur) renvoie la date, JS (côté client) l'utilise.
Problèmes :
- Il faut quand-même su temps pour comuniquer entre le client et le serveur. Du coup la date ne sera pas fiable.
- Ca risque d'engendrer assez vite une charge importante pour le serveur (pas au niveau traitement, mais au niveau transfert de données).
Le tout pour un gain relativement léger...

Re: Pb setTimeout

Posté : 26 avr. 2010, 17:08
par AB
Sinon tu peux récupérer l'heure de l'ordinateur du visiteur en javascript http://www.commentcamarche.net/contents ... sdate.php3