Message changé et rafraîchit selon l'heure

Fermé
Simflint - 6 janv. 2009 à 21:35
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 - 6 janv. 2009 à 22:07
Bonjour à tous.

Je veux afficher un message différent sur mon site internet selon l'heure du serveur... Tout ce passe bien, un seul hic : quand quelqu'un qui arrive sur la page juste avant l'heure du changement de message le message ne change pas une fois l'échéance venue!

Je suis débutant en informatique et ce que je vous présente ici, est ce que j'ai réussi à bidouiller jusqu'à date...

<DIV ID=heure></div>
<SCRIPT LANGUAGE=JavaScript>
date = new Date(0,0,0,<?php echo date("H, i, s"); ?>)
heu = date.getHours();
min = date.getMinutes();
sec = date.getSeconds();

function calc() //fonction pour afficher l'heure du serveur
{
sec++;
if (sec < 10)
sec = "0"+Math.round(sec);
else if(sec >= 60)
{
sec = "00";
min++;
}
if (min < 10)
min = "0"+Math.round(min);
else if(min >= 60)
{
min = "00";
heu++;
}
if (heu < 10)
heu = "0"+Math.round(heu);
else if(heu >= 24)
{
heu = "00";
}


texte = heu + ":" + min + ":" + sec;
if (document.getElementById)
{
document.getElementById("heure").innerHTML=texte;
}
}


function action() //fonction d'affichage d'un message selon l'heure du serveur

{
if (heu>=0 && heu<=5)
{
MessageB = '1';
}
if (heu>5 && heu<=12)
{
MessageB = '2';
}
if (heu>12 && heu<=13)
{
MessageB = '3';
}
if (heu>13 && heu<=17)
{
MessageB = '4';
}
if (heu>17 && heu<=19)
{
MessageB = '5';
}
if (heu>19 && heu<60)
{
MessageB = '6';
}
return MessageB;
}
setInterval("calc()", 1000);
</SCRIPT>
<body>
<SCRIPT LANGUAGE="JavaScript">
document.write(action());
</SCRIPT>
</body>


En bref ce que j'ai de besoin c'est de faire en sorte que le message se rafraîchisse au bon moment.

Merci à l'avance

Simflint

5 réponses

Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
6 janv. 2009 à 21:40
le message ne changera jamais je pense^^ tu as mélangé du javascript et du php, le php peut donner la première heure, mais pas le reste (sauf si tu fais ça en ajax, mais ce n'est pas ton cas).

Le php s'exécute côté serveur, donc à chaque appel de page, le javascript s'execute côté client, donc uniquement à partir du navigateur^^ mais sans ajax il ne fait pas d'appel au serveur. Tu devrais pouvoir trouver des fonctions javascript de dates
0
rescue Messages postés 1039 Date d'inscription vendredi 16 novembre 2007 Statut Contributeur Dernière intervention 27 mars 2019 136
6 janv. 2009 à 21:47
Bonsoir,

Je comprends ton PB :
Mais je pense que tu t'en sortira mieux avec une base de donnée.

Requête php dans mysql tu pourras même faire énormément d'interaction et beaucoup plus dynamique.

Ton problème : c'est que tu mélanges du code javascript qui exécute du code coté client (navigateur web)
et du php qui exécute du code coté serveur (Apache)

Conclusion : si l'heure ou la date du PC du client n'est pas à l'heure du serveur ton code ne marchera pas.

Par contre ne compte pas sur moi pour coder pour toi je te donne tout simplement une piste.
Merci de ta compréhension
0
Smoking bird...

En effet, c'est très simple d'avoir les dates avec le javascript, mais du côté client, soit l'heure et la date de l'ordinateur client. Ce que je cherche à avoir c'est le temps du serveur de là l'utilisation du php.

Je pense encore qu'il doit y avoir un moyen de synchroniser un rafraîchissement des messages avec le temps serveur qui est somme toute afficher sur la page. C'est se moyen qui m'échappe.

Désolé de ne pas avoir été suffisamment clair.

Simflint
0
Merci pour la piste rescue,

Je vais jeter un oeil du côté des bases de données...

Si quelqu'un d'autre à une idée qui pourrait m'éviter de passer par les bases de données... qu'il ne la censure point,

Sinon,
Merci beaucoup...

Simflint
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
6 janv. 2009 à 22:07
Cherches du côté de ajax

en gros:

tu peux créer une fonction javascript, qui 'dialoguera' avec un script php. La fonction javascript se déclenchera quand tu le définira, et elle fera s'executer le script php, qui renverra les données qui t'intéressent

simple, et efficace, tu es sûr d'avoir l'heure du serveur, mais fais gaffe au déclencheur de la fonction^^
0