PHP - Adventkalender

04 14 24 20 19 01 16 09 13 22 18 15 05 08 11 07 21 10 03 17 23 06 12 02

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(124);
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>&bdquo;' $spruch[floor($_GET['tuerchen'])] . '&rdquo;</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

Eine zufällige Auswahl von „Bausteinen” (Snippets) aus den Bereichen CSS, PHP, JavaScript und MySQL.

CSS - Animierte Box mit Keyframes

PHP - Datei alle fünf Sekunden aktualisieren

JavaScript - Iframe alle 10 Sekunden neu laden

MySQL - Mit mehreren Begriffen gleichzeitig suchen