Text nach Uhrzeit, aber.. ?

nordi

Erfahrenes Mitglied
Hi, ich hab folgende Frage. Ich zeige mit einem PHP-Skript je nach Uhrzeit unterschiedliche Texte an, aber ich will jeden Sonntag zwischen 22.00 & 23.00 Uhr einen anderen Text ausgeben, weiß aber nicht, wie ich das realisieren soll.. Hier mein Skript:

PHP:
 <?php 
$datum = getdate();
$stund = $datum[hours];
if($stund >= 14 && $stund <= 20) 
{ echo "<strong class=\"header_program\">&quot;Strawberry fields&quot;</strong>"; } 
else 
{
if($stund >= 20 && $stund <= 23) 
{ echo "<strong class=\"header_program\">&quot;Pipe Dreams&quot;</strong>"; }
else 
{
if($stund >= 23 && $stund <= 4) 
{ echo "<strong class=\"header_program\">&quot;Night on Earth&quot;</strong>"; }
else 
{
if($stund >= 4 && $stund <= 5) 
{ echo "<strong class=\"header_program\">&quot;This is hardcore&quot;</strong>"; }
else 
{
if($stund >= 5 && $stund <= 14) 
{ echo "<strong class=\"header_program\">&quot;a dry cool place&quot;</strong>"; }
}
}
}
}
?>

Danke für Ideen!
 
?! Was hat das mit Zufallszahlen zu tun? Ich will ja nicht irgendeinen Text ausgeben. Ich will einfach nur, dass jeden Sonntag in der oben genannten Zeit der Text "Es ist Sonntag" ausgegeben wird.
 
Zuletzt bearbeitet:
Ok, super danke - ich werds gleich mal ausprobieren! Ich hab aber gerade gemerkt, dass das Skript oben nicht korrekt funktioniert. Irgendwie wechselt der Text nicht?! Ist da was falsch?
 
Gib mal $stund aus und schau ob er dir die aktuelle stunde ausgibt,
dann weisst du zumindest schon das es bei if liegt.

Wieso tust du die if Anweisung so tief verschachteln

if ($bal>$bla)
{
}
elseif($bla< $bal)
{
}
else
{

}
 
Zuletzt bearbeitet:
Ja $stund gibt "23" aus. Was ja momentan stimmt. Aber eigentlich sollte es nun den Text "Night on Earth" ausgeben.. und nicht "Pipe Dreams"

Stimmt da was mit den = < > Zeichen nicht? Eigentlich nicht, oder?
 
Ja $stund gibt "23" aus. Was ja momentan stimmt. Aber eigentlich sollte es nun den Text "Night on Earth" ausgeben.. und nicht "Pipe Dreams"

Stimmt da was mit den = < > Zeichen nicht? Eigentlich nicht, oder?
23 ist sowohl >= 20 als auch <= 23, also wird vollkommen korrekt „Pipe Dreams“ ausgegeben. „Night on Earth“ kann überhaupt nicht ausgegeben werden, da $stund dazu sowohl >= 23 als auch <= 4 sein müsste.

Grüße,
Matthias
 
Hallo,

du solltest die Bedingungen so abändern, dass sie sich nicht mehr „überschneiden“. Derzeit ist es ja so, dass der Wert 23 sowohl die Bedingung ($stund >= 20 && $stund <= 23) als auch die Bedingung ($stund >= 23 || $stund <= 4) (man beachte das ||, das ich gerade für das && eingesetzt habe) erfüllt. Die erste Bedingung „gewinnt“ nur, weil sie weiter oben in der if-else-Reihe steht.

Grüße,
Matthias
 
Zurück