Veröffentlicht 26. August 200916 j Hallo an alle! Ich möchte mit php mein Hintergrundbild je nach Tageszeit ändern. Die bilder speicher ich dabei in einem Array ab und je nach Uhrzeit soll sich das Hintergrund anpassen. Nur leider bekomme ich immer einen weißen Hintergrund... Wo liegt mein Fehler? Die Bilder liegen im Ordner "images" Danke! <?php $time = date("H:i"); echo $time; $background = array ( '07:00' => '<img src="images/bg.jpg">', '11:30' => '<img src="images/bg_sun.jpg">', '19:00' => '<img src="images/bg_night.jpg">'); ?> <body style="background: <?php echo $background;?> repeat-x;"> [/php]
26. August 200916 j Hui, da paßt einiges nicht. Zunächst wird ein Hintergrundbild in CSS so definiert: background-image: url(images/bg.jpg); ...also ohne das <img>-Tag rundrum. Dann gibst du mit echo $background; nicht ein einzelnes Array-Element, sondern einfach das ganze Array aus...schau dir mal das resultierende HTML an: <body style="background: Array repeat-x;"> Und schlußendlich würde das Ganze auch nur dann funktionieren, wenn es exakt sieben Uhr, halb zwölf oder neunzehn Uhr ist. Da gehört also noch eine entsprechende Logik rein. Bearbeitet 26. August 200916 j von azett
26. August 200916 j Danke für deine Antwort! Ich habe jetzt noch eine entsprechende Logik eingebaut und auf url geändert. Und in echo gebe ich jetzt den entsprechenden hintergrund aus Kannst du mir sagen, warum es trotzdem nicht funkioniert? <?php $date = date("h"); $background[0] = 'url(images/bg.jpg)'; $background[1] = 'url(images/bg_sun.jpg)'; $background[2] = 'url(images/bg_night.jpg)'; if($date > 6 AND $date <= 11 ) { $index=0; } elseif($date > 11 AND $date <= 19 ) { $index=1; } else { $index=2; } ?> <body style="background:<?php echo ".$background[$index]."?> repeat-x;"> [/php]
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.