countdown = 0 dann anders

wildthingtch

Mitglied
Ich steh wieder mal am Berg :confused:
Ich hab in einem Skript n Countdown bis zu einem vorgegebenen Datum
:
PHP:
//votingdauer
$newDate = mktime(10,27,0, 6, 26, 2009);
// aktuelle Zeit im Unixformat erzeugen
$actDate = time();
// Differenz berechnen (in Sekunden)
$diffDate = ($newDate-$actDate);

// Anzahl Tage = Sekunden /24/60/60
// floor() liefert nur den Anteil vor dem Komma
$days = floor($diffDate / 24 / 60 / 60 );
// den verbleibenden Rest berechnen = Stunden
$diffDate = $diffDate - ($days*24*60*60);
// den Stundenanteil herausrechnen
$hours = floor($diffDate / 60 / 60);
$diffDate = ($diffDate - ($hours*60*60));
// den Minutenanteil
$minutes = floor($diffDate/60);
$diffDate = $diffDate - ($minutes*60);
// die verbleibenden Sekunden
$seconds = floor($diffDate);
Das funktioniert wunderprächtig, doch nun das Problem:
wenn der Zeitpunkt erreicht oder überschritten ist, soll das skript automatisch weiterleiten:
PHP:
//voting ausblenden wenn Zeit=0
if ($actDate>=$newDate){echo '<meta http-equiv="refresh" content="0; URL=http://hitparade.radio-powerdream.ch/offline.php">
';}
else { 
echo "<h1 class='parHeading3'><span class='ds2'>dieses Voting läuft noch: $days Tage, $hours Stunden, $minutes Minuten und $seconds Sekunden<br></span></h1>";
}
nur jetzt leitet er mir dauernd weiter :-(
wo mache ich den Denkfehler?
 
genau das ist der Punkt
wie du vorher erkannt hast im geposteten schnipsel war Zielzeit$newDate überschritten daher Weiterleitung =Korrekt
nur er leitet mir auch weiter wenn der countdown noch zb 2 min zu laufen hat
 
Hmm,

kann ich ehrlich gesagt nicht glauben. Lass dir doch einmal beide Zeiten ausgeben und prüfe diese manuell!
 
Es ist alles korrekt!
Zur Sicherheit habe ich es noch mal bei mir ausgeführt, wunderbar. Also muss es an einer anderen Stelle im Code einen Fehler geben.
 
Was heißt denn jetzt leer? Beide Variablen?

statt mktime könntest du auch strtotime verwenden:

Code:
strtotime('2009-06-26 10:53:12');
 
Zurück