PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Dynamischer Kalender



Vampir87
13.11.2007, 18:31
Hi zusammen,
Ich habe hier schon nach etwas ähnlichen gesucht, hab es leider bisher
nur nicht finden können.

Ich suche einen Tutorial oder irgendwas was mir etwas helfen kann.

Ich suche nehmlich ein Dynamischen Kalender in PHP, wo man Eintrage auch hinterlassen kann.

Bsp.: http://www.darkdistricts.de/wbb2/calendar.php

-=Player=-
14.11.2007, 12:27
http://www.php-free.de/Kalender/more6.html
http://www.php-resource.de/scripte/browsesub/PHP/Calendar/1/

Vampir87
14.11.2007, 13:44
Die Seite habe ich auch schon durch geschaut, nur da ist nichts was mir wirklich helfen könnte.

Mericon
14.11.2007, 14:22
habs mir nicht genau angesehn aber vielleicht kann das hier helfen:

http://phplearn.mali.ch/tutorial/34/show/

Vampir87
15.11.2007, 15:43
Kann es sein, dass dieser PHP Code in einer Javascript funktion stekt?
Wenn ja dann ist die Seite nichts für, da ich nichts mit Javascript machen will,
aussicherheits halber, da man Javascript ja ausschalten kann.

Irgendwie versteh ich voll den Tutorial nicht, auch wenn das mit PHP geschrieben ist, versteh ich voll den sinn nicht wieso dort dauernt PHP geöffnet und geschlossen wird.

Trozdem Danke für den Link

Vampir87
18.12.2007, 11:22
Tach zusammen,
so hab jetzt einen Code gefunden, den ich umschreiben musste, da funpic die funktion mit sqli nicht unterstützt -.-, naja kann man nichts machen auser das um zu schreiben. Nun habe ich es Umgeschrieben und einige Fehler konnte ich auch schon beseitigen, den einen Fehler kann ich nur nicht beseitigen, kann mir jemand dabei helfen.
Hier sind alle Codes:
kalender.php

<div align="center">
<h2>Kalender</h2>


<?php

error_reporting (E_ALL);
include_once("config.inc.php");

// Prüfen - Monatsauswahl
$aktMonat = (isset($_POST['monat'])) ? $_POST['monat'] : date('n');

// Prüfen - Jahresauswahl
$aktJahr = (isset($_POST['jahr'])) ? $_POST['jahr'] : date('Y');



// Lokales Datum ermitteln und verarbeiten
setlocale(LC_TIME, '');

$monat = strftime('%B', mktime(0,0,0,$aktMonat,1,$aktJahr));

// Erster Tag des aktuellen Monats
$ersterTag = strftime('%w', mktime(0,0,0,$aktMonat,1,$aktJahr));
$ersterTag = ($ersterTag == 0) ? 7 : $ersterTag;

// Letzter Tag des aktuellen Monats
$letzterTag = date('t', mktime(0,0,0,$aktMonat,1,$aktJahr));

// Listemenü Auswahl aktualisieren (Monat/Jahr)
$auswahListe[$aktMonat] = 'selected';
$auswahListe[$aktJahr] = 'selected';


// SQL-Abfrage (Termine/Datensätze auslesen)
$monatForm = (intval($aktMonat) < 10) ? "0" . $aktMonat : $aktMonat;
$sql_befehl = "SELECT * from kalender where termindatum LIKE '$aktJahr-$monatForm%' ORDER BY termindatum";
$resultat = mysql_query($sql_befehl) or die(mysql_error());
// Termine - Termine für den Monat erfassen
$termintage = array();

while ($row = $resultat->mysql_fetch_object())
{
$zeitstempel = strtotime($row->termindatum);
$termintag = strftime('%d', $zeitstempel);
array_push($termintage,$termintag);
}

echo <<<TABANFANG
<table width="300">
<tr bgcolor="#ffff00">
<th colspan="5">$monat</th><th colspan="2">$aktJahr</th>
</tr>
<tr>
<th>Mo</th><th>Di</th><th>Mi</th><th>Do</th><th>Fr</th><th>Sa</th><th>So</th>
</tr>
<tr>
TABANFANG;

// Tabelleninhalt - Tagesauswahl des aktuellen Monats
for ($i=0, $d=1; $i < $letzterTag; $i++, $d++)
{

// Prüfen - Monatsnummer (falls nötig Formatierung)
$monatForm = (intval($aktMonat) < 10) ? "0" . $aktMonat : $aktMonat;

// Prüfen - Tagenummer (falls nötig Formatierung)
$tagForm = (intval($d) < 10) ? "0" . $d : $d;

// Hyperlink - Datumsformatierung
$linkDatum = "$aktJahr-$monatForm-$tagForm";

// Termine - Markierung
$marker = "";
foreach($termintage as $wert)
{
if ($tagForm == $wert)
{
$marker = "red";
}
}

// Prüfen und Monatsanfang und sonstige Tage ausgeben
if ($i == 0)
{
printf('<td colspan="%d" align="right" bgcolor="%s">%02d (terminverwaltung.php?termindatum=%s)</td>', $ersterTag, $marker, $linkDatum, $d);
}
else
{
printf('<td align="right" bgcolor="%s">%02d (terminverwaltung.php?termindatum=%s)</td>', $marker, $linkDatum, $d);
}

// Prüfen und neue Tabellenzeile ausgeben
if (($i + $ersterTag) % 7 == 0)
{
echo '</tr><tr">';
}

}

echo <<<TABENDE
</tr></table>
TABENDE;

echo <<<AUSWAHLSTEUERUNG
<form action="{$_SERVER['PHP_SELF']}" method="post">
<table width="300">
<tr class="latestnews">
<td>
<input type="submit" name="zurueck" value="<" />
</td>
<td>
<select name="monat">
<option $auswahListe[1] value="1">Januar</option>
<option $auswahListe[2] value="2">Februar</option>
<option $auswahListe[3] value="3">M&auml;rz</option>
<option $auswahListe[4] value="4">April</option>
<option $auswahListe[5] value="5">Mai</option>
<option $auswahListe[6] value="6">Juni</option>
<option $auswahListe[7] value="7">Juli</option>
<option $auswahListe[8] value="8">August</option>
<option $auswahListe[9] value="9">September</option>
<option $auswahListe[10] value="10">Oktober</option>
<option $auswahListe[11] value="11">November</option>
<option $auswahListe[12] value="12">Dezember</option>
</select>
<select name="jahr">
<option $auswahListe[2005] value="2005">2005</option>
<option $auswahListe[2006] value="2006">2006</option>
<option $auswahListe[2007] value="2007">2007</option>
<option $auswahListe[2008] value="2008">2008</option>
<option $auswahListe[2009] value="2009">2009</option>
<option $auswahListe[2010] value="2010">2010</option>
</select>
<input type="submit" name="anzeigen" value="Anzeigen" />
</td>
<td>
<input type="submit" name="weiter" value=">" />
</td>
</tr>
</table>
</form>
AUSWAHLSTEUERUNG;

// Monatsschalter - Nächster Monat
if (strlen($_POST['weiter']) > 0)
{
$aktMonat++;
if ($aktMonat == 13)
{
$aktMonat = 1;
$aktJahr++;
}
}

// Monatsschalter - Vorheriger Monat
if (strlen($_POST['zurueck']) > 0)
{
$aktMonat--;
if ($aktMonat == 0)
{
$aktMonat = 12;
$aktJahr--;
}
}
?>
</div>



config.inc.php

<?php
$db_fehler_datenbank = "
<html>
<head>
<title>Banner</title>
<link rel='stylesheet' href='css/main.css' type='text/css'>
</head>
<body bgcolor='#FFFFFF' text='#000000'>
<table width='300' align='center'>
<tr>
<td align='center' class='latestnews' colspan='3'>- FEHLER -



Die Datenbank sind z.Z. nicht abrufbar.</p>
Versuchen Sie es bitte später nochmal!

</td>
</tr>
</table>
</body>
</html>
";

$db_fehler_daten = "
<table width='300' align='center'>
<tr>
<td align='center' class='latestnews' colspan='3'>- FEHLER -



Die Daten sind z.Z. nicht abrufbar.</p>
Versuchen Sie es bitte später nochmal!

</td>
</tr>
</table>
";

$db_fehler_erzeugen = "
<table width='300' align='center'>
<tr>
<td align='center' colspan='3'>- FEHLER -



Termin konnte nicht angelegt werden!</p>
Versuchen Sie es bitte später nochmal!



Zurück ('javascript:history.back()')</p>
</td>
</tr>
</table>
";

$db_fehler_entfernen = "
<table width='300' align='center'>
<tr>
<td align='center' class='latestnews' colspan='3'>- FEHLER -



Termin konnte nicht gelöscht werden!</p>
Versuchen Sie es bitte später nochmal!



Zurück ('javascript:history.back()')</p>
</td>
</tr>
</table>
";

// Verbindung aufbauen
$db = mysql_connect("localhost","","") or die($db_fehler_datenbank);
$db .= mysql_select_db("rzsud");

// Verbindung überprüfen
if (mysql_errno()) {
echo $db_fehler_daten;
exit();
}

// Validations und SQL-Injetction-Protection
include_once("sqlprotect.inc.php");
include_once("datenreiniger.inc.php");
?>

datenreiniger.inc.php
<?php

// Datenreiniger Filter (z.B. für Eingabetextfelder)
function daten_reiniger($wert) {
if (!empty($wert)) {
//HTML- und PHP-Code entfernen.
$wert = strip_tags($wert);
//Sonderzeichen in
//HTML-Schreibweise umwandeln
$wert = htmlspecialchars($wert,ENT_QUOTES);
//Entfernt überflüssige Zeichen
//Anfang und Ende einer Zeichenkette
$wert = trim($wert);
//Backslashes entfernen
$wert = stripslashes($wert);
}
return $wert;
}

// Aufruf
// $gereinigter_kommentar = daten_reiniger($_POST[kommentar]);

// Datenreiniger Filter (Variante mit htmlentities())
// Hinweis zu htmlentities(): Die Funktion ist komplett
// identisch zu htmlspecialchars(), allerdings wandelt
// htmlentities() wirklich alle Zeichen, die eine
// HTML-Code-Entsprechung haben, in diese Entsprechung
// um.
function daten_reiniger_ext($wert) {
if (!empty($wert)) {
//HTML- und PHP-Code entfernen.
$wert = strip_tags($wert);
//Umlaute und Sonderzeichen in
//HTML-Schreibweise umwandeln
$wert = htmlentities($wert,ENT_QUOTES);
//Entfernt überflüssige Zeichen
//Anfang und Ende einer Zeichenkette
$wert = trim($wert);
//Backslashes entfernen
$wert = stripslashes($wert);
}
return $wert;
}

// Aufruf
// $gereinigter_kommentar = daten_reiniger_ext($_POST[kommentar]);

?>
install.php

<?php
error_reporting (E_ALL);
include_once("config.inc.php");
$install_sql="CREATE TABLE $dbtablle(
termindatum datetime NOT NULL,
nutzerid varchar (255),
kategorie varchar(50),
dauer INT NOT NULL,
notiz text,
PRIMARY KEY (termindatum, nutzerid)
");
@$resultat = $db->query($install_sql);

if($resultat)
{
echo "<center>Installation war erfolgreich


<font color='#ff0000'>Lösch die install.php</font></center>";
}
else
{
echo"Fehler beim installieren, prüfe config.inc.php";
}

?>sqlprotect.inc.php
<?php
error_reporting (E_ALL);
// Simple Version (für einfache Variablen)
function sqli_protect($wert,$db)
{
// Überflüssige Maskierungen aus der
// übergebenen Variable entfernen
if (get_magic_quotes_gpc())
{
$wert = stripslashes($wert);
}
// Übergebenen Variablewert in Anführungszeichen
// setzen, sofern keine Zahl oder ein
// numerischer String vorliegt
if (!is_numeric($wert))
{
$wert = "'" . mysqli_real_escape_string($db,$wert) . "'";
}
return $wert;
}

// Erweiterte Version (für einfache Variaben und Arrays)
// Hinweis: Durch die Rekursion ist diese Funktion etwas langsamer!
function sqli_protect_ext($wert,$db)
{
if( is_array($wert) )
{
return array_map("sqli_protect_ext", $wert);
}
else
{
// Überflüssige Maskierungen aus der
// übergebenen Variable entfernen
if( get_magic_quotes_gpc() )
{
$wert = stripslashes($wert);
}
// Ubergebene Variblenwert, welche einen Leer
// String besitzen, werden durch ein NULL ersetzt
if( $wert == '' )
{
$wert = 'NULL';
}
// Übergebenen Variablewert in Anführungszeichen
// setzen, sofern keine Zahl oder ein
// numerischer String vorliegt
if( !is_numeric($wert) || $wert[0] == '0' )
{
$wert = "'" . mysqli_real_escape_string($db,$wert) . "'";
}
return $wert;
}
}

?>
terminverwaltung.php
<?php
error_reporting (E_ALL);
// Weiterleitung zur Kalenderauswahl
if (!isset($_REQUEST[termindatum])) {
header("Location:kalender.php");
}

?>

<div align="center">
<form method="POST" action="terminverwaltung.php">
<?php

include_once("config.inc.php");

// Termin - Entfernen
if (isset($_POST[loeschen]))
{
$daten = explode(",",$_POST[entfernen]);

// SQL-Abfrage (Termin/Datensatz entfernen)
$sql_befehl = "DELETE FROM $kalender WHERE nutzerid=" .
sqli_protect($daten[0],$db) . " AND termindatum=" .
sqli_protect($daten[1],$db);

$resultat = $db->query($sql_befehl) or die ($db_fehler_entfernen);
}

// Termin - Eintragen
if (isset($_POST[abschicken]))
{
$stunde = ($_POST[stunde] < 10) ? "0" . $_POST[stunde] : $_POST[stunde];

$termin = "$_POST[termindatum] $stunde:00:00";

// SQL-Abfrage (Termin/Datensatz hinzufügen)
$sql_befehl = "INSERT INTO $dbtabelle
(termindatum,notiz,nutzerid,kategorie,dauer)
VALUES
('$termin',"
. sqli_protect(daten_reiniger_ext($_POST[notiz]),$db) . ","
. sqli_protect(daten_reiniger_ext($_POST[nutzerid]),$db) . ","
. sqli_protect(daten_reiniger_ext($_POST[kategorie]),$db) . ","
. sqli_protect(daten_reiniger_ext($_POST[dauer]),$db) . ")";

$resultat = $db->query($sql_befehl) or die ($db_fehler_erzeugen);

echo "
<table width='600'>
<tr align='center'>
<td><h2>Termin - Gespeichert!</h2></td>
</tr>
</table>
";

// echo "

Termin - Gespeichert!</p>";
}

// SQL-Abfrage (Termine/Datensätze auslesen)
$sql_befehl = "SELECT * from kalender where termindatum LIKE '$_REQUEST[termindatum]%' ORDER BY termindatum";
$resultat = $db->query($sql_befehl) or die ($db_fehler_daten);

// Termindatum umwandeln von YYYY-MM-DD -> Tag, DD. Monat YYYY
setlocale (LC_TIME, 'de_DE@euro', 'de_DE', 'de', 'ge');
$zeitstempel = strtotime($_REQUEST[termindatum]);
$datumsausgabe = strftime('%A, %d. %B %Y', $zeitstempel);

// Prüfen - Termine
if (!$resultat->num_rows)
{
echo "
<table width='600'>
<tr align='center'>
<td class='latestnews'><h2>Noch keine Termine</h2></td>
</tr>
</table>
";

// echo "Noch keine Termine

";
}
else
{
echo "
<table width='600'>
<tr align='center'>
<td class='latestnews'><h2>Termine für $datumsausgabe</h2></td>
</tr>
</table>
";

// echo "Termine für $datumsausgabe
";
}

echo <<<TABANFANG
<table width='600' colspan='5'>
<tr align='left'>
<td class='latestnews'>Termine</td>
</tr>
<tr>
<td class='autor'>
<table width='100%' border='0' cellspacing='2' cellpadding='2'>
<tr>
<td class='autorblack'>Uhrzeit</td>
<td class='autorblack'>Dauer</td>
<td class='autorblack'>Nutzer</td>
<td class='autorblack'>Termin-Typ</td>
<td class='autorblack'>L&ouml;schen</td>
</tr>
TABANFANG;

// Termine - Auflisten (Tabelleninhalt)
while ($row = $resultat->fetch_object())
{

// Termindatum umwandeln von YYYY-MM-DD auf DD-MM-YYYY
$zeitstempel = strtotime($row->termindatum);
$uhrzeit = date('H:i', $zeitstempel);

echo "
<tr>
<td class='autor'>$uhrzeit</td>
<td class='autor'>$row->dauer Stunden</td>
<td class='autor'>$row->nutzerid</td>
<td class='autor'>$row->kategorie</td>
<td class='autor'><input type='radio' value='$row->nutzerid,$row->termindatum' name='entfernen'></td>
</tr>
<tr>
<td class='autor'><span class='autorblack'>Notiz</span></td>
<td colspan='4' class='autor'>$row->notiz</td>
</tr>
<td colspan='5' class='latestnews'></td>
";
}

echo <<<TABENDE
</table>
</td>
</tr>
<tr>
<td class='latestnews'></td>
</tr>
</table>
TABENDE;

?>



<input type="hidden" name="termindatum" value="<?php echo $_REQUEST[termindatum];?>">
</p>



<input type="submit" name="loeschen" value="Termine - L&ouml;schen">
</p>
</form>
<form method="POST" action="terminverwaltung.php">


Termin hinzufügen für <?php echo $datumsausgabe; ?>

<input type="hidden" name="termindatum" value="<?php echo $_REQUEST[termindatum];?>">
</p>
<table width="600" border="0" cellspacing="2" cellpadding="2">
<tr>
<td colspan="2" align="left" valign="top" class="latestnews"></td>
</tr>
<tr>
<td align="left" valign="top">Uhrzeit:
<select name="stunde">
<option selected="selected" value="1">01:00</option>
<option value="2">02:00</option>
<option value="3">03:00</option>
<option value="4">04:00</option>
<option value="5">05:00</option>
<option value="6">06:00</option>
<option value="7">07:00</option>
<option value="8">08:00</option>
<option value="9">09:00</option>
<option value="10">10:00</option>
<option value="11">11:00</option>
<option value="12">12:00</option>
<option value="13">13:00</option>
<option value="14">14:00</option>
<option value="15">15:00</option>
<option value="16">16:00</option>
<option value="17">17:00</option>
<option value="18">18:00</option>
<option value="19">19:00</option>
<option value="20">20:00</option>
<option value="21">21:00</option>
<option value="22">22:00</option>
<option value="23">23:00</option>
</select></td>
<td align="left" valign="top">Termin Notiz:</td>
</tr>
<tr>
<td align="left" valign="top">

Nutzer:

<input type="text" name="nutzerid">


Ereignis Kategorie:

<input type="text" name="kategorie">


Dauer (in Stunden):

<input type="text" name="dauer">
</p> </td>
<td align="left" valign="top">


<textarea name="notiz" cols="50" rows="6"></textarea>
</p> </td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="abschicken" value="Termin - Eintragen"></td>
</tr>
<tr>
<td colspan="2" class="latestnews"></td>
</tr>
<tr>
<td colspan="2" align="center">Z&uuml;rck zum Kalender (index.php)</td>
</tr>
</table>
</form>


</div>


Added after 71 hours 2 minutes:

Hi zusammen, hab jetzt den Code soweit bearbeitet wie es geht, es wird nur noch ein fehler mir ausgegeben bzw. kann ich die Monate nicht weiter und zurück gehen wieso?
Code:

<div align="center">
<?php
error_reporting(E_ALL);

include_once("db.inc.php");

$aktmonat = (isset($_POST['monat'])) ? $_POST['monat'] : date('n');
$aktjahr =(isset($_POST['jahr'])) ? $_POST['jahr'] : date('Y');



//Mit setlocale ist es mögliche Zeitformate einzustellen
//Wirkt auf Datum und Zeitformatierung mit strftime()

$zeitconfig=setlocale(LC_TIME,'de_DE@euro','de_DE' ,'de','ge');

//$monat = zeitformatierunhg(January bis Dezember,Zeitstempel)
$monat = strftime('%B', mktime(0,0,0,$aktmonat,1,$aktjahr));

//%w= 0sonstag-6Samstag
$erstertag = strftime('%w', mktime(0,0,0,$aktmonat,1,$aktjahr));
$erstertag = ($erstertag == 0) ? 7 : $erstertag;
//t=tag im monat
$letztertag= date('t',mktime(0,0,0,$aktmonat,1,$aktjahr));


$monatform = (intval($aktmonat) < 10) ? '0' . $aktmonat : $aktmonat;

$resultat = mysql_query($selecttb) or die (mysql_error());

$termintage = array();

while ($row = mysql_fetch_object($resultat))
{
$zeitstempel = strtotime($row->termindatum);
$termintag = strftime('%d', $zeitstempel);
array_push($termintage,$termintag);
}

echo "
<table width='300' border='1'>
<tr bgcolor='#ffff00'>
<th colspan='5'>$monat</th><th colspan='2'>$aktjahr</th>
</tr>
<tr>
<th>Mo</th><th>Di</th><th>Mi</th><th>Do</th><th>Fr</th><th>Sa</th><th>So</th>
</tr>
<tr>";

// Tabelleninhalt - Tagesauswahl des aktuellen Monats
for ($i=0, $d=1; $i < $letztertag; $i++, $d++)
{

// Prüfen - Monatsnummer (falls nötig Formatierung)
$monatForm = (intval($aktmonat) < 10) ? "0" . $aktmonat : $aktmonat;

// Prüfen - Tagenummer (falls nötig Formatierung)
$tagform = (intval($d) < 10) ? "0" . $d : $d;

// Hyperlink - Datumsformatierung
$linkdatum = "$aktjahr-$monatform-$tagform";

// Termine - Markierung
$marker = "";
foreach($termintage as $wert)
{
if ($tagform == $wert)
{
$marker = "red";
}
}

// Prüfen und Monatsanfang und sonstige Tage ausgeben
if ($i == 0)
{
printf('<td colspan="%d" align="right" bgcolor="%s">%02d (terminverwaltung.php?termindatum=%s)</td>', $erstertag, $marker, $linkdatum, $d);
}
else
{
printf('<td align="right" bgcolor="%s">%02d (terminverwaltung.php?termindatum=%s)</td>', $marker, $linkdatum, $d);
}

// Prüfen und neue Tabellenzeile ausgeben
if (($i + $erstertag) % 7 == 0)
{
echo '</tr><tr">';
}

}


echo <<<TABENDE
</tr></table>
TABENDE;

echo "
<form action='kalender.php' method='post'>
<table width='300'>
<tr>
<td>
<input type='submit' name='zurueck' value='<<' />
</td>
echo"<td>
<input type='submit' name='weiter' value='>>' />
</td>
</tr>
</table>
</form>";

//Monatschalter Weiter
if ($_POST[weiter] > 0)
{
$aktmonat++;
if($aktmonat==13)
{
$aktmonat=1;
$aktjahr++;
}
}

//Monatschalter Zrurück
if($_POST[zurueck] > 0)
{
$aktmonat--;
if($aktmonat == 0)
{
$aktjahr--;
$aktmonat=12;
}
}


?>



Added after 1 minutes:

Hi zusammen, hab jetzt den Code soweit bearbeitet wie es geht, es wird nur noch ein fehler mir ausgegeben bzw. kann ich die Monate nicht weiter und zurück gehen wieso?
Code:

<div align="center">
<?php
error_reporting(E_ALL);

include_once("db.inc.php");

$aktmonat = (isset($_POST['monat'])) ? $_POST['monat'] : date('n');
$aktjahr =(isset($_POST['jahr'])) ? $_POST['jahr'] : date('Y');



//Mit setlocale ist es mögliche Zeitformate einzustellen
//Wirkt auf Datum und Zeitformatierung mit strftime()

$zeitconfig=setlocale(LC_TIME,'de_DE@euro','de_DE' ,'de','ge');

//$monat = zeitformatierunhg(January bis Dezember,Zeitstempel)
$monat = strftime('%B', mktime(0,0,0,$aktmonat,1,$aktjahr));

//%w= 0sonstag-6Samstag
$erstertag = strftime('%w', mktime(0,0,0,$aktmonat,1,$aktjahr));
$erstertag = ($erstertag == 0) ? 7 : $erstertag;
//t=tag im monat
$letztertag= date('t',mktime(0,0,0,$aktmonat,1,$aktjahr));


$monatform = (intval($aktmonat) < 10) ? '0' . $aktmonat : $aktmonat;

$resultat = mysql_query($selecttb) or die (mysql_error());

$termintage = array();

while ($row = mysql_fetch_object($resultat))
{
$zeitstempel = strtotime($row->termindatum);
$termintag = strftime('%d', $zeitstempel);
array_push($termintage,$termintag);
}

echo "
<table width='300' border='1'>
<tr bgcolor='#ffff00'>
<th colspan='5'>$monat</th><th colspan='2'>$aktjahr</th>
</tr>
<tr>
<th>Mo</th><th>Di</th><th>Mi</th><th>Do</th><th>Fr</th><th>Sa</th><th>So</th>
</tr>
<tr>";

// Tabelleninhalt - Tagesauswahl des aktuellen Monats
for ($i=0, $d=1; $i < $letztertag; $i++, $d++)
{

// Prüfen - Monatsnummer (falls nötig Formatierung)
$monatForm = (intval($aktmonat) < 10) ? "0" . $aktmonat : $aktmonat;

// Prüfen - Tagenummer (falls nötig Formatierung)
$tagform = (intval($d) < 10) ? "0" . $d : $d;

// Hyperlink - Datumsformatierung
$linkdatum = "$aktjahr-$monatform-$tagform";

// Termine - Markierung
$marker = "";
foreach($termintage as $wert)
{
if ($tagform == $wert)
{
$marker = "red";
}
}

// Prüfen und Monatsanfang und sonstige Tage ausgeben
if ($i == 0)
{
printf('<td colspan="%d" align="right" bgcolor="%s">%02d (terminverwaltung.php?termindatum=%s)</td>', $erstertag, $marker, $linkdatum, $d);
}
else
{
printf('<td align="right" bgcolor="%s">%02d (terminverwaltung.php?termindatum=%s)</td>', $marker, $linkdatum, $d);
}

// Prüfen und neue Tabellenzeile ausgeben
if (($i + $erstertag) % 7 == 0)
{
echo '</tr><tr">';
}

}


echo <<<TABENDE
</tr></table>
TABENDE;

echo "
<form action='kalender.php' method='post'>
<table width='300'>
<tr>
<td>
<input type='submit' name='zurueck' value='<<' />
</td>
echo"<td>
<input type='submit' name='weiter' value='>>' />
</td>
</tr>
</table>
</form>";

//Monatschalter Weiter
if ($_POST[weiter] > 0)
{
$aktmonat++;
if($aktmonat==13)
{
$aktmonat=1;
$aktjahr++;
}
}

//Monatschalter Zrurück
if($_POST[zurueck] > 0)
{
$aktmonat--;
if($aktmonat == 0)
{
$aktjahr--;
$aktmonat=12;
}
}


?>