PHP - Adventkalender
16 23 06 12 10 18 08 19 13 04 07 15 09 01 20 24 05 14 17 21 22 11 02 03
Heute ist der 20.04.2024
„Spruch 20 ...”
In dieser Demo ist jeder Monat aktiv, man braucht also nur den heutigen Tag (1-24) auszuwählen.
<?php
// Adventkalender
// Peter Ortner / Werner Zenk
// Monat
// Zum testen auf den aktuellen Monat stellen
$monat = 12;
// Sprüche zu Weihnachten
$spruch[1] = 'Spruch 1 ...';
$spruch[2] = 'Spruch 2 ...';
$spruch[3] = 'Spruch 3 ...';
$spruch[4] = 'Spruch 4 ...';
$spruch[5] = 'Spruch 5 ...';
$spruch[6] = 'Spruch 6 ...';
$spruch[7] = 'Spruch 7 ...';
$spruch[8] = 'Spruch 8 ...';
$spruch[9] = 'Spruch 9 ...';
$spruch[10] = 'Spruch 10 ...';
$spruch[11] = 'Spruch 11 ...';
$spruch[12] = 'Spruch 12 ...';
$spruch[13] = 'Spruch 13 ...';
$spruch[14] = 'Spruch 14 ...';
$spruch[15] = 'Spruch 15 ...';
$spruch[16] = 'Spruch 16 ...';
$spruch[17] = 'Spruch 17 ...';
$spruch[18] = 'Spruch 18 ...';
$spruch[19] = 'Spruch 19 ...';
$spruch[20] = 'Spruch 20 ...';
$spruch[21] = 'Spruch 21 ...';
$spruch[22] = 'Spruch 22 ...';
$spruch[23] = 'Spruch 23 ...';
$spruch[24] = 'Spruch 24 ...';
// Farben
$tag_nein = 'bg-rot';
$tag_ja = 'bg-gruen';
?>
<!DOCTYPE html>
<html lang="de-at">
<head>
<meta charset="UTF-8">
<title>Adventkalender</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<style>
body {font:130% "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;color:#000;text-align:left;font-weight:300;}
.content {display:block;background:#eee;width:80%;margin:50px auto 0 auto;padding:50px;}
.ausgabe {margin-top:50px;}
.footer {text-align:center;margin-top:50px;}
a {text-decoration:none;}
.bg-rot {background:#800;color:#fff;margin:2px;padding:15px 25px;line-height:60px;text-align:right;}
.bg-gruen {background:#690;color:#fff;margin:2px;padding:15px 25px;line-height:60px;}
</style>
</head>
<body>
<section class="content">
<?php
$tage = range(1, 24);
shuffle($tage);
$weihnachtsTag = false;
foreach ($tage as $tag) {
echo ' <a href="?tuerchen=' . sprintf("%02d", $tag) . '" class="';
if (isset($_GET['tuerchen']) &&
($_GET['tuerchen'] . '.' . sprintf("%02d", $monat) . '.' . date('Y')) == date("d.m.Y") &&
$_GET['tuerchen'] == $tag) {
echo $tag_ja;
$weihnachtsTag = true;
}
else {
echo $tag_nein;
}
echo '">' . sprintf("%02d", $tag) . ' </a>';
}
if (isset($_GET['tuerchen'])) {
if ($weihnachtsTag) {
echo '<div class="ausgabe">Heute ist der ' . (date('d') . '.' . sprintf("%02d", $monat) . '.' . date('Y')) .
'<br>„' . $spruch[floor($_GET['tuerchen'])] . '”</div>';
}
else {
echo '<div class="ausgabe">Ujeee... Du hast den falschen Tag erwischt, da heute nicht der ' . ($_GET['tuerchen'] . '.' . sprintf("%02d", $monat) . '.' . date('Y')) . ' ist.</div>';
}
}
?>
</section>
<footer class="footer">
<a href="./">zurück</a>
</footer>
</body>
</html>
Bausteine Alle Anzeigen
Eine zufällige Auswahl von Codeschnipseln
aus den Bereichen
HTML, CSS,
PHP, JavaScript und
MySQL.
<section> Abschnitt
CSS - Verwendung von Datenattributen (data-*)
PHP - Suchen und hervorheben mit preg_replace_callback()