PHP - Adventkalender

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

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” aus den Bereichen CSS, PHP, JavaScript und MySQL.

CSS - Lightbox

PHP - Prüfen ob ein Array leer ist

JavaScript - Verzögerte Umleitung mit JavaScript

MySQL - Datensatz Wert um 5% erhöhen