Bonjour,
Une solution consiste à jouer avec l'interval (en millisecondes) entre le moment présent et l'heure d'envoie du formulaire.
Et on utilise après la fonction JS setInterval() qui permet l'exécution d'une tache dans un lapse de temps (calculé en milisecondes)
Ça nous donnerai QQ chose du style
<?php
$heureEnvoie = 79200; // 22h00 en secondes
$maintenant = date('H') * 3600 + date('i') * 60 + date('s');
/*
** CALCUL DU NOMBRE DE MILLIEMES DE SECONDE A ATTENDRE
** Si $maintenant > $heureEnvoie on change de jour
** Exp: Il est 22h et on doit l'envoyer à 03h
*/
$interval = ($maintenant > $heureEnvoie ? (86800 - $maintenant) + $heureEnvoie : $heureEnvoie - $maintenant) * 1000;
?>
<html>
<head>
<script type="text/JavaScript">
// Déclaration de l'dentifiant du timer
timerId = null;
function evoieFormulaire(){
// Annule toute nouvelle action
clearInterval(timerId);
// Soumission du formulaire
document.ma_form.submit();
}
</script>
</head>
<body onLoad="JavaScript:timerId = setInterval('evoieFormulaire()', <?php echo $interval;?>);">
<form name="ma_form" action="ma_page.php" method="post">
</form>
</body>
</html>
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.
A. Einstein