Begrüßung nach Datum

Dandin

Grünschnabel
Kann mir einer helfen?
PHP:
<?php
$date = date("d");
$dates = date("m");
if ($date = 24) and ($dates = 12){
$froh = "Frohe Weihnachten!";
}
elseif($date = 27) and ($dates = 11){
$froh = "Erster Advent";
}
elseif($date = 04) and ($dates = 12){
$froh = "Zweiter Advent";
}
elseif($date = 11) and ($dates = 12){
$froh = "Dritter Advent";
}
elseif($date = 18) and ($dates = 12){
$froh = "Vierter Advent";
}
echo $froh;
?>
 
Hi

Kann mir einer helfen?
Wobei denn? Was ist das Problem, was geht nicht / was ist die Fehlermeldung?

In deinem Falle ist das Problem aber einfach:
PHP:
= //Setzt Werte
== //Liest Werte und vergleicht auf Wert-Gleichheit
=== //Liest Werte und vergleicht auf Wert- und Typ-Gleichheit

Zudem muss in php die Bedingung in Klammern stehen, bei dir tut sie das nicht.
Eine einfache Lösung ist also:

PHP:
<?php
$date = date("d");
$dates = date("m");
if (($date == "24") and ($dates == "12")) {
$froh = "Frohe Weihnachten!";
}
elseif(($date == "27") and ($dates == "11")){
$froh = "Erster Advent";
}
elseif(($date == "04") and ($dates == "12")){
$froh = "Zweiter Advent";
}
elseif(($date == "11") and ($dates == "12")){
$froh = "Dritter Advent";
}
elseif(($date == "18") and ($dates == "12")){
$froh = "Vierter Advent";
}
echo $froh;
?>


Kleine Erläuterung: In deinem Code ist ja
PHP:
if ($date = 24) and ($dates = 12) {
    //...
}
Was eigentlich passiert, ist aber das:
PHP:
$tmp = $date = 24; //-> $tmp = 24
if($tmp != 0) //true (false ist 0, true ist nicht 0)
{
    //Springe hier rein
    $tmp2 = $dates = 12; //-> $tmp2 = 12
    $tmp 3 = ??? and ($tmp2 != 0) //Fehler: Was soll verundet werden?
}
{
    //Wird immer ausgeführt, aber in einem anderen Scope. Oder "würde", da der Code so nicht laufen sollte.
    //...
}

Allerdings ist deine Nomenklatur für die Variablen ein bisschen verwirrend. Und warum liest du date nicht direkt als
PHP:
$datestring = date("dm");
und überprüfst dann einfach direkt die Strings, z.B.
PHP:
if ($date === "2412") { //hier ginge auch ($date == "2412")
    //...
} //...
?

Gruss
cwriter
 
Zuletzt bearbeitet:
Gerngeschehen :)

Mache PHP erst seit Montag:)
Oh, du darfst natürlich Fragen stellen / Fehler machen, das ist kein Problem, dafür sind wir ja da. Ich meinte mit meinem Anfangssatz
Wobei denn? Was ist das Problem, was geht nicht / was ist die Fehlermeldung?
nur, dass
Kann mir einer helfen?
nicht wirklich aussagekräftig ist. Bei diesem Problem kann man mit ein bisschen Erfahrung recht schnell sehen, was schief läuft, aber sobald es ein bisschen komplexer wird, müssten wir raten. Und daher sind wir immer froh, wenn genauer angegeben wird, was genau das Problem ist, was man eigentlich erreichen will, was momentan erreicht wird (sodass wir schnell sehen, wo der Unterschied ist) und, falls es eine Fehlermeldung gibt, sind wir auch für diese dankbar, denn meist sagt sie viel aus und nimmt einem sehr viele Mühen bei der Fehlersuche und beim Raten ab :)
Nimm es einfach als Hinweis für zukünftige Fragen und nicht als "Zusammenstauchen" auf, denn so ist es sicher nicht gemeint gewesen :)

Gruss
cwriter
 
Zurück