Mein PHP Kalender

Ja und was sehe ich das es geht :-) ich hab bloß vergessen euch den stylesheet mitzuliefern...

Aber den häng geb ich euch gleich. Ich mach hier gleich noch mal einen Richtigen Entwurf und erkläre ihn.
 
So und dann wäre es auch schon so weit.

Erst einmal zum Gebrauch, dierer Kalender ist eher ein Terminplan, welcher von mir entwickelt wurde um Termine aufzulisten.
Eine schöne Eigenschaft ist, dass er die Wochentage von dem im Editor eingegebenen Data kennt und diese Farbig vorne angiebt. Es soll eine gute übersicht schaffen.
Was man jedoch beachten sollte ist, das er nur neue Termine oder Aktuelle z.B. und alles was nach jetzt kommt nich das was schon war.
Umstylen kann ihn jeder Selbst wie er will, da die Wochentagsberechnung eine gute Grundlage bietet um vielfälltiges zu erstellen.

Wichtig ist auch das dieser Termienplan nur Daten angibt an denen ein Termien eingetragen ist.

Was auch interessant sein könnte ist, dass dieser Kalender auch ohne eine mySQL Datenbank funktioniert.

Das Kalendersystem besteht derweil aus 5 Dateien:
1. index.php : Dies ist die Ausgabedatei
2. data.php : In dieser Datei werden die Termine Gespeichert
3. style.css : In ihr ist der Style für die Wochentage festgelegt
4. edit\index.php : Diese Datei ist ein Editor mit dem neue Einträge generiert werden können.
5. edit\add.php : Diese Datei fügt die Daten aus dem Editor in die Datei data.php ein.

______

1. index.php:
PHP:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Unbenanntes Dokument</title>
<link rel=stylesheet href="style.css" type="text/css">
</head>
<body>
<?php
// Aktuelles Datum wird ermittelt
$j = date(j);
$n = date(n);
$Y = date(Y);
$w = date(w);
$L = date(L);
$zeit = time();
$datum = getdate($zeit);
$g = $datum[yday];
// Termine werden geladen
require "data.php";
$u = 30 // $u legt fest wie viele Termine angezeit werden sollen.
// Schleife beginnt und der Kalender wird nach und nach erzeugt
for($x=1;$x<$u;$s++){
// Wochentag des berechneten Datums wird erzeugt
if($w == 0){$day="SO";$w++;}
elseif($w == 1){$day="MO";$w++;}
elseif($w == 2){$day="DI";$w++;}
elseif($w == 3){$day="MI";$w++;}
elseif($w == 4){$day="DO";$w++;}
elseif($w == 5){$day="FR";$w++;}
elseif($w == 6){$day="SA"; $w=0;
};
// Variable wird erzeugt
$c = "t_" . $Y . "_" . $n . "_" . $j;
// Wenn die Variable vorhanden ist wird der eintrag erzeugt
if(isset($$c)){
// Farbabwechslung wird erzeugt
if($color=="#333333"){$color = "#000000";}
else{$color = "#333333";};
// HTML-tag wird ausgegeben
echo "<table border=0 cellpadding=3 cellspacing=3 width=777>";
echo " <tr>";
echo " <td class=$day align=center style=width:25px; >$day</td>";
echo " <td style=width:80px; ><div style=color:$color; >$j.$n.$Y</div></td>";
echo " <td align=left><p align=left style=color:$color; >" . $$c . "</p></td>";
echo " </tr>";
echo "</table>";
$x++;
};
// Tage werden weiter gezählt
$g++;
$j++;
// Jewweilige Monatslänge wird berechnet und um einen Monat weiter geschaltet
if($j==32){
$j = 1;
if($n==1){$m = 31;}
elseif($n==2){if($L==1){$g = $g - 2; $w = $w - 2;}else{$g = $g - 3; $w = $w - 3;};}
elseif($n==3){$m = 30;}
elseif($n==4){$g = $g - 1; $w = $w - 1;}
elseif($n==5){$m = 30;}
elseif($n==6){$g = $g - 1; $w = $w - 1;}
elseif($n==7){$m = 30;}
elseif($n==8){$m = 30;}
elseif($n==9){$g = $g - 1; $w = $w - 1;}
elseif($n==10){$m = 30;}
elseif($n==11){$g = $g - 1; $w = $w - 1;}
elseif($n==12){$m = 30;
};
$n++;
};
// Die Jahres länge wird berechnet und weitergeschaltet
if($L==0 && $g == 365){
$Y++;
$g = 0;
$n = 1;
$j = 1;
}
elseif($L==1 && $g == 366){
$Y++;
$g = 0;
$n = 1;
$j = 1;
};
if($s==100){$x=$u;} // $s==100 fragt wie viele Durchläfe der Server machen soll
};
?>
</body>
</html>
2. data.php:
Diese Datei kann außer Acht gelassen werden. Sie wird vom Editor bestückt.

3. Style:
Code:
/* CSS Document */
.mo {font-size:12px; text-align:center; font-weight:bold; padding:2px; color:black; border:0 solid black; background-color:#FF0000; margin:3px; padding-bottom:3px;}
.mi {font-size:12px; text-align:center; font-weight:bold; padding:2px; color:black; border:0 solid black; background-color:#00FF00; margin:3px; padding-bottom:3px;}
.di {font-size:12px; text-align:center; font-weight:bold; padding:2px; color:black; border:0 solid black; background-color:#0000FF; margin:3px; padding-bottom:3px;}
.do {font-size:12px; text-align:center; font-weight:bold; padding:2px; color:black; border:0 solid black; background-color:#FFFF00; margin:3px; padding-bottom:3px;}
.fr {font-size:12px; text-align:center; font-weight:bold; padding:2px; color:black; border:0 solid black; background-color:#00FFFF; margin:3px; padding-bottom:3px;}
.sa {font-size:12px; text-align:center; font-weight:bold; padding:2px; color:black; border:0 solid black; background-color:#FF00FF; margin:3px; padding-bottom:3px;}
.so {font-size:12px; text-align:center; font-weight:bold; padding:2px; color:black; border:0 solid black; background-color:#FF6600; margin:3px; padding-bottom:3px;}

4. edit\index.php:
PHP:
<form action="add.php" method="post">
<?php
echo "<select name=day >";
for($x=1;$x<32;$x++){
echo "<option value=" . $x . ">" . $x . "</option>";
};
echo "</select>";
echo "<select name=month >";
for($x=1;$x<13;$x++){
echo "<option value=" . $x . ">" . $x . "</option>";
};
echo "</select>";
$Y = date(Y);
echo "<select name=year>";
for($x=0;$x<3;$x++){
echo "<option value=" . $Y . ">" . $Y . "</option>";
$Y++;
};
echo "</select>";
?>
<input type="Text" name="time" value="Zeit" size="5" maxlength="5">
<input type="Text" name="termin" value="Termin" size="75" maxlength="300"><br>
<input type="submit" value="Speichern">
<input type="reset" value="Zurücksetzen">
</form>

5. edit\add.php:
PHP:
<?php
$fp = fopen("../data.php","a");
$var = "\n<?php $" . "t_" . $year . "_" . $month . "_" . $day . " = " . "'" . $time . " - " . $termin . "'; ?>";
fseek ($fp, 2,"SEEK_END");
fputs($fp, $var);
fclose($fp);
?>
<body><a href="index.php">Die Daten wurden übernommen, bitte klicken sie hier...</a></body>


So das wars dann auch schon, enpackt einfach die angehängte ZIP-Datei und gebt in dem Editor einfach mal ein Paar zukünftige Termine ein.

Ich habe natürlich nur eine Grundlage gebaut man könnte hunderte Funktionen einbauen, aber das könnt ihr ja selber machen.

Ach und ich bin mir sicher, es funktioniert einwandfrei.
 

Anhänge

Security hat gesagt.:
Hab ich zwar nicht, aber ich weiß wer :-)
http://wordpress.org/
Guck da mal nach und staune.
Ach und wenn ich mich richtig erinnere, poste ich den Link hier nicht zum ersten mal...
ich glaube ^^ du hast das falsch verstanden ^^, wollte nur nen kalender mit eintragen von daten in ein bestimmtes datum was dann angezeigt wird, ich glaube das kann ich nciht benutzen hat andere funktionen :/ als die die ich benötige oder weist du wo es ein gut verständliches tutorial gibt dafür ?
 
Äh wenn du das Datum selber eingibtst, warum willst du dann einen kalender?
Das was ich gebastelt habe ist auch im Grunde nur eine Wochentagsberechnung für ein Bestimmtest Datum.
 
ich will halt ein kallender damit ich es übersichtlich sehe was es alles gibt, für den monat, damit kann ich dann zurückblätern die monate und sehe immer was los war ^^, auserdem finde ich sieht es schöner aus für das was ich damit vorhätte :)
 
Ich will ja nix sagen aber dann stell dir doch 'n Kalender auf den Schreibtisch, dafür brauchst du kein PHP, sonder nur 2€.
Wenn du so einen Kalender wie auf http://veerle.duoh.com/index.php haben willst, dann geh auf http://wordpress.org/ da soll der nämlich herstammen.
Außerdem ist das ein Forum für PHP und du hast kein Problem mit PHP, sonder eins mit deiner Webseite. Geh ins Webmasterforum vielleicht hilft dir ja der wer weiter. Aber du kannst nicht erwarten das wir dir deine Seite schreiben.
Schnapp dir 'n ordentliches PHP-Buch und lerne.
 
ich habe nur gelich gefragt wo wir bei dem thema waren, wusste net das des von da kommt habe mir die page net genauer angeschaut aber auf der hersteller seite stand halt nix von etwas nur von dem einem script, und ja hab ein problem in php und zwar das ich das noch net so ganz ralle und das mit der zitat funktion. mit meiner website ist alles in ordnung :), sie steht wird besucht und funktioniert :P
 
Zurück