Frage zu PHP-Script - Weekend Countdown

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
knalltrauma
Mitglied
Beiträge: 150
Registriert: 06.05.2004 17:14

Frage zu PHP-Script - Weekend Countdown

Beitrag von knalltrauma »

Hy phpBB-Freunde

Ich melde mich nochmals, weil anscheinend in meinem letzten Posting gravierende Rechtschreibfehler vorhanden waren :lol: Zudem war mein Titel auch falsch gewählt. Tut mir leid ...

Nun zur Ausgangslage. Folgendes Script zählt die Stunden und Minuten runter bis es Wochenende ist. Sobald der Zeitpunkt erreicht ist - jeweils am FR um 17.00 Uhr - sollte das Script einfach "Endlich Wochenende!" ausspucken :D

Komisch ist jedoch, dass das Script jeweils am FR um 17.00 Uhr die Stunden mit "minus" Zeichen ausgibt. Bsp. es ist 18.00 Uhr, steht da:

Es sind noch -1 Stunden und 00 Minuten bis zum Wochenende. Wüsste jemand woran das liegt und/oder wie ich das beheben könnte?

Hier das Scipt:

Code: Alles auswählen

<?php 
if(preg_match('/0|6/',date('w'))) echo '<b>Es ist Weekend! Und ab gehts...!</b>'; 
else 
{ 
$std = ((strtotime("Friday")-time())/60)/60+18; 
$stunden = floor($std); 
$min = ($std - $stunden) * 60; 
$minuten = round($min, 0); 
echo 'Noch <b>'.$stunden.' Stunden</b> und <b>'.$minuten.' Minuten</b> bis zum Weekend!'; 
} 
?> 
Vielen Dank im Voraus ...
---------------------------------
=Es lebe die Liebe!=
Dennis63
Ehemaliges Teammitglied
Beiträge: 2597
Registriert: 02.07.2003 18:46

Beitrag von Dennis63 »

Der Fehler leigt beim preg_match().

Mach doch die If-Abfrage mit dem preg_match() weg und dafür unten ne Abfrage, ob negative Zahlen vorhanden sind.

Ich kenne mich mit preg_match() nicht aus, aber Du könntest ja auch mit einer einfachen IF Abfrage schecken, ob das Ergebnis von date() ne 0 oder 6 ist.

Alternativ kannst Du auch auf php.net nachlesen, wie preg_match() genau funktioniert.

Grüße
Dennis
Benutzeravatar
netzmeister
Ehemaliges Teammitglied
Beiträge: 1146
Registriert: 02.05.2003 20:59
Wohnort: Freiburg
Kontaktdaten:

Beitrag von netzmeister »

Hallo,
nicht besonders schön, aber es funktioniert.

Code: Alles auswählen

<?php
if((date('w') == 5) && (date('H') >= 17) || (date('w') == 6) || (date('w') == 0))
  echo '<b>Es ist Weekend! Und ab gehts...!</b>';
else
{
  $std = ((strtotime("Friday")-time())/60)/60+18;
  $stunden = floor($std);
  $min = ($std - $stunden) * 60;
  $minuten = round($min, 0);
  echo 'Noch <b>'.$stunden.' Stunden</b> und <b>'.$minuten.' Minuten</b> bis zum Weekend!';
}
?>
Gruß netzmeister
Gruß netzmeister
Die "Suche" ist euer Freund
knalltrauma
Mitglied
Beiträge: 150
Registriert: 06.05.2004 17:14

Beitrag von knalltrauma »

Wow! Herzlichen Dank :-) Hab mein Script mit viel Mühe mit einem PHP Buch geschrieben...mein 1. Script quasi :D Kam einfach nicht mehr weiter... aber so scheints auch zu funzen...

Vielen lieben Dank!!!
---------------------------------
=Es lebe die Liebe!=
Antworten

Zurück zu „Coding & Technik“