Donnerstag, 26 Februar 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
Qualität als Standard. Verantwortung als Prinzip. Jede Ressource auf Dreamcodes basiert auf geprüften Best Practices und fundierter Praxiserfahrung. Unser Anspruch ist ein belastbares Fundament statt experimenteller Lösungen. Die Integration und Absicherung der Inhalte liegt in Ihrem Ermessen. Wir liefern die fachliche Basis, die Verantwortung für den produktiven Einsatz verbleibt bei Ihnen.
Vorheriges Tutorial
Nächstes Tutorial

Vielleicht einen Blick WERT?