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 Inhalt auf Dreamcodes entsteht mit einem klaren Anspruch: geprüfte Praxis statt schneller Theorie. Was hier veröffentlicht wird, basiert auf Best Practices, echten Projekterfahrungen und technischem Verständnis, das über das Offensichtliche hinausgeht. Unser Ziel ist ein Fundament, auf dem du aufbauen kannst, nicht eines, das beim ersten produktiven Einsatz bricht. Wie du die Inhalte integrierst, absicherst und in deinen Kontext überträgst, liegt bei dir. Die fachliche Grundlage liefern wir, die Verantwortung für den Einsatz bleibt deine.
Vorheriges Tutorial
Nächstes Tutorial

Vielleicht einen Blick WERT?