[php] faire une action tout les laps de temps

faire une action tout les laps de temps [php] - PHP - Programmation

Marsh Posté le 25-03-2009 à 09:34:19    

Bonjour a tous,
je vient solliciter une fois de plus votre aide ^^'
En fait voici mon soucis,j'ai un programme un genre de quizz avec un chronometre qui se decremente au fur et a mesure, tout marche nickel sauf que quand on fait F5 le temps remonte jusqu'au dernier submit que la page a subit...
J'aimerait savoir si il y a une focntion php pour dire :
Toutes les secondes fait uns ubmit sur ce form, le form contiendrait les parametres du chronometre.
Actuellement je passe par une focntion javascript pour decrementer le temps toutes les secondes, j aimerait un equivalent en php...
 
voici les codes :
 
/*Permet la gestion du chronometre */
 
 echo "Temps restant :<input type=text name=ZTTemps size=10 readonly align=right>";
 echo "<input type=hidden name=heure  value=".$_POST['heure']."  >";
 echo "<input type=hidden name=minute value=".$_POST['minute'].">";
 echo "<input type=hidden name=seconde value=".$_POST['seconde'].">";
 
(d'ou le probleme du "remontage" du temps lors d'un submit, je perd la valeur des champs entre le submit et le F5(actualisation quoi))
 
et voici la fonction javascript qui permet le controle de ce chrono
 
function AfficheHeure()
{
              document.form1.PremPassage.value="no";
 
              if (Number(document.form1.minute.value)==0 && Number(document.form1.seconde.value)== 0)
             {
                           document.form1.BoutonSuivant.disabled=true;
                           document.form1.BoutonPremiere.disabled=true;
                           document.form1.BoutonDerniere.disabled=true;
                           document.form1.BoutonAnnuler.disabled=true;
                           document.form1.BoutonPrecedent.disabled=true;
                           document.form1.BoutonValider.disabled=true;
                           document.form2.BoutonEnvoi.disabled=false;
   
              }else{
                                  document.form1.test.value = Number(document.form1.test.value) + 1;  
                                  document.form1.seconde.value = Number(document.form1.seconde.value) - 1;
                                  if (Number(document.form1.seconde.value)<0)
                                 {
                                             document.form1.seconde.value = "59";
                                             document.form1.minute.value = Number(document.form1.minute.value) -1;
                                 }
   
                                 if (Number(document.form1.seconde.value)<10 && document.form1.seconde.value.length <2  )
                                {
                                            document.form1.seconde.value= "0" + document.form1.seconde.value;
                                 }
 
                                 if (Number(document.form1.minute.value)<10 && document.form1.minute.value.length <2 )
                                {
                                          document.form1.minute.value= "0" + document.form1.minute.value;
                                 }
                               document.form1.ZTTemps.value = document.form1.heure.value + ":" + document.form1.minute.value + ":" + document.form1.seconde.value;
       setTimeout("AfficheHeure()",1000);
                   }
}  
 
fonction que j appelle lors du chargement de la page <body onLoad=AfficheHeure()>
 
si ceci n existe pas, si vous avez des idées pour gerer cela je suis preneur, si c'est mal codé n 'hesitez pas a me le dire, j'ai arreter le code durant un moment et j'ai surement perdu beaucoup...


Message édité par wurmike le 25-03-2009 à 09:37:51
Reply

Marsh Posté le 25-03-2009 à 09:34:19   

Reply

Marsh Posté le 25-03-2009 à 10:21:16    

php, c'est côté serveur, donc pas possible  :pfff:


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 25-03-2009 à 10:35:29    

ok .. et tu n'aurait pas une idée? ou une fonction php qui pourrait m'aider :( la je galere sur ça


---------------
http://forum.hardware.fr/hfr/Achat [...] 8770_1.htm
Reply

Marsh Posté le 25-03-2009 à 10:37:19    

A la limite tu peux t'en sortir avec de l'Ajax :
- en faisant une requête Ajax toutes les secondes pour stocker la valeur du chronomètre du côté PHP, et ainsi la récupérer en cas de F5.  
- ou bien tu enlèves le submit complet de la page, et tu le remplace par un submit Ajax ( qui ne rechargera pas l'intégralité de la page, et laissera donc le chrono intact ).
 
En tout état de cause, tu es obligé de laisser le chrono côté javascript...


Message édité par DaSayan le 25-03-2009 à 10:42:53

---------------
Tous les programmeurs sont des auteurs et tous les ordinateurs sont de mauvais acteurs.
Reply

Marsh Posté le 25-03-2009 à 10:46:50    

regardes du côté des libs prototype et script.aculo.us. Y'a une fonction qui permet de faire une requête ajax toutes les x secondes.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 25-03-2009 à 10:52:30    

ah ok donc faut je me mettes a l'Ajax ...
merci a vous je vais voir ça si j'y arrives ou quoi ^^'


---------------
http://forum.hardware.fr/hfr/Achat [...] 8770_1.htm
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed