🎄 Mein PHP Adventskalender 🎄
Kalender zurücksetzen
Der Quellcode dieser Seite:
<?php
// Grundeinstellungen und Variablen
$nachricht = ""; // Hier speichern wir den Text für das Türchen
$anzeigeKlasse = ""; // Für CSS (z.B. rot bei Fehler, grün bei Erfolg)
// Aktuelles Datum holen
$heuteTag = date('j'); // Tag des Monats (1-31)
$heuteMonat = date('n'); // Monat (1-12)
// Prüfen, ob ein Türchen geklickt wurde (über URL-Parameter ?tag=X)
if (isset($_GET['tag'])) {
$geklickt = (int)$_GET['tag'];
// ==========================================
// THEMA 2: VERZWEIGUNGEN (If / Else)
// Darf das Türchen geöffnet werden?
// ==========================================
// Hinweis: Zum Testen im November kann man "$heuteMonat == 12" entfernen!
if ($heuteMonat == 12 && $geklickt > $heuteTag) {
$nachricht = "Nicht schummeln! ⛔ Heute ist erst der $heuteTag. Dezember.";
$anzeigeKlasse = "fehler";
} else {
// ==========================================
// THEMA 3: SWITCH-ANWEISUNG
// Was steckt hinter welchem Türchen?
// ==========================================
switch ($geklickt) {
case 1:
$nachricht = "Ein Stück Schokolade! 🍫";
break;
case 6:
$nachricht = "Der Nikolaus war da! 🎅";
break;
case 24:
$nachricht = "Frohe Weihnachten! 🎄";
break;
// Zusammengefasste Fälle
case 2:
case 3:
case 4:
case 5:
$nachricht = "Eine kleine Süßigkeit 🍬";
break;
default:
$nachricht = "Eine schöne Überraschung! ✨";
break;
}
$anzeigeKlasse = "erfolg";
}
}
?>
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<title>PHP Adventskalender</title>
<style>
body { font-family: sans-serif; background-color: #2c3e50; color: white; text-align: center; }
/* Das Raster */
.kalender-grid {
display: grid;
grid-template-columns: repeat(6, 1fr);
gap: 10px;
max-width: 800px;
margin: 20px auto;
}
/* Die Türchen (jetzt Links) */
.tuerchen {
background-color: #c0392b;
color: white;
height: 80px;
display: flex;
align-items: center;
justify-content: center;
font-size: 20px;
text-decoration: none; /* Unterstrich weg */
border-radius: 5px;
border: 2px solid #e74c3c;
transition: 0.3s;
}
.tuerchen:hover { background-color: #e74c3c; transform: scale(1.05); }
/* Meldungs-Box */
.meldung {
padding: 20px;
margin: 20px auto;
max-width: 600px;
border-radius: 10px;
font-size: 1.2em;
display: none; /* Standardmäßig unsichtbar */
}
/* Klassen für PHP-Logik */
.meldung.sichtbar { display: block; }
.fehler { background-color: #e74c3c; border: 2px solid white; }
.erfolg { background-color: #27ae60; border: 2px solid white; }
</style>
</head>
<body>
<h1>🎄 Mein PHP Adventskalender 🎄</h1>
<!-- Hier wird die Nachricht angezeigt, wenn PHP eine hat -->
<div class="meldung <?php if($nachricht != "") echo "sichtbar $anzeigeKlasse"; ?>">
<?php echo $nachricht; ?>
</div>
<div class="kalender-grid">
<?php
// ==========================================
// THEMA 1: SCHLEIFEN (For-Loop)
// Wir erstellen 24 Links mit PHP
// ==========================================
for ($i = 1; $i <= 24; $i++) {
echo "<a href='?tag=$i' class='tuerchen'>$i</a>";
}
?>
</div>
<p><a href="index.php" style="color: #bdc3c7;">Kalender zurücksetzen</a></p>
<hr style="margin-top: 50px; border-color: #7f8c8d;">
<!-- Aufgabe: Quellcode anzeigen -->
<h3>Der Quellcode dieser Seite:</h3>
<div style="text-align: left; background: #fff; color: #000; padding: 20px; border-radius: 8px; overflow-x: auto;">
<?php highlight_file(__FILE__); ?>
</div>
</body>
</html>