Pb setTimeout

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Pb setTimeout

Re: Pb setTimeout

par AB » 26 avr. 2010, 17:08

Sinon tu peux récupérer l'heure de l'ordinateur du visiteur en javascript http://www.commentcamarche.net/contents ... sdate.php3

Re: Pb setTimeout

par macgawel » 26 avr. 2010, 16:19

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

par hashut » 26 avr. 2010, 15:41

est il possible de generer la date du serveur en javasript alors?

Re: Pb setTimeout

par AB » 26 avr. 2010, 15:21

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...

Pb setTimeout

par hashut » 26 avr. 2010, 14:53

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