• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Bildwechsel Jahreszeiten abhängig

Status
Für weitere Antworten geschlossen.

sabf

Neues Mitglied
Hallo,

ich wollte mal eure Meinung zu meinem kleine php-script hören.
Es soll auf meiner HP ein Bild austauschen je nachdem welche Jahreszeit zur Zeit ist. Ist das von mir so gedachte ok?

PHP:
$m=date('m');

if ($m< 3 OR ($m ==3) OR ($m == 12)) $wp=winterbild.jpg; # von dez-märz ist winter
elseif ($m <6 OR ($m ==6)) $wp=fruehlingsbild.jpg; # von april bis juni ist frühling
elseif ($m <9 OR ($m == 9)) $wp=sommerbild.jpg; #von juni bis september ist sommer
else $wp=herbstbild.jpg; #den rest der Zeit ist Herbst

echo "<img src="$wp" alt="$wp" /img>"
Vielen Dank schonmal.:-)
 
Zuletzt bearbeitet:
Werbung:
PHP:
$m = date('m')
So müsst es doch sein, oder? Nicht data.
Sonst ist es ne ganz nette Idee. ;-)

Gruß Corvulus
 
Werbung:
Bekommst nu mit der Funktion die Werte 01; 02; ...; 03. Ausgegeben, wenn du in date("") nu ein n statt ein m einfügst, dann bekomsmt du alel Werte ohne die 0. Ist für den Rechenprozess aber glaube ich egal.
PHP:
$m = date("n");
Aus
PHP:
if ($m< 3 OR ($m ==3) OR ($m == 12)) $wp=winterbild.jpg;
kannst du auch
PHP:
if ($m<=3) or ($m == 12) $wp=winterbild.jpg;
machen.

Gruß Corvulus
 
Die ganzen Abfragen lassen sich verkuerzen:

$m <6 OR ($m ==6)
wird zu
$m <= 6

Und es sind Fehler drin, die Bildernamen muessen in Anfuehrungszeichen sein, Strings verbindet man mit einem Punkt und du brauchst ein Semikolon am Ende jeder Zeile.

Im uebrigen rechnet dein Script nicht ganz richtig, da der Jahreszeitwechsel nicht am Anfang eines Monats erfolgt und jedes Jahr an einem anderen Datum ist: Jahreszeiten - Wikipedia


So wuerde ich es machen:
PHP:
$zeiten = array("1.jpg",
                "2.jpg",
                "3.jpg",
                "4.jpg");
$bild = $zeiten[floor((date('n') % 12) / 3)];
(ungetestet)
 
Zuletzt bearbeitet von einem Moderator:
Mir ist noch ein Fehler aufgefallen:
PHP:
echo "<img src="$wp" alt="$wp" /img>";
sollte so sein
PHP:
echo "<img src=\"$wp\" alt=\"$wp\" />";
//oder so
echo "<img src=\"".$wp."\" alt=\"".$wp."\" />";
 
Werbung:
Mir ist noch ein Fehler aufgefallen:
PHP:
echo "<img src="$wp" alt="$wp" /img>";
sollte so sein
PHP:
echo "<img src=\"$wp\" alt=\"$wp\" />";
//oder so
echo "<img src=\"".$wp."\" alt=\"".$wp."\" />";

Warum doppelte Anführnungszeichen mit dem Effekt, dass der Inhalt unnötig von PHP geparsed werden und enthaltene Anführungszeichen maskiert werden müssen?
PHP:
echo '<img src="' . $wp . '" alt="' . $wp . '" />';
 
Warum doppelte Anführnungszeichen mit dem Effekt, dass der Inhalt unnötig von PHP geparsed werden und enthaltene Anführungszeichen maskiert werden müssen?
PHP:
echo '<img src="' . $wp . '" alt="' . $wp . '" />';

Weil man sich ganz allgemein angewoehnen sollte, doppelte Anfuehrungszeichen zu benutzen (\r\n funkioniert in einfachen nicht).
 
Werbung:
Du lieferst echt nur Schwache Argumente, "" und '' unterscheiden sich nicht voneinander außer das Variablen ausgegeben werden bzw. nicht ausgegeben werden und das manche Escape-Sequenzen funktionieren bzw. nicht funktionieren.

Geparst werden beide Varianten so oder so, sonst würden sie ja wohl nicht angezeigt werden?!
Gerade bei langen echo-Befehlen notwendig.
Lol?! Bei langen echo befehlen kann man einfach die sachen mit . trennen wenn man es übersichtlich möchte oder die HereDoc Syntax benutzen
PHP:
echo <<<LST
Ein ganz super
langer string 
der kein Ende hat
und auch nicht
unübersichtlich ist
Oder etwa doch ?
LST;
 
Werbung:
Du lieferst echt nur Schwache Argumente, "" und '' unterscheiden sich nicht voneinander außer das Variablen ausgegeben werden bzw. nicht ausgegeben werden und das manche Escape-Sequenzen funktionieren bzw. nicht funktionieren.

Geparst werden beide Varianten so oder so, sonst würden sie ja wohl nicht angezeigt werden?!

Lol?! Bei langen echo befehlen kann man einfach die sachen mit . trennen wenn man es übersichtlich möchte oder die HereDoc Syntax benutzen
PHP:
echo <<<LST
Ein ganz super
langer string 
der kein Ende hat
und auch nicht
unübersichtlich ist
Oder etwa doch ?
LST;

ich kenne auch den HereDoc Syntax! Nur finde ich den unpassend...
Aber wenn ihr eben gerne die doppelten Ausrufezeichen maskieren wollt, habe ich nichts dagegen. Nur wollte ich die beste Lösung vorschlagen. Frank hat den Syntax verbessert, ich habe eben noch einen drauf gesetzt. Sozusagen, die Superlative...
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben