Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

HEURE DU SERVEUR EN TEMPS RÉEL


Information sur la source

Catégorie :Date / Heure Niveau : Débutant Date de création : 03/07/2003 Date de mise à jour : 04/07/2003 16:53:22 Vu : 7 967

Note :
4,5 / 10 - par 2 personnes
4,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (17)
Ajouter un commentaire et/ou une note

Description

Je sais, il y a déjà un script d'horloge en "temps réel" sur le réseau, mais je le trouvait en peu lourd, et je trouvais que si la page à charger était très grosse, l'horloge serait en retard...
J'ai donc codé ça en quelques minutes. C'est un script, qui permet d'afficher une horloge en temps réél, il fonctionne avec un iframe, donc le retard n'est du plus qu'a la vitesse de connexion.

Pour l'utiliser, mettez un <?require("realtime.php");?> dans votre page web, et ensuite, mettez dans realtime.php :  
 

Source

  • <?if (empty($aff)) {
  • ?><span id="horlogespan" style="color: #000000; font-size: 9pt; font-family: times;"></span><iframe src="realtime.php?aff=1" noresize frameborder="0" framespacing="0" border="0" marginheight="0" marginwidth="0" scrolling="no" width="0" height="0" style="visibility: hidden;"></iframe><?
  • } else {
  • //Les quatres lignes php suivantes permettent de ne jamais mettre en cache la page.
  • header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
  • header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
  • header("Cache-Control: no-cache, must-revalidate");
  • header("Pragma: no-cache");
  • ?><html><head><title>Heure en temps réel</title><META NAME="robots" CONTENT="noindex, nofollow"></head><body><script language="Javascript">
  • <!--
  • var myDate=new Date(); //On créé un object qui permet de manipuler les dates
  • myDate.setTime(<?=time()*1000?>); //On prend l'heure en cours sur le serveur, à partir de la fonction php time(), pour la mettre dans l'objet de manipulation des dates. Le *1000 est tout simplement parce que en php, l'heure est donnée en secondes, alors que le javascript, en microsecondes
  • function ActualiseHeure() {
  • myDate.setTime(myDate.getTime()+1000); //On ajoute 1000 millisecondes à l'heure, soit 1 seconde.
  • top.horlogespan.innerHTML=myDate.toLocaleString(); //On met dans le span l'heure et la date qu'il est.
  • setTimeout("ActualiseHeure()", 1000); //On rééxécute cette fonctionne dans une seconde.
  • }
  • ActualiseHeure(); //On apelle la fonction une foix, puis après elle tournera toute seule, gràce au setTimeout.
  • //-->
  • </script></body></html><?}?>
<?if (empty($aff)) {
	?><span id="horlogespan" style="color: #000000; font-size: 9pt; font-family: times;"></span><iframe src="realtime.php?aff=1" noresize frameborder="0" framespacing="0" border="0" marginheight="0" marginwidth="0" scrolling="no" width="0" height="0" style="visibility: hidden;"></iframe><?
} else {
//Les quatres lignes php suivantes permettent de ne jamais mettre en cache la page.
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
?><html><head><title>Heure en temps réel</title><META NAME="robots" CONTENT="noindex, nofollow"></head><body><script language="Javascript">
<!--
var myDate=new Date();  //On créé un object qui permet de manipuler les dates
myDate.setTime(<?=time()*1000?>);  //On prend l'heure en cours sur le serveur, à partir de la fonction php time(), pour la mettre dans l'objet de manipulation des dates.  Le *1000 est tout simplement parce que en php, l'heure est donnée en secondes, alors que le javascript, en microsecondes
function ActualiseHeure() {
	myDate.setTime(myDate.getTime()+1000);   //On ajoute 1000 millisecondes à l'heure, soit 1 seconde.
	top.horlogespan.innerHTML=myDate.toLocaleString();	 //On met dans le span l'heure et la date qu'il est.
	setTimeout("ActualiseHeure()", 1000);   //On rééxécute cette fonctionne dans une seconde.
}
ActualiseHeure();  //On apelle la fonction une foix, puis après elle tournera toute seule, gràce au setTimeout.
//-->
</script></body></html><?}?>  

Conclusion

Attention : à la ligne  "var myDate=new date();", mettez un D majuscule à "new Date();". Je ne sais pas pourquoi, mais il s'obstine à me mettre en minuscule...


Voilà, j'éspère avoir été clair.
Si vous avez des questions, allez y !!!



Ps: testé sur Internet Explorer 6. pour Netspace et autres, il faudra attendre les beta testeurs !!!
Ps2: j'ai mit un meta disant aux robots ne viennent pas sur cette page, comme ça l'horloge est pas référencée sur les moteurs de recherche !!!  
 

Commentaires et avis

signaler à un administrateur
Commentaire de Kirua le 04/07/2003 00:51:31

il me semble que c'est new Date() pas new date().
http://www.javascriptfr.com/article.aspx?Val=605
j'en avais déjà parlé là, mais l'auteur a lâchement fuit ;-)
je comprends pas que ça marche avec une minuscule, ça ne devrait pas.

signaler à un administrateur
Commentaire de Pentium4 le 04/07/2003 01:05:20

Ben sa marche minuscule ou pas mais en tout cas merci :D

signaler à un administrateur
Commentaire de Kirua le 04/07/2003 01:10:03

oui mais ça me laisse perplexe. quand j'ai modifié le code (dont j'ai posté le lien), j'ai été obligé de mettre une majuscule sinon ça buggait. j'ai internet explorer 6.0
Ca m'échappe... chez toi il y a même pas un message d'erreur? même pas une icone jaune en bas à gauche dans la barre de tache quand tu mets une minuscule?

signaler à un administrateur
Commentaire de Pentium4 le 04/07/2003 01:45:57

non rien !

signaler à un administrateur
Commentaire de Wessh le 04/07/2003 02:14:14

Escusez moi ça a rien a voir je suis un newbie en php je pige rien ça me soul mais jve juste savoir si du php peut fonctionnet sur du html???? lol je vais me faire jeter des pierres :-(

signaler à un administrateur
Commentaire de Pentium4 le 04/07/2003 03:22:17

non le php n'est pas comme le html (et heuresment) pour faire une procédure en php tu dois faire &lt;? 'Le code' ?&gt; voila comment sa doit etre par contre pour la source d'ici je confirme aucun probleme avec ie 6 peut etre car c'est la derniere version ! (sinon je sais pas pourquoi le 'd' marche en minuscule !

signaler à un administrateur
Commentaire de lumesh le 04/07/2003 06:31:11

Et hop une pierre ;)
Wessh, le php tu peux le melanger a ton code HTML que si tu respect bien la presence des balises &lt;?php         ?&gt;
mais tu peux aussi (comme ds lexemple de la source) melangé du hTML ds du PHP !
soit tu fait:

&lt;font size="2" color="red" face="Arial, sans-serif"&gt;
&lt;?
  echo 'Hello World !';
?&gt;
&lt;/font&gt;

soit tu fais:

&lt;?
   echo '&lt;font size="2" color="red" face="Arial, sans-serif"&gt;Hello World !&lt;/font&gt;';
?&gt;

mais attention au guillemets ! tu n'as ke 3 niveau de guillemets !
1)   '  '
2)   "  "
3)   "  "
la 3) semboite ds la 2) et la 2) ds la 1)

voila voilou Wessh.

Clem, ta source est bien sympathique mais c vrai que tu aurait du un peu aerer les code avant de le deposer :/  pire k1 gateau desidraté ;)

signaler à un administrateur
Commentaire de ronanry le 04/07/2003 08:03:13

et allez une autre pierre ;)

ce qu'il ne faut pas confondre avec le php c que c pas du html!!!!

le php est un langage de programmation dit "preprocesseur" c a dire qu' AVANT que le serveur te renvoie ton fichier html il "execute" ton php qui te renvoie du html.....voila comment marche php :)

signaler à un administrateur
Commentaire de Pentium4 le 04/07/2003 11:54:03

le php est bien car quand tu sais un peu programmer avec sa te facilite le travail pour ton site (moi j'utilise un forum connus je donne pas le nom pour pas faire de pub et bien il est entierement en php et y'a un dossier 'templates' c'est le html pour le disign du forum !

signaler à un administrateur
Commentaire de Clem le 04/07/2003 16:51:03

excusez moi pour le d minuscule de Date, mais c'est le site qui me fait ça... quand je fait modifier la source, j'ai bien dans le textaera un D majuscule, mais ici, ça le fait pas...
quand j'ai codé ça, ça me fesait aussi une erreur en d minuscule, alors j'avais mit en majuscule, et la ça marchait...

signaler à un administrateur
Commentaire de Kirua le 04/07/2003 22:12:09

je préconise de lancer un camion de pierres ;-)

le PHP est un langage interprêté serveur qui ne fait que (oulà ^^) renvoyer précisément du HTML (ou encore du javascript, VBscript etc) interprêtable par le navigateur. Mais in fine, php ne fait que créer un fichier html à partir d'infos qui viennent de fichiers, bdd, serveurs (par socket) autres sites etc... pr envoyer un contenu statique en html. donc le html est l'intermédiaire entre l'utilisateur et le contenu a afficher qui est généré par PHP (on peut voir ça comme ça je pense)

signaler à un administrateur
Commentaire de Pentium4 le 04/07/2003 23:43:00

je suis de ton avis Kirua !

signaler à un administrateur
Commentaire de GuNnERZ77 le 11/04/2004 20:11:38

j'aimerai savoir comment faire pour affiché que l'heure sans la date merci :)

signaler à un administrateur
Commentaire de mister mo le 27/08/2004 01:40:40

Bonjour,
Merci pour ton code, enfin quelqu'un qui n'en fait pas des tartines. Ca fait plaisir.
Bon je vais quand même participer au lancement des pierres c'est vrai que t'aurais pu aerer ton code mais bon j'ai corrige le d en D et puis c'est nickel.

hihi bon courage à bientôt

signaler à un administrateur
Commentaire de grandvizir le 21/01/2005 20:52:49

C'est du drôle de PHP ce cirque... C'est certes tout à fait ce qu'il me fallait, mais je propose une "correction" qui marche très bien sous EasyPHP 1.7 et surtout qui a le mérite d'être plus concise et plus claire.

<html>
<head>
<title>Temps réel</title>
</head>
<body>
  <span id="horlogespan"></span>
  <script language="Javascript">
    var myDate=new Date();
    myDate.setTime(<?=time()*1000?>);
    function ActualiseHeure()
    {
      myDate.setTime(myDate.getTime()+1000);
      top.horlogespan.innerHTML=myDate.toLocaleString();
      setTimeout("ActualiseHeure()", 1000);
    }
    ActualiseHeure();
  </script>
</body>
</html>

L'essentiel est visible...

signaler à un administrateur
Commentaire de grandvizir le 16/02/2005 21:25:12

En visitant d'autres codes sources, il est préférable d'écrire ceci :

  myDate.setTime(<?php echo time()*1000 ?>);

Ca évitera des JS Error sur certaines machines dont la configuration PHP est plus restrictive, c'est-à-dire où <?= est interdit par exemple.

signaler à un administrateur
Commentaire de Kirua le 16/02/2005 21:27:52

Tant qu'à faire, mets un ; après l'instruction echo alors :)

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,203 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.