Dienstag, 18 November 2025

Top 5 diese Woche

Ähnliche Tutorials

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>";
?>
Vorheriges Tutorial

Lesetipps für dich