Petit bug dans compte à rebours php
Résolu
nico3009
Messages postés
103
Date d'inscription
Statut
Membre
Dernière intervention
-
nico3009 Messages postés 103 Date d'inscription Statut Membre Dernière intervention -
nico3009 Messages postés 103 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Voilà, j'ai fait un petit souci dans un compte à rebours php.
Tant que l'heure limite n'est pas atteinte, le compte à rebours marche impec.
Dès que l'heure fixée est atteinte au lieu de m'écrire "Temps écoulé" comme je le voulais, il m'écrit :
"23h59mn59s Temps écoulé" et continue un compte à rebours.
Je précise également que je ne fais affciher les jours, heures et minutes uniquement si elles sont supérieures à 0.
Voici le script, j'attends votre aide. Merci.
$finpronosall = mktime($heureall, $minuteall, $secondeall, $moisall, $jourall, $anneeall);
$timestamp = time();
$resteall = $finpronosall-$timestamp;
$restejoursall = $resteall/86400;
$restejoursall1 = floor($restejoursall);
$resteheuresall = ($resteall - ($restejoursall1 * 86400))/3600;
$resteheuresall1 = floor($resteheuresall);
$resteminall = ($resteall-(($restejoursall1 * 86400)+($resteheuresall1 * 3600)))/60;
$resteminall1 = floor($resteminall);
$restesecall = ($resteall-(($restejoursall1 * 86400)+($resteheuresall1 * 3600)+($resteminall1 * 60)));
$restesecall1 = floor($restesecall);
et pour l'affichage :
if ($restejoursall1 > "0") echo $restejoursall1;
if ($restejoursall1 > "0") echo " jours ";
if ($resteheuresall1 > "0")echo $resteheuresall1;
if ($resteheuresall1 > "0") echo " h ";
if ($resteminall1 > "0") echo $resteminall1;
if ($resteminall1 > "0") echo " min ";
if ($restesecall1 > "0") echo $restesecall1;
if ($restesecall1 > "0") echo " s ";
if ($timestamp > $finpronosall) echo "Temps écoulé";
Voilà, j'ai fait un petit souci dans un compte à rebours php.
Tant que l'heure limite n'est pas atteinte, le compte à rebours marche impec.
Dès que l'heure fixée est atteinte au lieu de m'écrire "Temps écoulé" comme je le voulais, il m'écrit :
"23h59mn59s Temps écoulé" et continue un compte à rebours.
Je précise également que je ne fais affciher les jours, heures et minutes uniquement si elles sont supérieures à 0.
Voici le script, j'attends votre aide. Merci.
$finpronosall = mktime($heureall, $minuteall, $secondeall, $moisall, $jourall, $anneeall);
$timestamp = time();
$resteall = $finpronosall-$timestamp;
$restejoursall = $resteall/86400;
$restejoursall1 = floor($restejoursall);
$resteheuresall = ($resteall - ($restejoursall1 * 86400))/3600;
$resteheuresall1 = floor($resteheuresall);
$resteminall = ($resteall-(($restejoursall1 * 86400)+($resteheuresall1 * 3600)))/60;
$resteminall1 = floor($resteminall);
$restesecall = ($resteall-(($restejoursall1 * 86400)+($resteheuresall1 * 3600)+($resteminall1 * 60)));
$restesecall1 = floor($restesecall);
et pour l'affichage :
if ($restejoursall1 > "0") echo $restejoursall1;
if ($restejoursall1 > "0") echo " jours ";
if ($resteheuresall1 > "0")echo $resteheuresall1;
if ($resteheuresall1 > "0") echo " h ";
if ($resteminall1 > "0") echo $resteminall1;
if ($resteminall1 > "0") echo " min ";
if ($restesecall1 > "0") echo $restesecall1;
if ($restesecall1 > "0") echo " s ";
if ($timestamp > $finpronosall) echo "Temps écoulé";
A voir également:
- Petit bug dans compte à rebours php
- Créer un compte google - Guide
- Installer windows 10 sans compte microsoft - Guide
- Créer un compte gmail - Guide
- Comment savoir qui regarde mon compte facebook - Guide
- Compte facebook désactivé - Guide
8 réponses
bonjour,
normal qu'il continue dans ce que tu as posté je ne vois pas de demande d'arrêt du compteur.
normal qu'il continue dans ce que tu as posté je ne vois pas de demande d'arrêt du compteur.
j'ai pas tout ton code mais apres le "if ($timestamp > $finpronosall) echo "Temps écoulé";" tu peux mettre une autre fonction qui te permettra soit d'arreter le compteur soit d'aller sur une autre page soit de lancer un autre ordre que l'affichage de temps écoulé ... tout dépend à quoi ton compteur sert
C'est en fait un compte a rebours qui est à titre informatif pour l'utilisateur.
J'ai fait un "active link" dans un autre script et ce compte a rebours lui permet de connaitre jusqu'à quand ce lien va rester actif.
Je veux donc qu'il s'affiche simplement "Temps écoulé" quand la condition <<if ($timestamp > $finpronosall)>> est vérifiée.
Merci d'avance
J'ai fait un "active link" dans un autre script et ce compte a rebours lui permet de connaitre jusqu'à quand ce lien va rester actif.
Je veux donc qu'il s'affiche simplement "Temps écoulé" quand la condition <<if ($timestamp > $finpronosall)>> est vérifiée.
Merci d'avance
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour
if ($resteall1 >0) echo $restejoursall1," jours ",$resteheuresall1," h ",$resteminall1," min "$restesecall1," s "; else echo "Temps écoulé";
Ben je veux pas faire simplement << if ($resteall1 >0) >> parce que sinon il peut m'afficher "0 jours 0 heures 0 minutes 18 secondes" par exemple. Dans mon script je lui demande d'afficher simplement "18 secondes".
Le problème c'est qu'à chaque fois il me remet un compte à rebours de 24 heures!
Le problème c'est qu'à chaque fois il me remet un compte à rebours de 24 heures!
OK, je n'avais pas vu ce point.
Comme ça, si le temps est écoulé, il n'exécute pas tout le reste.
Au passage, compare des nombres avec des nombres plutôt qu'avec des textes : $restejoursall1 > 0 et non pas $restejoursall1 > "0"
et compare bien $timestamp >= $finpronosall car sinon, en cas d'égalité, tu n'affiches rien du tout
if ($timestamp >= $finpronosall) echo "Temps écoulé"; else { if ($restejoursall1 > 0) echo $restejoursall1," jours "; if ($resteheuresall1 > 0)echo $resteheuresall1, " h "; if ($resteminall1 > 0) echo $resteminall1," min "; if ($restesecall1 > 0) echo $restesecall1," s "; }
Comme ça, si le temps est écoulé, il n'exécute pas tout le reste.
Au passage, compare des nombres avec des nombres plutôt qu'avec des textes : $restejoursall1 > 0 et non pas $restejoursall1 > "0"
et compare bien $timestamp >= $finpronosall car sinon, en cas d'égalité, tu n'affiches rien du tout