🎄 Mein PHP Adventskalender 🎄

123456789101112131415161718192021222324

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>