Tiens je te passe un vieux code que j'avais fait il y a quelques temps déjà, ça pourra peut-être t'aider...
Faut mettre ça dans une fonction PHP que tu appelles comme tu veux, tu lui passes en argument $date, qui correpond à un date() PHP au format "F d, Y H:i", et en second parametre $redirection, qui correspond à là où tu veux rediriger à la fin du compte à rebours.
Enfin, c'est un exemple...
Je te montre également mon code PHP au cas où y'aurait mal-compréhension.
Ah, et j'ai failli oublier l'intégration HTML, te faut des div avec les id : jour, heure, minute, seconde
Si tu veux pas les jours, tu mets pas de div portant l'id jour, ...
A bientôt !
var cible = new Date('".$date."');
var time = parseInt(cible.getTime() / 1000, 10);
function decompte()
{
var aujourdhui = new Date();
time_tmp = parseInt(aujourdhui.getTime() / 1000, 10);
restant = time - time_tmp;
jour = parseInt((restant / (60 * 60 * 24)), 10);
heure = parseInt((restant / (60 * 60) - jour * 24), 10);
minute = parseInt((restant / 60 - jour * 24 * 60 - heure * 60), 10);
seconde = parseInt((restant - jour * 24 * 60 * 60 - heure * 60 * 60 - minute * 60), 10);
if (jour > 1)
{
document.getElementById('jours').innerHTML = jour+' jours';
}
else if (jour == 0)
{
document.getElementById('jours').innerHTML = '';
}
else
{
document.getElementById('jours').innerHTML = jour+' jour';
}
if (heure > 1)
{
document.getElementById('heures').innerHTML = heure+' heures';
}
else if (heure == 0)
{
document.getElementById('heures').innerHTML = '';
}
else
{
document.getElementById('heures').innerHTML = heure+' heure';
}
if (minute > 1)
{
document.getElementById('minutes').innerHTML = minute+' minutes';
}
else if (minute == 0)
{
document.getElementById('minutes').innerHTML = '';
}
else
{
document.getElementById('minutes').innerHTML = minute+' minute';
}
if (seconde > 1)
{
document.getElementById('secondes').innerHTML = seconde+' secondes';
}
else
{
document.getElementById('secondes').innerHTML = seconde+' seconde';
}
if (time_tmp < time)
{
setTimeout('decompte()', 1000);
}
else
{
window.location.replace("".$redirection."");
}
}
setTimeout('decompte()', 500);
Faut mettre ça dans une fonction PHP que tu appelles comme tu veux, tu lui passes en argument $date, qui correpond à un date() PHP au format "F d, Y H:i", et en second parametre $redirection, qui correspond à là où tu veux rediriger à la fin du compte à rebours.
Enfin, c'est un exemple...
Je te montre également mon code PHP au cas où y'aurait mal-compréhension.
/*
* Fonction PHP incluant le code Javascript du compte à rebours
* param $date_rebour (int) timestamp
* param $redirection (string) adresse url
* return ressource (string) code javascript
*/
public static function decompte($date_rebour, $redirection)
{
$date = date('F d, Y H:i', $date_rebour);
echo "<script type=\"text/javascript\">
var cible = new Date('".$date."');
var time = parseInt(cible.getTime() / 1000, 10);
function decompte()
{
var aujourdhui = new Date();
time_tmp = parseInt(aujourdhui.getTime() / 1000, 10);
restant = time - time_tmp;
jour = parseInt((restant / (60 * 60 * 24)), 10);
heure = parseInt((restant / (60 * 60) - jour * 24), 10);
minute = parseInt((restant / 60 - jour * 24 * 60 - heure * 60), 10);
seconde = parseInt((restant - jour * 24 * 60 * 60 - heure * 60 * 60 - minute * 60), 10);
if (jour > 1)
{
document.getElementById('jours').innerHTML = jour+' jours';
}
else if (jour == 0)
{
document.getElementById('jours').innerHTML = '';
}
else
{
document.getElementById('jours').innerHTML = jour+' jour';
}
if (heure > 1)
{
document.getElementById('heures').innerHTML = heure+' heures';
}
else if (heure == 0)
{
document.getElementById('heures').innerHTML = '';
}
else
{
document.getElementById('heures').innerHTML = heure+' heure';
}
if (minute > 1)
{
document.getElementById('minutes').innerHTML = minute+' minutes';
}
else if (minute == 0)
{
document.getElementById('minutes').innerHTML = '';
}
else
{
document.getElementById('minutes').innerHTML = minute+' minute';
}
if (seconde > 1)
{
document.getElementById('secondes').innerHTML = seconde+' secondes';
}
else
{
document.getElementById('secondes').innerHTML = seconde+' seconde';
}
if (time_tmp < time)
{
setTimeout('decompte()', 1000);
}
else
{
window.location.replace(\"".$redirection."\");
}
}
setTimeout('decompte()', 500);
</script>";
}
Ah, et j'ai failli oublier l'intégration HTML, te faut des div avec les id : jour, heure, minute, seconde
Si tu veux pas les jours, tu mets pas de div portant l'id jour, ...
A bientôt !