Samstag, 10 Januar 2026

Diese Woche am beliebtesten

Vertiefendes Material

Kalender Schnipsel

Unser Responsiver Kalender Codeschnipsel mit farblich markierten Events, Monatswechsel und mobilem Layout. Einfach Termine anzeigen, wichtige Tage hervorheben und Kalender direkt nutzen.

<?php
$monat = isset($_GET['monat']) ? (int)$_GET['monat'] : date('n');
$jahr  = isset($_GET['jahr']) ? (int)$_GET['jahr'] : date('Y');
$vorherigerMonat = $monat - 1;
$naechsterMonat  = $monat + 1;
$vorjahr = $jahr;
$nachjahr = $jahr;
if ($vorherigerMonat < 1) { $vorherigerMonat = 12; $vorjahr--; }
if ($naechsterMonat > 12) { $naechsterMonat = 1; $nachjahr++; }
$events = [
    "$jahr-$monat-05" => "Meeting mit Team",
    "$jahr-$monat-12" => "Geburtstag Max",
    "$jahr-$monat-20" => "Projekt-Deadline"
];
$erster_tag = mktime(0, 0, 0, $monat, 1, $jahr);
$tage_im_monat = date('t', $erster_tag);
$wochentag_start = date('N', $erster_tag); // 1 = Mo
$monatsname = date('F', $erster_tag);
echo '<style>
table { width: 100%; border-collapse: collapse; margin-bottom: 15px; }
th, td { border: 1px solid #ccc; padding: 10px; text-align: center; }
th { background: #f4f4f4; }
td.today { background: #ffeb3b; }
td.event { background: #4caf50; color: #fff; font-weight: bold; }
@media(max-width:600px) { td, th { padding:5px; font-size:12px; } }
a.nav { text-decoration:none; color:#333; font-weight:bold; }
</style>';
echo "<h2 style='text-align:center;'>
<a href='?monat=$vorherigerMonat&jahr=$vorjahr' class='nav'>&lt; vorheriger</a> 
$monatsname $jahr 
<a href='?monat=$naechsterMonat&jahr=$nachjahr' class='nav'>nächster &gt;</a>
</h2>";
echo "<table>";
echo "<tr><th>Mo</th><th>Di</th><th>Mi</th><th>Do</th><th>Fr</th><th>Sa</th><th>So</th></tr><tr>";
for ($i = 1; $i < $wochentag_start; $i++) echo "<td></td>";
$tag_counter = $wochentag_start;
for ($tag = 1; $tag <= $tage_im_monat; $tag++) {
    $datum = "$jahr-$monat-$tag";
    $classes = [];
    if ($datum === date('Y-n-j')) $classes[] = 'today';
    if (isset($events[$datum])) $classes[] = 'event';
    $classAttr = $classes ? " class='" . implode(" ", $classes) . "'" : "";
    $eventText = $events[$datum] ?? '';
    echo "<td$classAttr>$tag<br><small>$eventText</small></td>";
    if ($tag_counter % 7 == 0) echo "</tr><tr>";
    $tag_counter++;
}
while (($tag_counter - 1) % 7 != 0) {
    echo "<td></td>";
    $tag_counter++;
}
echo "</tr></table>";
echo "<div style='text-align:center; font-size:12px; color:#555;'>
Powered by <a href='https://www.dreamcodes.net' target='_blank' style='color:#555; text-decoration:none;'>Dreamcodes</a>
</div>";
?>
Dreamcodes Redaktion
Dreamcodes Redaktion
Jeder auf Dreamcodes bereitgestellte Codeschnipsel sowie jede Tutorial Anleitung basiert auf geprüften Best Practices und fundierter Praxiserfahrung. Ziel ist es, ein belastbares technisches Fundament bereitzustellen und keine unausgereiften oder experimentellen Lösungen zu veröffentlichen. Die konkrete Nutzung, Integration, Anpassung und Absicherung der Inhalte obliegt jedoch dem Anwender. Vor dem produktiven Einsatz sind sämtliche Inhalte eigenverantwortlich zu prüfen, zu testen und gegebenenfalls abzusichern. Dreamcodes stellt die technische Grundlage zur Verfügung, die finale Umsetzung und Verantwortung verbleibt beim Nutzer.
Vorheriges Tutorial
Nächstes Tutorial

Vielleicht einen Blick WERT?